no real point running gzip on the package tarball
[ardour.git] / tools / linux_packaging / package
1 \#!/bin/bash
2
3 # package
4
5 # This will collect up the x86 and x86_64 bundles created by build
6 # and package them together with an installer script.
7
8 STRIP=1
9 BUILDTYPE=""
10 SINGLE_ARCH="F"
11 X86_BUNDLE_OK="F"
12 X86_64_BUNDLE_OK="F"
13
14
15 if [ $# -eq 0 ] ; then
16         echo ""  
17         echo "ERROR - Please specify build type"
18         echo "    --public"
19         echo "    --sae"
20         echo ""  
21         exit 1
22 fi
23
24 while [ $# -gt 0 ] ; do
25         echo "arg = $1"
26         case $1 in
27
28         #
29         # top level build targets
30         #
31
32         --sae)
33                 APPNAME=Ardour ;
34                 shift ;;
35         --mixbus)
36                 APPNAME=Mixbus ;
37                 shift ;;
38         --public)
39                 APPNAME=Ardour ;
40                 shift ;;
41
42         --nostrip) STRIP= ; shift ;;
43         --singlearch) SINGLE_ARCH="T" ; shift ;;
44
45         *)
46                 #catch all for unknown arguments
47                 echo ""
48                 echo "!!! ERROR !!! - Unknown argument $1"
49                 echo ""
50                 exit 1
51                 ;;
52         esac
53 done
54
55 release_version=`grep -m 1 '^VERSION' ../../wscript | awk '{print $3}' | sed "s/'//g"`
56 svn_version=`grep -m 1 'svn_revision =' ../../libs/ardour/svn_revision.cc | cut -d"'" -f 2`
57
58 # Figure out the Build Type
59 if grep -q "DEBUG = True" ../../build/c4che/default.cache.py; then
60         DEBUG="T"
61 else
62         DEBUG="F"
63 fi
64
65 if [ x$DEBUG != x ]; then
66         if [ x$STRIP != x ]; then
67                 BUILDTYPE="strip"
68         else
69                 BUILDTYPE="dbg"
70         fi
71 fi
72
73
74 if [ -z ${BUILDTYPE} ]; then
75         X86_BUILD="${APPNAME}_x86-${release_version}_${svn_version}.tar.bz2"
76         X86_64_BUILD="${APPNAME}_x86_64-${release_version}_${svn_version}.tar.bz2"
77 else
78         X86_BUILD="${APPNAME}_x86-${release_version}_${svn_version}-${BUILDTYPE}.tar.bz2"
79         X86_64_BUILD="${APPNAME}_x86_64-${release_version}_${svn_version}-${BUILDTYPE}.tar.bz2"
80 fi 
81
82
83 if [ ! -e ${X86_BUILD} ]; then
84         echo ""
85         echo "Can't locate x86 bundle file ${X86_BUILD}"
86         echo ""
87 else
88         X86_BUNDLE_OK="T"
89 fi
90
91 if [ ! -e ${X86_64_BUILD} ]; then
92         echo ""
93         echo "Can't locate x86_64 bundle file ${X86_64_BUILD}"
94         echo ""
95 else
96         X86_64_BUNDLE_OK="T"
97 fi
98
99
100 if [ "${X86_BUNDLE_OK}" = "F" ] || [ "${X86_64_BUNDLE_OK}" = "F" ]; then
101         if [ "${X86_BUNDLE_OK}" = "${X86_64_BUNDLE_OK}" ]; then
102                 echo ""
103                 echo "!!! ERROR !!! - Can't locate bundle files ${X86_BUILD} or ${X86_64_BUILD}"
104                 echo ""
105                 exit 1
106         elif [ "${SINGLE_ARCH}" = "T" ]; then
107                 echo ""
108                 echo "!!! Warning !!! - A single architecture package has been selected"
109                 echo ""
110         else
111                 echo ""
112                 echo "!!! ERROR !!! - Missing bundle files."
113                 echo ""
114                 exit 1
115         fi
116 fi
117
118
119
120 if [ -z ${BUILDTYPE} ]; then
121         if [ "${SINGLE_ARCH}" = "T" ]; then
122                 if [ "${X86_BUNDLE_OK}" = "T" ]; then
123                         PACKAGE="${APPNAME}_32bit-${release_version}_${svn_version}"
124                 else
125                         PACKAGE="${APPNAME}_64bit-${release_version}_${svn_version}"
126                 fi
127         else
128                 PACKAGE="${APPNAME}-${release_version}_${svn_version}"
129         fi
130 else
131         if [ "${SINGLE_ARCH}" = "T" ]; then
132                 if [ "${X86_BUNDLE_OK}" = "T" ]; then
133                         PACKAGE="${APPNAME}_32bit-${release_version}_${svn_version}-${BUILDTYPE}"
134                 else
135                         PACKAGE="${APPNAME}_64bit-${release_version}_${svn_version}-${BUILDTYPE}"
136                 fi
137         else
138                 PACKAGE="${APPNAME}-${release_version}_${svn_version}-${BUILDTYPE}"
139         fi
140 fi 
141
142
143 echo "Cleaning up any old package files for this build"
144 #Get rid of any old packages of this same name.
145 rm -f ${PACKAGE}.tar.bz2
146 rm -rf ${PACKAGE}
147
148
149 echo "Creating new package dir..."
150 mkdir ${PACKAGE}
151
152 if [ "${X86_BUNDLE_OK}" = "T" ]; then
153         mv ${X86_BUILD} ${PACKAGE}
154 fi
155
156 if [ "${X86_64_BUNDLE_OK}" = "T" ]; then
157         mv ${X86_64_BUILD} ${PACKAGE}
158 fi
159
160 cp install.sh ${PACKAGE}
161 cp stage2.run ${PACKAGE}/.stage2.run
162 cp README ${PACKAGE}
163
164 echo "Creating tarball..."
165 tar -cf ${PACKAGE}.tar ${PACKAGE}
166
167 echo "Clean up"
168 rm -rf ${PACKAGE}
169
170 echo ""
171 echo "Done"
172 echo ""