##// END OF EJS Templates
grep: warn on censored revisions instead of erroring out...
grep: warn on censored revisions instead of erroring out We need most of the grep logic to go through in case we encounter a censored revision, so we just return a None body for a censored node, and we stop just short of trying to record matches with the contents of that censored body. The other parts such as recording that the censored file has been considered at this revision needs to go into the proper dicts. I have also gotten weary of all the abbreviations, so while I did a small refactor to move the file-data-getting operation into a common function, I also expanded the abbreviations of the relevant variables within this little function. Hopefully some day this helps someone figure out what all the abbreviations mean. Although the censoring docs currently state that some commands error out or are ignored depending on the `censor.policy` config, I cannot see a benefit for grep to ever stop dead in its tracks when a censored revision is encountered. I will also amend the docs to indicate that some commands, such as grep, unconditionally ignore censored revisions.

File last commit:

r43617:734407c4 stable
r43622:13b8097d default
Show More
builddeb
115 lines | 2.6 KiB | text/plain | TextLexer
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026 #!/bin/sh -e
#
# Build a Mercurial debian package from the current repo
#
# Tested on Jessie (stable as of original script authoring.)
. $(dirname $0)/packagelib.sh
Gregory Szorc
packaging: make packaging scripts less reliant on pwd...
r38033 ROOTDIR=$(cd $(dirname $0)/../.. > /dev/null; pwd)
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026 BUILD=1
CLEANUP=1
DISTID=`(lsb_release -is 2> /dev/null | tr '[:upper:]' '[:lower:]') || echo debian`
CODENAME=`lsb_release -cs 2> /dev/null || echo unknown`
DEBFLAGS=-b
muxator
packaging: blindly factor out trap's cleanup function in builddeb...
r40140
cleanup() {
muxator
packaging: cleanup() did not read the value of $CLEANUP...
r40142 if [ "$CLEANUP" ]; then
muxator
packaging: "make deb" no longer fails...
r40143 rm -r "$ROOTDIR/debian";
muxator
packaging: blindly factor out trap's cleanup function in builddeb...
r40140 fi
}
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026 while [ "$1" ]; do
case "$1" in
--distid )
shift
DISTID="$1"
shift
;;
--codename )
shift
CODENAME="$1"
shift
;;
--cleanup )
shift
BUILD=
;;
--build )
shift
CLEANUP=
;;
--source-only )
shift
DEBFLAGS=-S
;;
* )
echo "Invalid parameter $1!" 1>&2
exit 1
;;
esac
done
muxator
packaging: "make deb" no longer fails...
r40143 cd "$ROOTDIR"
muxator
packaging: blindly factor out trap's cleanup function in builddeb...
r40140 trap 'cleanup' EXIT
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026
set -u
if [ ! -d .hg ]; then
muxator
packaging: print more specific error messages when builddeb fails
r40138 printf "You are inside %s, which is not the root of a Mercurial repository\n" $(pwd) 1>&2
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026 exit 1
fi
gethgversion
debver="$version"
if [ -n "$type" ] ; then
debver="$debver~$type"
fi
if [ -n "$distance" ] ; then
debver="$debver+$distance-$CODENAME-$node"
elif [ "$DEBFLAGS" = "-S" ] ; then
# for building a ppa (--source-only) for a release (distance == 0), we need
# to version the distroseries so that we can upload to launchpad
debver="$debver~${CODENAME}1"
fi
control=debian/control
changelog=debian/changelog
if [ "$BUILD" ]; then
if [ -d debian ] ; then
muxator
packaging: print more specific error messages when builddeb fails
r40138 printf "Error! debian control directory already exists at %s/debian\n" $(pwd)
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026 exit 1
fi
Gregory Szorc
packaging: make packaging scripts less reliant on pwd...
r38033 cp -r "$ROOTDIR"/contrib/packaging/debian debian
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026
sed -i.tmp "s/__VERSION__/$debver/" $changelog
sed -i.tmp "s/__DATE__/$(date --rfc-2822)/" $changelog
sed -i.tmp "s/__CODENAME__/$CODENAME/" $changelog
rm $changelog.tmp
# remove the node from the version string
SRCFILE="mercurial_$(echo $debver | sed "s,-$node,,").orig.tar.gz"
Gregory Szorc
packaging: make packaging scripts less reliant on pwd...
r38033 "$ROOTDIR/hg" archive $SRCFILE
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026 mv $SRCFILE ..
debuild -us -uc -i -I $DEBFLAGS
if [ $? != 0 ]; then
echo 'debuild failed!'
exit 1
fi
fi
if [ "$CLEANUP" ] ; then
echo
OUTPUTDIR=${OUTPUTDIR:=packages/$DISTID-$CODENAME}
mkdir -p "$OUTPUTDIR"
find ../mercurial*.deb ../mercurial_*.build ../mercurial_*.changes \
../mercurial*.dsc ../mercurial*.gz \
-type f -newer $control -print0 2>/dev/null | \
xargs -Inarf -0 mv narf "$OUTPUTDIR"
echo "Built packages for $debver:"
muxator
packaging: print full path to the packages when builddeb finishes successfully
r40139 find "$PWD"/"$OUTPUTDIR" -type f -newer $control -name '*.deb'
Gregory Szorc
packaging: move builddeb into contrib/packaging/...
r38026 fi