accept/ignore --gcc5abi option during packaging.
[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 MAKESELF=""
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         --makeself)
43                 MAKESELF=`which makeself`;
44                 shift ;;
45
46         --singlearch) SINGLE_ARCH="T" ; shift ;;
47
48         --gcc5abi) shift ;;
49
50         *)
51                 #catch all for unknown arguments
52                 echo ""
53                 echo "!!! ERROR !!! - Unknown argument $1"
54                 echo ""
55                 exit 1
56                 ;;
57         esac
58 done
59
60 . ../define_versions.sh
61
62 if [ x$DEBUG = xT ]; then
63         BUILDTYPE="dbg"
64 fi
65
66 X86_BUNDLE="${APPNAME}_x86-${release_version}"
67 X86_64_BUNDLE="${APPNAME}_x86_64-${release_version}"
68
69 if [ ! -z ${BUILDTYPE} ]; then
70         X86_BUNDLE="${X86_BUNDLE}-${BUILDTYPE}"
71         X86_64_BUNDLE="${X86_64_BUNDLE}-${BUILDTYPE}"
72 fi 
73
74 if [ ! -e ${X86_BUNDLE}.tar.bz2 ] ; then
75         echo ""
76         echo "Can't locate x86 bundle file ${X86_BUNDLE}.tar.bz2"
77         echo ""
78 elif [ ! -e ${X86_BUNDLE}.size ] ; then
79         echo ""
80         echo "Can't locate x86 bundle size file ${X86_BUNDLE}.size"
81         echo ""
82 else
83         X86_BUNDLE_OK="T"
84 fi
85
86 if [ ! -e ${X86_64_BUNDLE}.tar.bz2 ]; then
87         echo ""
88         echo "Can't locate x86_64 bundle file ${X86_64_BUNDLE}.tar.bz2"
89         echo ""
90 elif [ ! -e ${X86_64_BUNDLE}.size ]; then
91         echo ""
92         echo "Can't locate x86 bundle size file ${X86_BUNDLE}.size"
93         echo ""
94 else
95         X86_64_BUNDLE_OK="T"
96 fi
97
98
99 if [ "${X86_BUNDLE_OK}" = "F" ] || [ "${X86_64_BUNDLE_OK}" = "F" ]; then
100         if [ "${X86_BUNDLE_OK}" = "${X86_64_BUNDLE_OK}" ]; then
101                 echo ""
102                 echo "!!! ERROR !!! - Can't locate bundle files ${X86_BUNDLE} or ${X86_64_BUNDLE}"
103                 echo ""
104                 exit 1
105         elif [ "${SINGLE_ARCH}" = "T" ]; then
106                 echo ""
107                 echo "!!! Warning !!! - A single architecture package has been selected"
108                 echo ""
109         else
110                 echo ""
111                 echo "!!! ERROR !!! - Missing bundle files."
112                 echo ""
113                 exit 1
114         fi
115 fi
116
117
118
119 if [ -z ${BUILDTYPE} ]; then
120         if [ "${SINGLE_ARCH}" = "T" ]; then
121                 if [ "${X86_BUNDLE_OK}" = "T" ]; then
122                         PACKAGE="${APPNAME}_32bit-${release_version}"
123                 else
124                         PACKAGE="${APPNAME}_64bit-${release_version}"
125                 fi
126         else
127                 PACKAGE="${APPNAME}-${release_version}"
128         fi
129 else
130         if [ "${SINGLE_ARCH}" = "T" ]; then
131                 if [ "${X86_BUNDLE_OK}" = "T" ]; then
132                         PACKAGE="${APPNAME}_32bit-${release_version}-${BUILDTYPE}"
133                 else
134                         PACKAGE="${APPNAME}_64bit-${release_version}-${BUILDTYPE}"
135                 fi
136         else
137                 PACKAGE="${APPNAME}-${release_version}-${BUILDTYPE}"
138         fi
139 fi 
140
141
142 echo "Cleaning up any old package files for this build"
143 #Get rid of any old packages of this same name.
144 rm -f ${PACKAGE}.tar.bz2
145 rm -rf ${PACKAGE}
146
147
148 echo "Creating new package dir..."
149 mkdir ${PACKAGE}
150
151 if [ "${X86_BUNDLE_OK}" = "T" ]; then
152         mv ${X86_BUNDLE}.tar.bz2 ${PACKAGE}
153         mv ${X86_BUNDLE}.size ${PACKAGE}/.${X86_BUNDLE}.size
154 fi
155
156 if [ "${X86_64_BUNDLE_OK}" = "T" ]; then
157         mv ${X86_64_BUNDLE}.tar.bz2 ${PACKAGE}
158         mv ${X86_64_BUNDLE}.size ${PACKAGE}/.${X86_64_BUNDLE}.size
159 fi
160
161 cp install.sh ${PACKAGE}
162 cp stage2.run ${PACKAGE}/.stage2.run
163 cp README ${PACKAGE}
164
165 if test -n "$MAKESELF"; then
166         echo "Creating self-extracting installer"
167         $MAKESELF --nocomp ${PACKAGE}/ ${PACKAGE}.run ${APPNAME} ./install.sh
168 else
169         echo "Creating tarball..."
170         tar -cf ${PACKAGE}.tar ${PACKAGE}
171 fi
172
173 echo "Clean up"
174 rm -rf ${PACKAGE}
175 rm -f stage2.run
176
177 echo ""
178 echo "Done"
179 echo ""