Mercurial > hg > mercurial-crew-with-dirclash
view contrib/buildrpm @ 967:1f3710636b45
[PATCH] Print timezone offset when outputting dates
Example:
% hg log | head -12
changeset: 791:41440890e57d2dbacde03a2a114e5114a031ea4a
tag: tip
user: Samuel Tardieu <sam@rfc1149.net>
date: Mon Jul 25 13:24:15 2005 +0200
summary: Parse various date formats when accepting user specified dates
[...]
changeset: 787:ba5c2021364ee876dae170e8f153e43bd0b2bd73
parent: 785:31a80e3723cee0a5991340facb2707e71983eb41
user: Bryan O'Sullivan <bos@serpentine.com>
date: Sun Jul 24 00:39:24 2005 -0800
summary: Get "forget" command to use new walk code.
[...]
author | Samuel Tardieu <sam@rfc1149.net> |
---|---|
date | Fri, 19 Aug 2005 23:23:42 -0800 |
parents | ced5f5ceb172 |
children | e5e6dd8ba6bb |
line wrap: on
line source
#!/bin/sh # # Build a Mercurial RPM in place. # # Bryan O'Sullivan <bos@serpentine.com> root="`hg root 2>/dev/null`" specfile=contrib/mercurial.spec if [ -z "$root" ]; then echo 'You are not inside a Mercurial repository!' 1>&2 exit 1 fi rpmdir=/tmp/"`basename $root | sed 's/ /_/'`"-rpm cd "$root" rm -rf $rpmdir mkdir -p $rpmdir/RPMS hg clone "$root" $rpmdir/BUILD if [ ! -f $specfile ]; then echo "Cannot find $specfile!" 1>&2 exit 1 fi tmpspec=/tmp/`basename "$specfile"`.$$ # Use the most recent tag as the version. version=`hg tags | perl -e 'while(<STDIN>){if(/^(\d\S+)/){print$1;exit}}'` # Compute the release number as the difference in revision numbers # between the tip and the most recent tag. release=`hg tags | perl -e 'while(<STDIN>){/^(\S+)\s+(\d+)/;if($1eq"tip"){$t=$2}else{print$t-$2+1;exit}}'` tip=`hg -q tip` # Beat up the spec file sed -e 's,^Source:.*,Source: /dev/null,' \ -e "s,^Version:.*,Version: $version," \ -e "s,^Release:.*,Release: $release," \ -e "s,^%prep.*,Changeset: $tip\n\0," \ -e 's,^%setup.*,,' \ $specfile > $tmpspec rpmbuild --define "_topdir $rpmdir" -bb $tmpspec if [ $? = 0 ]; then rm -rf $tmpspec $rpmdir/BUILD mv $rpmdir/RPMS/*/* $rpmdir && rm -r $rpmdir/RPMS echo echo "Packages are in $rpmdir" fi