update packaging tools to always use revision.cc to determine version number, not...
[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 BUILDTYPE=""
9 SINGLE_ARCH="F"
10 X86_BUNDLE_OK="F"
11 X86_64_BUNDLE_OK="F"
12
13
14 if [ $# -eq 0 ] ; then
15         echo ""  
16         echo "ERROR - Please specify build type"
17         echo "    --public"
18         echo "    --sae"
19         echo ""  
20         exit 1
21 fi
22
23 while [ $# -gt 0 ] ; do
24         echo "arg = $1"
25         case $1 in
26
27         #
28         # top level build targets
29         #
30
31         --sae)
32                 APPNAME=Ardour ;
33                 shift ;;
34         --mixbus)
35                 APPNAME=Mixbus ;
36                 shift ;;
37         --public)
38                 APPNAME=Ardour ;
39                 shift ;;
40
41         --singlearch) SINGLE_ARCH="T" ; shift ;;
42
43         *)
44                 #catch all for unknown arguments
45                 echo ""
46                 echo "!!! ERROR !!! - Unknown argument $1"
47                 echo ""
48                 exit 1
49                 ;;
50         esac
51 done
52
53 . ../define_versions.sh
54
55 if [ x$DEBUG = xT ]; then
56         BUILDTYPE="dbg"
57 fi
58
59 X86_BUNDLE="${APPNAME}_x86-${release_version}"
60 X86_64_BUNDLE="${APPNAME}_x86_64-${release_version}"
61
62 if [ ! -z ${BUILDTYPE} ]; then
63         X86_BUNDLE="${X86_BUNDLE}-${BUILDTYPE}"
64         X86_64_BUNDLE="${X86_64_BUNDLE}-${BUILDTYPE}"
65 fi 
66
67 if [ ! -e ${X86_BUNDLE}.tar.bz2 ] ; then
68         echo ""
69         echo "Can't locate x86 bundle file ${X86_BUNDLE}.tar.bz2"
70         echo ""
71 elif [ ! -e ${X86_BUNDLE}.size ] ; then
72         echo ""
73         echo "Can't locate x86 bundle size file ${X86_BUNDLE}.size"
74         echo ""
75 else
76         X86_BUNDLE_OK="T"
77 fi
78
79 if [ ! -e ${X86_64_BUNDLE}.tar.bz2 ]; then
80         echo ""
81         echo "Can't locate x86_64 bundle file ${X86_64_BUNDLE}.tar.bz2"
82         echo ""
83 elif [ ! -e ${X86_64_BUNDLE}.size ]; then
84         echo ""
85         echo "Can't locate x86 bundle size file ${X86_BUNDLE}.size"
86         echo ""
87 else
88         X86_64_BUNDLE_OK="T"
89 fi
90
91
92 if [ "${X86_BUNDLE_OK}" = "F" ] || [ "${X86_64_BUNDLE_OK}" = "F" ]; then
93         if [ "${X86_BUNDLE_OK}" = "${X86_64_BUNDLE_OK}" ]; then
94                 echo ""
95                 echo "!!! ERROR !!! - Can't locate bundle files ${X86_BUNDLE} or ${X86_64_BUNDLE}"
96                 echo ""
97                 exit 1
98         elif [ "${SINGLE_ARCH}" = "T" ]; then
99                 echo ""
100                 echo "!!! Warning !!! - A single architecture package has been selected"
101                 echo ""
102         else
103                 echo ""
104                 echo "!!! ERROR !!! - Missing bundle files."
105                 echo ""
106                 exit 1
107         fi
108 fi
109
110
111
112 if [ -z ${BUILDTYPE} ]; then
113         if [ "${SINGLE_ARCH}" = "T" ]; then
114                 if [ "${X86_BUNDLE_OK}" = "T" ]; then
115                         PACKAGE="${APPNAME}_32bit-${release_version}"
116                 else
117                         PACKAGE="${APPNAME}_64bit-${release_version}"
118                 fi
119         else
120                 PACKAGE="${APPNAME}-${release_version}"
121         fi
122 else
123         if [ "${SINGLE_ARCH}" = "T" ]; then
124                 if [ "${X86_BUNDLE_OK}" = "T" ]; then
125                         PACKAGE="${APPNAME}_32bit-${release_version}-${BUILDTYPE}"
126                 else
127                         PACKAGE="${APPNAME}_64bit-${release_version}-${BUILDTYPE}"
128                 fi
129         else
130                 PACKAGE="${APPNAME}-${release_version}-${BUILDTYPE}"
131         fi
132 fi 
133
134
135 echo "Cleaning up any old package files for this build"
136 #Get rid of any old packages of this same name.
137 rm -f ${PACKAGE}.tar.bz2
138 rm -rf ${PACKAGE}
139
140
141 echo "Creating new package dir..."
142 mkdir ${PACKAGE}
143
144 if [ "${X86_BUNDLE_OK}" = "T" ]; then
145         mv ${X86_BUNDLE}.tar.bz2 ${PACKAGE}
146         mv ${X86_BUNDLE}.size ${PACKAGE}/.${X86_BUNDLE}.size
147 fi
148
149 if [ "${X86_64_BUNDLE_OK}" = "T" ]; then
150         mv ${X86_64_BUNDLE}.tar.bz2 ${PACKAGE}
151         mv ${X86_64_BUNDLE}.size ${PACKAGE}/.${X86_64_BUNDLE}.size
152 fi
153
154 cp install.sh ${PACKAGE}
155 cp stage2.run ${PACKAGE}/.stage2.run
156 cp README ${PACKAGE}
157
158 echo "Creating tarball..."
159 tar -cf ${PACKAGE}.tar ${PACKAGE}
160
161 echo "Clean up"
162 rm -rf ${PACKAGE}
163
164 echo ""
165 echo "Done"
166 echo ""