fileset: use decorator to mark a function as fileset predicate
Using decorator can localize changes for adding (or removing) a
fileset predicate function in source code.
It is also useful to pick predicates up for specific purpose. For
example, subsequent patches marks predicates as "call status" or "use
existing" via decorator.
To avoid (1) redundancy between "predicate name" and (the beginning
of) help document, and (2) accidental typo of help document, this
patch also makes decorator put predicate declration into the beginning
of help.
#require test-repo slow docker
Ensure debuild doesn't run the testsuite, as that could get silly.
$ DEB_BUILD_OPTIONS=nocheck
$ export DEB_BUILD_OPTIONS
$ OUTPUTDIR=`pwd`
$ export OUTPUTDIR
$ cd "$TESTDIR"/..
$ make docker-debian-jessie > $OUTPUTDIR/build.log 2>&1
$ cd $OUTPUTDIR
$ ls *.deb
mercurial-common_*.deb (glob)
mercurial_*.deb (glob)
We check debian package contents with portable tools so that when
we're on non-debian machines we can still test the packages that are
built using docker.
main deb should have .so but no .py
$ ar x mercurial_*.deb
$ tar tf data.tar* | egrep '(localrepo|parsers)'
./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob)
mercurial-common should have .py but no .so or .pyc
$ ar x mercurial-common_*.deb
$ tar tf data.tar* | egrep '(localrepo|parsers)'
./usr/lib/python2.7/dist-packages/mercurial/localrepo.py