@@ -30,21 +30,36 @@ function print_help
30
30
Creates RPM packages.
31
31
32
32
Usage:
33
+ -c only compile spec file
33
34
-s only create srpm, nothing will be compiled
35
+ -u build unstable, release will include the short commit id
34
36
-b build last srpm, the package release number will not be increased
35
37
-h show help
36
38
'
37
39
}
38
40
41
+ if [ $_MOCK_OLD_CHROOT ]
42
+ then
43
+ mock_args=" --old-chroot"
44
+ fi
45
+
46
+ compile_spec_only=0
39
47
build_only=0
40
48
srpm_only=0
49
+ build_unstable=0
41
50
42
- while getopts " shb " opt; do
51
+ while getopts " csuhb " opt; do
43
52
case ${opt} in
53
+ c)
54
+ compile_spec_only=1
55
+ ;;
44
56
s)
45
57
srpm_only=1
46
58
;;
47
- [\? |h])
59
+ u)
60
+ build_unstable=1
61
+ ;;
62
+ \? |h)
48
63
print_help
49
64
exit 0
50
65
;;
62
77
source local.cfg
63
78
fi
64
79
65
- # Get next release version number and increment after
66
- if [ ! -f version.cfg ]
67
- then
68
- echo " RELVER=1" > version.cfg
69
- fi
70
- source version.cfg
71
- if [ " $build_only " -ne " 1" ]
80
+ if [ $build_unstable -ne 1 ]
72
81
then
73
- let RELVER+=1
74
- echo " RELVER=$RELVER " > version.cfg
82
+ # Get next release version number and increment after
83
+ if [ ! -f version.cfg ]
84
+ then
85
+ echo " relver=1" > version.cfg
86
+ fi
87
+ source version.cfg
88
+ if [ " $build_only " -ne " 1" ]
89
+ then
90
+ let relver+=1
91
+ echo " relver=$relver " > version.cfg
92
+ fi
93
+ timestamp=1
94
+ else
95
+ relver=" git$( git rev-parse --short HEAD) "
96
+ timestamp=$( date +' %s' )
75
97
fi
76
98
77
99
# Clean logfiles
@@ -91,28 +113,33 @@ patch=$(grep -e 'SET(CPACK_PACKAGE_VERSION_PATCH' ../CMakeLists.txt |
91
113
92
114
version=$( echo $major .$minor .$patch )
93
115
94
- timestamp=$( date +' %s' )
95
-
96
- print_info " Building version $version -$RELVER "
97
-
116
+ print_info " Building version $version -$relver "
98
117
if [ " $build_only " -ne " 1" ]
99
118
then
100
- # Current git branch name
101
- branch=$( git branch --no-color 2> /dev/null |
102
- sed -e ' /^[^*]/d' -e ' s/* \(.*\)/\1/' )
119
+ print_info " Creating spec file from template"
120
+ # Create spec file
121
+ cat qgis.spec.template \
122
+ | sed -e s/%{_version}/$version /g \
123
+ | sed -e s/%{_relver}/$relver /g \
124
+ | sed -e s/%{_timestamp}/$timestamp /g \
125
+ | tee qgis.spec 1> /dev/null
126
+
127
+ if [ " $compile_spec_only " -eq " 1" ]
128
+ then
129
+ exit 0
130
+ fi
103
131
104
132
print_info " Creating source tarball"
105
133
# Create source tarball
106
- git -C .. archive --format=tar --prefix=qgis-$version / $BRANCH | bzip2 > sources/qgis-$version .tar.bz2
134
+ git -C .. archive --format=tar --prefix=qgis-$version / HEAD | bzip2 > sources/qgis-$version .tar.bz2
107
135
108
136
print_info " Creating source package"
109
- # Create spec file
110
- cat qgis.spec.template | sed -e s/%{_version}/$version /g \
111
- | sed -e s/%{_relver}/$RELVER /g \
112
- | sed -e s/%{_timestamp}/$timestamp /g \
113
- | tee qgis.spec 1> /dev/null
114
137
# Build source package
115
- mock --buildsrpm --spec qgis.spec --sources ./sources --define " _relver $RELVER " --define " _version $version " --resultdir=$OUTDIR
138
+ mock --buildsrpm --spec qgis.spec --sources ./sources \
139
+ --define " _relver $relver " \
140
+ --define " _version $version " \
141
+ --define " _timestamp $timestamp " \
142
+ --resultdir=$OUTDIR $mock_args
116
143
if [ $? -ne 0 ]
117
144
then
118
145
print_error " Creating source package failed"
@@ -140,11 +167,15 @@ do :
140
167
rm $OUTDIR /$arch /build.log
141
168
fi
142
169
mkdir $OUTDIR /$arch
143
- mock -r $arch --rebuild $OUTDIR /$srpm --define " _relver $RELVER " --define " _version $version " --resultdir=$OUTDIR /$arch
170
+ mock -r $arch --rebuild $OUTDIR /$srpm \
171
+ --define " _relver $relver " \
172
+ --define " _version $version " \
173
+ --define " _timestamp $timestamp " \
174
+ --resultdir=$OUTDIR /$arch $mock_args
144
175
if [ $? -eq 0 ]
145
176
then
146
177
# Add to package list
147
- packages=" $packages $( ls $OUTDIR /$arch /* -$version -$RELVER .* .rpm) "
178
+ packages=" $packages $( ls $OUTDIR /$arch /* -$version -$relver .* .rpm) "
148
179
else
149
180
print_error " Package creation for $arch failed. Abort"
150
181
exit 1
0 commit comments