@@ -30,21 +30,36 @@ function print_help
3030Creates RPM packages.
3131
3232Usage:
33+ -c only compile spec file
3334 -s only create srpm, nothing will be compiled
35+ -u build unstable, release will include the short commit id
3436 -b build last srpm, the package release number will not be increased
3537 -h show help
3638'
3739}
3840
41+ if [ $_MOCK_OLD_CHROOT ]
42+ then
43+ mock_args=" --old-chroot"
44+ fi
45+
46+ compile_spec_only=0
3947build_only=0
4048srpm_only=0
49+ build_unstable=0
4150
42- while getopts " shb " opt; do
51+ while getopts " csuhb " opt; do
4352 case ${opt} in
53+ c)
54+ compile_spec_only=1
55+ ;;
4456 s)
4557 srpm_only=1
4658 ;;
47- [\? |h])
59+ u)
60+ build_unstable=1
61+ ;;
62+ \? |h)
4863 print_help
4964 exit 0
5065 ;;
6277 source local.cfg
6378fi
6479
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 ]
7281then
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' )
7597fi
7698
7799# Clean logfiles
@@ -91,28 +113,33 @@ patch=$(grep -e 'SET(CPACK_PACKAGE_VERSION_PATCH' ../CMakeLists.txt |
91113
92114version=$( echo $major .$minor .$patch )
93115
94- timestamp=$( date +' %s' )
95-
96- print_info " Building version $version -$RELVER "
97-
116+ print_info " Building version $version -$relver "
98117if [ " $build_only " -ne " 1" ]
99118then
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
103131
104132 print_info " Creating source tarball"
105133 # 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
107135
108136 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
114137 # 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
116143 if [ $? -ne 0 ]
117144 then
118145 print_error " Creating source package failed"
@@ -140,11 +167,15 @@ do :
140167 rm $OUTDIR /$arch /build.log
141168 fi
142169 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
144175 if [ $? -eq 0 ]
145176 then
146177 # Add to package list
147- packages=" $packages $( ls $OUTDIR /$arch /* -$version -$RELVER .* .rpm) "
178+ packages=" $packages $( ls $OUTDIR /$arch /* -$version -$relver .* .rpm) "
148179 else
149180 print_error " Package creation for $arch failed. Abort"
150181 exit 1
0 commit comments