##// END OF EJS Templates
memfilectx: make changectx argument mandatory in constructor (API)...
memfilectx: make changectx argument mandatory in constructor (API) committablefilectx has three subclasses: workingfilectx, memfilectx, and overlayfilectx. committablefilectx takes an optional (change) ctx instance to its constructor. If it's provided, it's set on the instance as self._changectx. If not, that property is supposed to be defined by the class. However, only workingfilectx does that. The other two will have the property undefined if it's not passed in the constructor. That seems bad to me. This patch makes the changectx argument to the memfilectx constructor mandatory because that fixes the failure I ran into. It seems like we should also fix the overlayfilectx case. Differential Revision: https://phab.mercurial-scm.org/D1658

File last commit:

r34626:f1c2552c default
r35401:8a0cac20 default
Show More
builddeb
104 lines | 2.4 KiB | text/plain | TextLexer
Augie Fackler
builddeb: new script for building a deb package...
r24971 #!/bin/sh -e
#
# Build a Mercurial debian package from the current repo
#
# Tested on Jessie (stable as of original script authoring.)
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972 . $(dirname $0)/packagelib.sh
Augie Fackler
builddeb: new script for building a deb package...
r24971 BUILD=1
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 CLEANUP=1
av6
builddeb: read default distribution and codename from lsb_release...
r27212 DISTID=`(lsb_release -is 2> /dev/null | tr '[:upper:]' '[:lower:]') || echo debian`
CODENAME=`lsb_release -cs 2> /dev/null || echo unknown`
Sean Farley
builddeb: add flag for a source-only deb...
r28994 DEBFLAGS=-b
Augie Fackler
builddeb: new script for building a deb package...
r24971 while [ "$1" ]; do
case "$1" in
av6
builddeb: add --distid option to specify Distributor ID...
r27210 --distid )
shift
DISTID="$1"
shift
;;
av6
builddeb: rename --release option to --codename...
r27209 --codename )
Augie Fackler
builddeb: rework how output dir and platform are specified...
r26108 shift
av6
builddeb: rename --release option to --codename...
r27209 CODENAME="$1"
Augie Fackler
builddeb: rework how output dir and platform are specified...
r26108 shift
;;
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 --cleanup )
Augie Fackler
builddeb: new script for building a deb package...
r24971 shift
BUILD=
;;
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 --build )
shift
CLEANUP=
;;
Sean Farley
builddeb: add flag for a source-only deb...
r28994 --source-only )
shift
DEBFLAGS=-S
;;
Augie Fackler
builddeb: new script for building a deb package...
r24971 * )
echo "Invalid parameter $1!" 1>&2
exit 1
;;
esac
done
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 trap "if [ '$CLEANUP' ] ; then rm -r '$PWD/debian' ; fi" EXIT
Augie Fackler
builddeb: rework how output dir and platform are specified...
r26108
Augie Fackler
builddeb: new script for building a deb package...
r24971 set -u
if [ ! -d .hg ]; then
echo 'You are not inside a Mercurial repository!' 1>&2
exit 1
fi
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972 gethgversion
Augie Fackler
packaging: rework version detection and declaration (issue4912)...
r26833 debver="$version"
if [ -n "$type" ] ; then
debver="$debver~$type"
fi
if [ -n "$distance" ] ; then
Sean Farley
builddeb: use codename in version...
r29045 debver="$debver+$distance-$CODENAME-$node"
Sean Farley
builddeb: add distroseries to tagged versions...
r29093 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"
Augie Fackler
packaging: rework version detection and declaration (issue4912)...
r26833 fi
Augie Fackler
builddeb: new script for building a deb package...
r24971
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 control=debian/control
changelog=debian/changelog
Augie Fackler
builddeb: new script for building a deb package...
r24971
if [ "$BUILD" ]; then
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 if [ -d debian ] ; then
echo "Error! debian control directory already exists!"
exit 1
Augie Fackler
builddeb: new script for building a deb package...
r24971 fi
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148
muxator
build: "make deb" failed when the base path contained spaces...
r34626 cp -r "$PWD"/contrib/debian debian
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148
Sean Farley
builddeb: use sed -i...
r28988 sed -i.tmp "s/__VERSION__/$debver/" $changelog
sed -i.tmp "s/__DATE__/$(date --rfc-2822)/" $changelog
Sean Farley
builddeb: use the os codename instead of 'unstable'...
r28989 sed -i.tmp "s/__CODENAME__/$CODENAME/" $changelog
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 rm $changelog.tmp
Sean Farley
builddeb: create source archive for ubuntu
r28993 # remove the node from the version string
SRCFILE="mercurial_$(echo $debver | sed "s,-$node,,").orig.tar.gz"
"$PWD/hg" archive $SRCFILE
mv $SRCFILE ..
Sean Farley
builddeb: add flag for a source-only deb...
r28994 debuild -us -uc -i -I $DEBFLAGS
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 if [ $? != 0 ]; then
echo 'debuild failed!'
exit 1
fi
Augie Fackler
builddeb: new script for building a deb package...
r24971 fi
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 if [ "$CLEANUP" ] ; then
echo
av6
builddeb: add --distid option to specify Distributor ID...
r27210 OUTPUTDIR=${OUTPUTDIR:=packages/$DISTID-$CODENAME}
av6
builddeb: read default distribution and codename from lsb_release...
r27212 mkdir -p "$OUTPUTDIR"
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 find ../mercurial*.deb ../mercurial_*.build ../mercurial_*.changes \
Sean Farley
builddeb: copy over .gz and .dsc files...
r28991 ../mercurial*.dsc ../mercurial*.gz \
Sean Farley
builddeb: ignore errors about find not finding files...
r28990 -type f -newer $control -print0 2>/dev/null | \
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 xargs -Inarf -0 mv narf "$OUTPUTDIR"
Augie Fackler
packaging: rework version detection and declaration (issue4912)...
r26833 echo "Built packages for $debver:"
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 find "$OUTPUTDIR" -type f -newer $control -name '*.deb'
fi