aboutsummaryrefslogtreecommitdiff
path: root/scripts/auto-build/pd-main-auto-builder.sh
blob: bdf455aff1f54a89653187d044057dd9fed4b9bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/sh

# the source dir where this script is
SCRIPT_DIR=$(echo $0 | sed 's|\(.*\)/.*$|\1|')
. $SCRIPT_DIR/auto-build-common

# the name of this script
SCRIPT=$(echo $0| sed 's|.*/\(.*\)|\1|g')

case $SYSTEM in 
	 linux)
		  configure_options="--enable-alsa --enable-jack"
		  platform_name=$(uname -m)
		  ;;
	 darwin)
		  configure_options=""
		  platform_name=$(uname -p)
		  ;;
	 mingw*)
		  configure_options=""
		  platform_name=i386
		  ;;
	 cygwin*)
		  configure_options=""
		  platform_name=i386
		  ;;
	 *)
		  echo "ERROR: Platform $SYSTEM not supported!"
		  exit
		  ;;
esac

# convert into absolute path
cd $(echo $0 | sed 's|\(.*\)/.*$|\1|')/../..
auto_build_root_dir=$(pwd)
echo "root: $auto_build_root_dir" 


# let rsync handle the cleanup with --delete
rsync -av --delete rsync://${RSYNC_SERVER}/distros/pd-main/ \
	 ${auto_build_root_dir}/

case $SYSTEM in 
	 darwin)
		  archive_format=dmg
		  archive=$(ls -1 ${auto_build_root_dir}/packages/darwin_app/Pd*.dmg)
		  upload_filename=$(ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|")
		  cd ${auto_build_root_dir}/packages/darwin_app/
		  make package_clean
		  make test_locations
		  make darwin_app_core && \
				make readme_install && \
				make package && \
				rsync -a ${archive} \
				rsync://${RSYNC_SERVER}/upload/${DATE}/${upload_filename} && \
                                echo "successfully uploaded: ${upload_filename}" && \
				echo SUCCESS
		  ;;
	 *)
		  package_name="/tmp/pd-${DATE}-${SYSTEM}-${HOSTNAME}-${platform_name}.tar.bz2"
		  cd ${auto_build_root_dir}/pd/src && \
				autoconf && \
				./configure $configure_options && \
				make  && \
				cd ../../ && \
				tar cjf $package_name pd && \
				rsync -a ${package_name} rsync://${RSYNC_SERVER}/upload/${DATE}/ && \
				rm -f -- ${package_name} && \
                                echo "successfully uploaded: ${package_name}" && \
				echo SUCCESS
		  ;;
esac