Mercurial > hg
annotate contrib/buildrpm @ 23579:e1c39f207719
subrepo: drop the 'ui' parameter to revert()
This no longer needs to be explicitly passed because the subrepo object tracks
the 'ui' reference since fcbc66b5da6a. See the change to 'archive' for details
about the differences between the output level in the root repo and subrepo 'ui'
object.
The only use for 'ui' in revert is to emit status and warning messages, and to
check the verbose flag prior to printing the action to be performed on a file.
The local repo's ui was already being used to print a warning message in
wctx.forget() and for 'ui.slash' when walking dirstate in the repo.status()
call. Unlike other methods where the matcher is passed along and narrowed, a
new matcher is created in each repo, and therefore the bad() method already used
the local repo's ui.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 13 Dec 2014 19:44:55 -0500 |
parents | a440166d03fc |
children | 33471119267b |
rev | line source |
---|---|
21638
5337cb17fa1f
buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents:
9814
diff
changeset
|
1 #!/bin/sh -e |
564 | 2 # |
21638
5337cb17fa1f
buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents:
9814
diff
changeset
|
3 # Build a Mercurial RPM from the current repo |
564 | 4 # |
8867
ff817723280a
contrib/buildrpm: Support python 2.4 and 2.6
Mads Kiilerich <mads@kiilerich.com>
parents:
7431
diff
changeset
|
5 # Tested on |
21638
5337cb17fa1f
buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents:
9814
diff
changeset
|
6 # - Fedora 20 |
5337cb17fa1f
buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents:
9814
diff
changeset
|
7 # - CentOS 5 |
5337cb17fa1f
buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents:
9814
diff
changeset
|
8 # - centOS 6 |
564 | 9 |
22435
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
10 BUILD=1 |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
11 RPMBUILDDIR="$PWD/rpmbuild" |
22435
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
12 while [ "$1" ]; do |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
13 case "$1" in |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
14 --prepare ) |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
15 shift |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
16 BUILD= |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
17 ;; |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
18 --withpython | --with-python) |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
19 shift |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
20 PYTHONVER=2.7.8 |
23141
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
21 PYTHONMD5=d4bca0159acb0b44a781292b5231936f |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
22 ;; |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
23 --rpmbuilddir ) |
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
24 shift |
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
25 RPMBUILDDIR="$1" |
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
26 shift |
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
27 ;; |
22435
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
28 * ) |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
29 echo "Invalid parameter $1!" 1>&2 |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
30 exit 1 |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
31 ;; |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
32 esac |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
33 done |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
34 |
9811
c92ac5a56f69
buildrpm: enable to start the script from anywhere
Gilles Moris <gilles.moris@free.fr>
parents:
9810
diff
changeset
|
35 cd "`dirname $0`/.." |
7431
3d827cc616b6
buildrpm: complain when hg command isn't available
Mads Kiilerich <mads@kiilerich.com>
parents:
7277
diff
changeset
|
36 |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
37 specfile=$PWD/contrib/mercurial.spec |
9812
dd2c95fc4fe5
buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents:
9811
diff
changeset
|
38 if [ ! -f $specfile ]; then |
dd2c95fc4fe5
buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents:
9811
diff
changeset
|
39 echo "Cannot find $specfile!" 1>&2 |
dd2c95fc4fe5
buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents:
9811
diff
changeset
|
40 exit 1 |
dd2c95fc4fe5
buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents:
9811
diff
changeset
|
41 fi |
564 | 42 |
9812
dd2c95fc4fe5
buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents:
9811
diff
changeset
|
43 if [ ! -d .hg ]; then |
564 | 44 echo 'You are not inside a Mercurial repository!' 1>&2 |
45 exit 1 | |
46 fi | |
47 | |
21639
57e0f053e529
buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents:
21638
diff
changeset
|
48 # build local hg and use it |
57e0f053e529
buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents:
21638
diff
changeset
|
49 python setup.py build_py -c -d . |
57e0f053e529
buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents:
21638
diff
changeset
|
50 HG="$PWD/hg" |
57e0f053e529
buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents:
21638
diff
changeset
|
51 PYTHONPATH="$PWD/mercurial/pure" |
57e0f053e529
buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents:
21638
diff
changeset
|
52 export PYTHONPATH |
57e0f053e529
buildrpm: collect code for building local hg and using it in one place
Mads Kiilerich <madski@unity3d.com>
parents:
21638
diff
changeset
|
53 |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
54 mkdir -p $RPMBUILDDIR/SOURCES $RPMBUILDDIR/SPECS $RPMBUILDDIR/RPMS $RPMBUILDDIR/SRPMS $RPMBUILDDIR/BUILD |
564 | 55 |
9809
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
56 hgversion=`$HG version | sed -ne 's/.*(version \(.*\))$/\1/p'` |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
57 |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
58 if echo $hgversion | grep -- '-' > /dev/null 2>&1; then |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
59 # nightly build case, version is like 1.3.1+250-20b91f91f9ca |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
60 version=`echo $hgversion | cut -d- -f1` |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
61 release=`echo $hgversion | cut -d- -f2 | sed -e 's/+.*//'` |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
62 else |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
63 # official tag, version is like 1.3.1 |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
64 version=`echo $hgversion | sed -e 's/+.*//'` |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
65 release='0' |
ce145bf2ca5e
buildrpm: build from working dir parent and use hg version for RPM versioning
Gilles Moris <gilles.moris@free.fr>
parents:
8906
diff
changeset
|
66 fi |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
67 if [ "$PYTHONVER" ]; then |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
68 release=$release+$PYTHONVER |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
69 RPMPYTHONVER=$PYTHONVER |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
70 else |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
71 RPMPYTHONVER=%{nil} |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
72 fi |
564 | 73 |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
74 $HG archive -t tgz $RPMBUILDDIR/SOURCES/mercurial-$version-$release.tar.gz |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
75 if [ "$PYTHONVER" ]; then |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
76 ( |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
77 cd build |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
78 PYTHON_SRCFILE=Python-$PYTHONVER.tgz |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
79 [ -f $PYTHON_SRCFILE ] || curl -Lo $PYTHON_SRCFILE http://www.python.org/ftp/python/$PYTHONVER/$PYTHON_SRCFILE |
23141
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
80 if [ "$PYTHONMD5" ]; then |
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
81 echo "$PYTHONMD5 $PYTHON_SRCFILE" | md5sum -w -c |
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
82 fi |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
83 ln -f $PYTHON_SRCFILE $RPMBUILDDIR/SOURCES/$PYTHON_SRCFILE |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
84 |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
85 DOCUTILSVER=`sed -ne "s/^%global docutilsname docutils-//p" $specfile` |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
86 DOCUTILS_SRCFILE=docutils-$DOCUTILSVER.tar.gz |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
87 [ -f $DOCUTILS_SRCFILE ] || curl -Lo $DOCUTILS_SRCFILE http://downloads.sourceforge.net/project/docutils/docutils/$DOCUTILSVER/$DOCUTILS_SRCFILE |
23141
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
88 DOCUTILSMD5=`sed -ne "s/^%global docutilsmd5 //p" $specfile` |
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
89 if [ "$DOCUTILSMD5" ]; then |
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
90 echo "$DOCUTILSMD5 $DOCUTILS_SRCFILE" | md5sum -w -c |
a440166d03fc
contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents:
22437
diff
changeset
|
91 fi |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
92 ln -f $DOCUTILS_SRCFILE $RPMBUILDDIR/SOURCES/$DOCUTILS_SRCFILE |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
93 ) |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
94 fi |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
95 |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
96 rpmspec=$RPMBUILDDIR/SPECS/mercurial.spec |
9813
2059795bb5d0
buildrpm: build full RPM package including sources
Gilles Moris <gilles.moris@free.fr>
parents:
9812
diff
changeset
|
97 |
9812
dd2c95fc4fe5
buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents:
9811
diff
changeset
|
98 sed -e "s,^Version:.*,Version: $version," \ |
564 | 99 -e "s,^Release:.*,Release: $release," \ |
9813
2059795bb5d0
buildrpm: build full RPM package including sources
Gilles Moris <gilles.moris@free.fr>
parents:
9812
diff
changeset
|
100 $specfile > $rpmspec |
564 | 101 |
9814
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
102 echo >> $rpmspec |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
103 echo "%changelog" >> $rpmspec |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
104 |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
105 if echo $version | grep '+' > /dev/null 2>&1; then |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
106 latesttag="`echo $version | sed -e 's/+.*//'`" |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
107 $HG log -r .:"$latesttag" -fM \ |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
108 --template '{date|hgdate}\t{author}\t{desc|firstline}\n' | python -c ' |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
109 import sys, time |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
110 |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
111 def datestr(date, format): |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
112 return time.strftime(format, time.gmtime(float(date[0]) - date[1])) |
4754
e5e6dd8ba6bb
buildrpm: auto-generate %changelog in .spec file
Adam Spiers <hg@adamspiers.org>
parents:
564
diff
changeset
|
113 |
9814
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
114 changelog = [] |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
115 for l in sys.stdin.readlines(): |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
116 tok = l.split("\t") |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
117 hgdate = tuple(int(v) for v in tok[0].split()) |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
118 changelog.append((datestr(hgdate, "%F"), tok[1], hgdate, tok[2])) |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
119 prevtitle = "" |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
120 for l in sorted(changelog, reverse=True): |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
121 title = "* %s %s" % (datestr(l[2], "%a %b %d %Y"), l[1]) |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
122 if prevtitle != title: |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
123 prevtitle = title |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
124 print |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
125 print title |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
126 print "- %s" % l[3].strip() |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
127 ' >> $rpmspec |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
128 |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
129 else |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
130 |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
131 $HG log \ |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
132 --template '{date|hgdate}\t{author}\t{desc|firstline}\n' \ |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
133 .hgtags | python -c ' |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
134 import sys, time |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
135 |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
136 def datestr(date, format): |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
137 return time.strftime(format, time.gmtime(float(date[0]) - date[1])) |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
138 |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
139 for l in sys.stdin.readlines(): |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
140 tok = l.split("\t") |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
141 hgdate = tuple(int(v) for v in tok[0].split()) |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
142 print "* %s %s\n- %s" % (datestr(hgdate, "%a %b %d %Y"), tok[1], tok[2]) |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
143 ' >> $rpmspec |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
144 |
5070e4d57276
buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents:
9813
diff
changeset
|
145 fi |
4754
e5e6dd8ba6bb
buildrpm: auto-generate %changelog in .spec file
Adam Spiers <hg@adamspiers.org>
parents:
564
diff
changeset
|
146 |
22436
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
147 sed -i \ |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
148 -e "s/^%define withpython.*$/%define withpython $RPMPYTHONVER/" \ |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
149 $rpmspec |
96d95b75a63b
buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents:
22435
diff
changeset
|
150 |
22435
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
151 if [ "$BUILD" ]; then |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
152 rpmbuild --define "_topdir $RPMBUILDDIR" -ba $rpmspec --clean |
22435
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
153 if [ $? = 0 ]; then |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
154 echo |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
155 echo "Built packages for $version-$release:" |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
156 find $RPMBUILDDIR/*RPMS/ -type f -newer $rpmspec |
22435
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
157 fi |
4c4385eb26bc
buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents:
21641
diff
changeset
|
158 else |
22437
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
159 echo "Prepared sources for $version-$release $rpmspec are in $RPMBUILDDIR/SOURCES/ - use like:" |
9e2e4fc524fd
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents:
22436
diff
changeset
|
160 echo "rpmbuild --define '_topdir $RPMBUILDDIR' -ba $rpmspec --clean" |
564 | 161 fi |