3
3
# buildrpms.sh
4
4
# ---------------------
5
5
# Date : March 2014
6
- # Copyright : (C) 2014 by Matthias Kuhn
6
+ # Copyright : (C) 2014-2019 by Matthias Kuhn
7
7
# Email : matthias at opengis dot ch
8
+ # ---------------------
9
+ # Date : October 2017
10
+ # Copyright : (C) 2017-2019 by Daniele Viganò
11
+ # Email : daniele at vigano dot me
8
12
# ##########################################################################
9
13
# #
10
14
# This program is free software; you can redistribute it and/or modify #
14
18
# #
15
19
# ##########################################################################
16
20
21
+ if [ $_BUILDRPMS_DEBUG ]
22
+ then
23
+ set -x
24
+ fi
25
+
17
26
function print_info
18
27
{
19
28
echo -e " \e[0;32m$1 \033[0m"
@@ -40,7 +49,14 @@ Usage:
40
49
41
50
if [ $_MOCK_OLD_CHROOT ]
42
51
then
43
- mock_args=" --old-chroot"
52
+ mock_args=" --old-chroot"
53
+ fi
54
+
55
+ if command -v pbzip2 & > /dev/null
56
+ then
57
+ bzip2_cmd=" pbzip2"
58
+ else
59
+ bzip2_cmd=" bzip2"
44
60
fi
45
61
46
62
relver=1
98
114
timestamp=$( date +' %s' )
99
115
fi
100
116
101
- # Clean logfiles
102
- if [ -f $OUTDIR /build.log ]
103
- then
104
- print_info " Cleaning log file"
105
- rm $OUTDIR /build.log
106
- fi
107
-
108
117
# Get the version string
109
118
major=$( grep -e ' SET(CPACK_PACKAGE_VERSION_MAJOR' ../CMakeLists.txt |
110
119
sed -r ' s/.*\"([0-9]+)\".*/\1/g' )
@@ -118,6 +127,12 @@ version=$major.$minor.$patch
118
127
print_info " Building version $version -$relver "
119
128
if [ " $build_only " -ne " 1" ]
120
129
then
130
+ # Clean logfiles
131
+ if [ -f $OUTDIR /build.log ]
132
+ then
133
+ print_info " Cleaning log file"
134
+ rm $OUTDIR /build.log
135
+ fi
121
136
print_info " Creating spec file from template"
122
137
# Create spec file
123
138
cat qgis.spec.template \
133
148
134
149
print_info " Creating source tarball"
135
150
# Create source tarball
136
- git -C .. archive --format=tar --prefix=qgis-$version / HEAD | bzip2 > sources/qgis-$version .tar.bz2
151
+ git -C .. archive --format=tar --prefix=qgis-$version / HEAD | $bzip2_cmd > sources/qgis-$version .tar.bz2
137
152
138
153
print_info " Creating source package"
139
154
# Build source package
@@ -146,13 +161,12 @@ then
146
161
print_error " Creating source package failed"
147
162
exit 1
148
163
fi
149
-
150
- srpm=$( grep -e ' Wrote: .*\.src\.rpm' $OUTDIR /build.log |
151
- sed ' s_Wrote: /builddir/build/SRPMS/\(.*\)_\1_' )
152
-
153
- print_info " Source package created: $srpm "
164
+ print_info " Source package created"
154
165
fi
155
166
167
+ srpm=$( grep -e ' Wrote: .*\.src\.rpm' $OUTDIR /build.log 2> /dev/null |
168
+ sed ' s_Wrote: /builddir/build/SRPMS/\(.*\)_\1_' )
169
+
156
170
if [ " $srpm_only " -eq " 1" ]
157
171
then
158
172
exit 0
161
175
# Create packages for every ARCH defined in the config file
162
176
for arch in " ${ARCHS[@]} "
163
177
do :
164
- print_info " Building packages for $arch "
165
- if [ -f $OUTDIR /$arch /build.log ]
178
+ if [ -f $OUTDIR /$srpm ]
166
179
then
167
- print_info " Cleaning log file"
168
- rm $OUTDIR /$arch /build.log
169
- fi
170
- mkdir $OUTDIR /$arch
171
-
172
- if ! mock -r $arch --rebuild $OUTDIR /$srpm \
173
- --define " _relver $relver " \
174
- --define " _version $version " \
175
- --define " _timestamp $timestamp " \
176
- --resultdir=$OUTDIR /$arch $mock_args
177
- then
178
- print_error " Package creation for $arch failed. Abort"
179
- exit 1
180
+ print_info " Building $srpm for $arch "
181
+ if [ -d $OUTDIR /$arch ]
182
+ then
183
+ if [ -f $OUTDIR /$arch /build.log ]
184
+ then
185
+ print_info " Cleaning log file"
186
+ rm $OUTDIR /$arch /build.log
187
+ fi
188
+ else
189
+ mkdir $OUTDIR /$arch
190
+ fi
191
+ if ! mock -r $arch --rebuild $OUTDIR /$srpm \
192
+ --define " _relver $relver " \
193
+ --define " _version $version " \
194
+ --define " _timestamp $timestamp " \
195
+ --resultdir=$OUTDIR /$arch $mock_args
196
+ then
197
+ print_error " Package creation for $arch failed. Abort"
198
+ exit 1
199
+ else
200
+ # Add to package list
201
+ packages=" $packages $( ls $OUTDIR /$arch /* -$version -$relver .* .rpm) "
202
+ fi
180
203
else
181
- # Add to package list
182
- packages= " $packages $( ls $OUTDIR / $arch / * - $version - $relver . * .rpm ) "
204
+ print_error " Source package unavailable. Abort "
205
+ exit 1
183
206
fi
184
207
done
185
208
0 commit comments