annotate contrib/buildrpm @ 26362:3bfc473f4d33

gitweb, monoblue: fix vertical align of spans in .sourcelines Empty lines in file view could produce an inexplicable margin before the next line (most noticeable in browsers on webkit/blink engine). That was making empty lines seem taller than the rest. Instead of using default vertical align, let's set it to 'top'. This issue is actually present in paper, and only recently got into gitweb (2239626369f5) and monoblue (119202d4d7a4). There's a bit more to it in paper, so that will be dealt with in a future patch. Recipe to see live: preferably using a webkit/blink browser, such as chromium, browse a file with empty lines, e.g. https://selenic.com/hg/file/3.5/README#l8 Selecting a block of text that includes empty lines will reveal white "breaks" in the selection. Highlighted line (#l8) also shows such a break below itself.
author Anton Shestakov <av6@dwimlabs.net>
date Fri, 25 Sep 2015 03:02:38 +0800
parents f643b6863382
children ec74ea542201
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21638
5337cb17fa1f buildrpm: various minor cleanup
Mads Kiilerich <madski@unity3d.com>
parents: 9814
diff changeset
1 #!/bin/sh -e
564
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
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
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
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
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
9
24972
56c64c91b429 packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents: 24730
diff changeset
10 . $(dirname $0)/packagelib.sh
56c64c91b429 packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents: 24730
diff changeset
11
22435
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
12 BUILD=1
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
13 RPMBUILDDIR="$PWD/rpmbuild"
22435
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
14 while [ "$1" ]; do
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
15 case "$1" in
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
16 --prepare )
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
17 shift
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
18 BUILD=
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
19 ;;
22436
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
20 --withpython | --with-python)
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
21 shift
23881
33471119267b rpm: make Python 2.7.9 the default Python to include in rpms for EL 5
Mads Kiilerich <madski@unity3d.com>
parents: 23141
diff changeset
22 PYTHONVER=2.7.9
33471119267b rpm: make Python 2.7.9 the default Python to include in rpms for EL 5
Mads Kiilerich <madski@unity3d.com>
parents: 23141
diff changeset
23 PYTHONMD5=5eebcaa0030dc4061156d3429657fb83
22436
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
24 ;;
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
25 --rpmbuilddir )
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 RPMBUILDDIR="$1"
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
28 shift
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
29 ;;
22435
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
30 * )
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
31 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
32 exit 1
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
33 ;;
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
34 esac
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
35 done
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
36
9811
c92ac5a56f69 buildrpm: enable to start the script from anywhere
Gilles Moris <gilles.moris@free.fr>
parents: 9810
diff changeset
37 cd "`dirname $0`/.."
7431
3d827cc616b6 buildrpm: complain when hg command isn't available
Mads Kiilerich <mads@kiilerich.com>
parents: 7277
diff changeset
38
22436
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
39 specfile=$PWD/contrib/mercurial.spec
9812
dd2c95fc4fe5 buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents: 9811
diff changeset
40 if [ ! -f $specfile ]; then
dd2c95fc4fe5 buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents: 9811
diff changeset
41 echo "Cannot find $specfile!" 1>&2
dd2c95fc4fe5 buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents: 9811
diff changeset
42 exit 1
dd2c95fc4fe5 buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents: 9811
diff changeset
43 fi
564
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
44
9812
dd2c95fc4fe5 buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents: 9811
diff changeset
45 if [ ! -d .hg ]; then
564
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
46 echo 'You are not inside a Mercurial repository!' 1>&2
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
47 exit 1
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
48 fi
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
49
24972
56c64c91b429 packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents: 24730
diff changeset
50 gethgversion
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
51
22436
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
52 if [ "$PYTHONVER" ]; then
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
53 release=$release+$PYTHONVER
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
54 RPMPYTHONVER=$PYTHONVER
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
55 else
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
56 RPMPYTHONVER=%{nil}
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
57 fi
564
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
58
26139
f643b6863382 buildrpm: mkdir -p two needed directories (issue4779)
Augie Fackler <augie@google.com>
parents: 24972
diff changeset
59 mkdir -p $RPMBUILDDIR/SOURCES
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
60 $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
61 if [ "$PYTHONVER" ]; then
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
62 (
24730
aa8e5c6d953b rpms: create missing builds dir if it doesn't exist
Mads Kiilerich <madski@unity3d.com>
parents: 23881
diff changeset
63 mkdir -p build
22436
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
64 cd build
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
65 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
66 [ -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
67 if [ "$PYTHONMD5" ]; then
a440166d03fc contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents: 22437
diff changeset
68 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
69 fi
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
70 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
71
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
72 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
73 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
74 [ -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
75 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
76 if [ "$DOCUTILSMD5" ]; then
a440166d03fc contrib: buildrpm checking of md5 checksums of downloaded Python and Docutils
Mads Kiilerich <madski@unity3d.com>
parents: 22437
diff changeset
77 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
78 fi
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
79 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
80 )
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
81 fi
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
82
26139
f643b6863382 buildrpm: mkdir -p two needed directories (issue4779)
Augie Fackler <augie@google.com>
parents: 24972
diff changeset
83 mkdir -p $RPMBUILDDIR/SPECS
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
84 rpmspec=$RPMBUILDDIR/SPECS/mercurial.spec
9813
2059795bb5d0 buildrpm: build full RPM package including sources
Gilles Moris <gilles.moris@free.fr>
parents: 9812
diff changeset
85
9812
dd2c95fc4fe5 buildrpm: cleanup script
Gilles Moris <gilles.moris@free.fr>
parents: 9811
diff changeset
86 sed -e "s,^Version:.*,Version: $version," \
564
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
87 -e "s,^Release:.*,Release: $release," \
9813
2059795bb5d0 buildrpm: build full RPM package including sources
Gilles Moris <gilles.moris@free.fr>
parents: 9812
diff changeset
88 $specfile > $rpmspec
564
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
89
9814
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
90 echo >> $rpmspec
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
91 echo "%changelog" >> $rpmspec
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
92
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
93 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
94 latesttag="`echo $version | sed -e 's/+.*//'`"
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
95 $HG log -r .:"$latesttag" -fM \
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
96 --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
97 import sys, time
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
98
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
99 def datestr(date, format):
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
100 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
101
9814
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
102 changelog = []
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
103 for l in sys.stdin.readlines():
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
104 tok = l.split("\t")
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
105 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
106 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
107 prevtitle = ""
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
108 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
109 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
110 if prevtitle != title:
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
111 prevtitle = title
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
112 print
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
113 print title
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
114 print "- %s" % l[3].strip()
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
115 ' >> $rpmspec
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
116
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
117 else
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
118
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
119 $HG log \
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
120 --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
121 .hgtags | python -c '
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
122 import sys, time
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
123
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
124 def datestr(date, format):
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
125 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
126
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
127 for l in sys.stdin.readlines():
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
128 tok = l.split("\t")
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
129 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
130 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
131 ' >> $rpmspec
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
132
5070e4d57276 buildrpm: enhance changelog of the RPM file
Gilles Moris <gilles.moris@free.fr>
parents: 9813
diff changeset
133 fi
4754
e5e6dd8ba6bb buildrpm: auto-generate %changelog in .spec file
Adam Spiers <hg@adamspiers.org>
parents: 564
diff changeset
134
22436
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
135 sed -i \
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
136 -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
137 $rpmspec
96d95b75a63b buildrpm: introduce --withpython for building rpms that includes Python 2.7
Mads Kiilerich <madski@unity3d.com>
parents: 22435
diff changeset
138
22435
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
139 if [ "$BUILD" ]; then
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
140 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
141 if [ $? = 0 ]; then
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
142 echo
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
143 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
144 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
145 fi
4c4385eb26bc buildrpm: introduce --prepare for preparing without actually building rpms
Mads Kiilerich <madski@unity3d.com>
parents: 21641
diff changeset
146 else
22437
9e2e4fc524fd buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir
Mads Kiilerich <madski@unity3d.com>
parents: 22436
diff changeset
147 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
148 echo "rpmbuild --define '_topdir $RPMBUILDDIR' -ba $rpmspec --clean"
564
ced5f5ceb172 [PATCH] Add contrib/buildrpm script
mpm@selenic.com
parents:
diff changeset
149 fi