Show More
@@ -0,0 +1,5 b'' | |||
|
1 | mercurial (__VERSION__) unstable; urgency=medium | |
|
2 | ||
|
3 | * Automated build performed by upstream. | |
|
4 | ||
|
5 | -- Mercurial Devel <mercurial-devel@selenic.com> __DATE__ |
@@ -0,0 +1,1 b'' | |||
|
1 | 9 |
@@ -0,0 +1,27 b'' | |||
|
1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | |
|
2 | Upstream-Name: mercurial | |
|
3 | Source: http://www.selenic.com/mercurial/ | |
|
4 | ||
|
5 | Files: * | |
|
6 | Copyright: 2005-2015, Matt Mackall <mpm@selenic.com> and others. | |
|
7 | License: GPL-2+ | |
|
8 | This program is free software; you can redistribute it | |
|
9 | and/or modify it under the terms of the GNU General Public | |
|
10 | License as published by the Free Software Foundation; either | |
|
11 | version 2 of the License, or (at your option) any later | |
|
12 | version. | |
|
13 | . | |
|
14 | This program is distributed in the hope that it will be | |
|
15 | useful, but WITHOUT ANY WARRANTY; without even the implied | |
|
16 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | |
|
17 | PURPOSE. See the GNU General Public License for more | |
|
18 | details. | |
|
19 | . | |
|
20 | You should have received a copy of the GNU General Public | |
|
21 | License along with this package; if not, write to the Free | |
|
22 | Software Foundation, Inc., 51 Franklin St, Fifth Floor, | |
|
23 | Boston, MA 02110-1301 USA | |
|
24 | . | |
|
25 | On Debian systems, the full text of the GNU General Public | |
|
26 | License version 2 can be found in the file | |
|
27 | `/usr/share/common-licenses/GPL-2'. |
@@ -0,0 +1,29 b'' | |||
|
1 | #!/usr/bin/make -f | |
|
2 | # Uncomment this to turn on verbose mode. | |
|
3 | # export DH_VERBOSE=1 | |
|
4 | ||
|
5 | CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l) | |
|
6 | ||
|
7 | %: | |
|
8 | dh $@ --with python2 | |
|
9 | ||
|
10 | override_dh_auto_test: | |
|
11 | http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)" | |
|
12 | ||
|
13 | override_dh_python2: | |
|
14 | dh_python2 | |
|
15 | find debian/mercurial/usr/share -type d -empty -delete | |
|
16 | ||
|
17 | override_dh_install: | |
|
18 | python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial --install-layout=deb | |
|
19 | # remove arch-independent python stuff | |
|
20 | find $(CURDIR)/debian/mercurial/usr/lib \ | |
|
21 | ! -name '*.so' ! -type d -delete , \ | |
|
22 | -type d -empty -delete | |
|
23 | python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial-common --install-layout=deb | |
|
24 | make install-doc PREFIX=$(CURDIR)/debian/mercurial-common/usr | |
|
25 | # remove arch-dependent python stuff | |
|
26 | find $(CURDIR)/debian/mercurial-common/usr/lib \ | |
|
27 | -name '*.so' ! -type d -delete , \ | |
|
28 | -type d -empty -delete | |
|
29 | rm $(CURDIR)/debian/mercurial-common/usr/bin/hg |
@@ -1,70 +1,84 b'' | |||
|
1 | 1 | #!/bin/sh -e |
|
2 | 2 | # |
|
3 | 3 | # Build a Mercurial debian package from the current repo |
|
4 | 4 | # |
|
5 | 5 | # Tested on Jessie (stable as of original script authoring.) |
|
6 | 6 | |
|
7 | 7 | . $(dirname $0)/packagelib.sh |
|
8 | 8 | |
|
9 | 9 | BUILD=1 |
|
10 | CLEANUP=1 | |
|
10 | 11 | DEBVERSION=jessie |
|
11 | 12 | while [ "$1" ]; do |
|
12 | 13 | case "$1" in |
|
13 | 14 | --release ) |
|
14 | 15 | shift |
|
15 | 16 | DEBVERSION="$1" |
|
16 | 17 | shift |
|
17 | 18 | ;; |
|
18 |
-- |
|
|
19 | --cleanup ) | |
|
19 | 20 | shift |
|
20 | 21 | BUILD= |
|
21 | 22 | ;; |
|
23 | --build ) | |
|
24 | shift | |
|
25 | CLEANUP= | |
|
26 | ;; | |
|
22 | 27 | --debbuilddir ) |
|
23 | 28 | shift |
|
24 | 29 | DEBBUILDDIR="$1" |
|
25 | 30 | shift |
|
26 | 31 | ;; |
|
27 | 32 | * ) |
|
28 | 33 | echo "Invalid parameter $1!" 1>&2 |
|
29 | 34 | exit 1 |
|
30 | 35 | ;; |
|
31 | 36 | esac |
|
32 | 37 | done |
|
33 | 38 | |
|
34 | DEBBUILDDIR=${OUTPUTDIR:="$PWD/debbuild"} | |
|
39 | trap "if [ '$CLEANUP' ] ; then rm -r '$PWD/debian' ; fi" EXIT | |
|
35 | 40 | |
|
36 | 41 | set -u |
|
37 | 42 | |
|
38 | rm -rf $DEBBUILDDIR | |
|
39 | mkdir -p $DEBBUILDDIR | |
|
40 | ||
|
41 | 43 | if [ ! -d .hg ]; then |
|
42 | 44 | echo 'You are not inside a Mercurial repository!' 1>&2 |
|
43 | 45 | exit 1 |
|
44 | 46 | fi |
|
45 | 47 | |
|
46 | 48 | gethgversion |
|
47 | 49 | |
|
48 | cp -r $PWD/contrib/debian $DEBBUILDDIR/DEBIAN | |
|
49 | chmod -R 0755 $DEBBUILDDIR/DEBIAN | |
|
50 | ||
|
51 | control=$DEBBUILDDIR/DEBIAN/control | |
|
52 | ||
|
53 | # This looks like sed -i, but sed -i behaves just differently enough | |
|
54 | # between BSD and GNU sed that I gave up and did the dumb thing. | |
|
55 | sed "s/__VERSION__/$version/" < $control > $control.tmp | |
|
56 | mv $control.tmp $control | |
|
50 | control=debian/control | |
|
51 | changelog=debian/changelog | |
|
57 | 52 | |
|
58 | 53 | if [ "$BUILD" ]; then |
|
59 | make PREFIX=$DEBBUILDDIR/usr install | |
|
60 | dpkg-deb --build $DEBBUILDDIR | |
|
61 | mv $DEBBUILDDIR.deb $DEBBUILDDIR/mercurial-$version-$release.deb | |
|
62 | if [ $? = 0 ]; then | |
|
63 | echo | |
|
64 | echo "Built packages for $version-$release:" | |
|
65 | find $DEBBUILDDIR/ -type f -newer $control | |
|
54 | if [ -d debian ] ; then | |
|
55 | echo "Error! debian control directory already exists!" | |
|
56 | exit 1 | |
|
66 | 57 | fi |
|
67 | else | |
|
68 | echo "Prepared sources for $version-$release $control are in $DEBBUILDDIR - use like:" | |
|
69 | echo "dpkg-deb --build $DEBBUILDDIR" | |
|
58 | ||
|
59 | cp -r $PWD/contrib/debian debian | |
|
60 | chmod -R 0755 debian | |
|
61 | ||
|
62 | # This looks like sed -i, but sed -i behaves just differently enough | |
|
63 | # between BSD and GNU sed that I gave up and did the dumb thing. | |
|
64 | sed "s/__VERSION__/$version/" < $changelog > $changelog.tmp | |
|
65 | date=$(date --rfc-2822) | |
|
66 | sed "s/__DATE__/$date/" < $changelog.tmp > $changelog | |
|
67 | rm $changelog.tmp | |
|
68 | ||
|
69 | debuild -us -uc -b | |
|
70 | if [ $? != 0 ]; then | |
|
71 | echo 'debuild failed!' | |
|
72 | exit 1 | |
|
73 | fi | |
|
74 | ||
|
70 | 75 | fi |
|
76 | if [ "$CLEANUP" ] ; then | |
|
77 | echo | |
|
78 | OUTPUTDIR=${OUTPUTDIR:=packages/debian-$DEBVERSION} | |
|
79 | find ../mercurial*.deb ../mercurial_*.build ../mercurial_*.changes \ | |
|
80 | -type f -newer $control -print0 | \ | |
|
81 | xargs -Inarf -0 mv narf "$OUTPUTDIR" | |
|
82 | echo "Built packages for $version-$release:" | |
|
83 | find "$OUTPUTDIR" -type f -newer $control -name '*.deb' | |
|
84 | fi |
@@ -1,9 +1,47 b'' | |||
|
1 |
|
|
|
2 | Version: __VERSION__ | |
|
1 | Source: mercurial | |
|
3 | 2 | Section: vcs |
|
4 | 3 | Priority: optional |
|
4 | Maintainer: Mercurial Developers <mercurial-devel@selenic.com> | |
|
5 | Build-Depends: | |
|
6 | debhelper (>= 7), | |
|
7 | dh-python, | |
|
8 | python-all | |
|
9 | Standards-Version: 3.9.4 | |
|
10 | X-Python-Version: >= 2.6 | |
|
11 | ||
|
12 | Package: mercurial | |
|
13 | Depends: | |
|
14 | python, | |
|
15 | ${shlibs:Depends}, | |
|
16 | ${misc:Depends}, | |
|
17 | ${python:Depends}, | |
|
18 | mercurial-common (= ${source:Version}) | |
|
19 | Architecture: any | |
|
20 | Description: fast, easy to use, distributed revision control tool. | |
|
21 | Mercurial is a fast, lightweight Source Control Management system designed | |
|
22 | for efficient handling of very large distributed projects. | |
|
23 | . | |
|
24 | Its features include: | |
|
25 | * O(1) delta-compressed file storage and retrieval scheme | |
|
26 | * Complete cross-indexing of files and changesets for efficient exploration | |
|
27 | of project history | |
|
28 | * Robust SHA1-based integrity checking and append-only storage model | |
|
29 | * Decentralized development model with arbitrary merging between trees | |
|
30 | * Easy-to-use command-line interface | |
|
31 | * Integrated stand-alone web interface | |
|
32 | * Small Python codebase | |
|
33 | ||
|
34 | Package: mercurial-common | |
|
5 | 35 | Architecture: all |
|
6 |
Depends: |
|
|
7 | Conflicts: mercurial-common | |
|
8 | Maintainer: Mercurial Developers <mercurial-devel@selenic.com> | |
|
9 | Description: Mercurial (probably nightly) package built by upstream. | |
|
36 | Depends: | |
|
37 | ${misc:Depends}, | |
|
38 | ${python:Depends}, | |
|
39 | Recommends: mercurial (= ${source:Version}), ca-certificates | |
|
40 | Breaks: mercurial (<< ${source:Version}) | |
|
41 | Replaces: mercurial (<< 2.6.3) | |
|
42 | Description: easy-to-use, scalable distributed version control system (common files) | |
|
43 | Mercurial is a fast, lightweight Source Control Management system designed | |
|
44 | for efficient handling of very large distributed projects. | |
|
45 | . | |
|
46 | This package contains the architecture independent components of Mercurial, | |
|
47 | and is generally useless without the mercurial package. |
@@ -1,40 +1,34 b'' | |||
|
1 | 1 | #!/bin/bash -eu |
|
2 | 2 | |
|
3 | 3 | . $(dirname $0)/dockerlib.sh |
|
4 | 4 | . $(dirname $0)/packagelib.sh |
|
5 | 5 | |
|
6 | 6 | BUILDDIR=$(dirname $0) |
|
7 | 7 | export ROOTDIR=$(cd $BUILDDIR/..; pwd) |
|
8 | 8 | |
|
9 | 9 | checkdocker |
|
10 | 10 | |
|
11 | 11 | DEBPLATFORM="$1" |
|
12 | 12 | PLATFORM="debian-$1" |
|
13 | 13 | shift # extra params are passed to build process |
|
14 | 14 | |
|
15 | OUTPUTDIR=${OUTPUTDIR:=$ROOTDIR/packages/$PLATFORM} | |
|
16 | ||
|
15 | 17 | initcontainer $PLATFORM |
|
16 | 18 | |
|
17 | DEBBUILDDIR=${OUTPUTDIR:=$ROOTDIR/packages/$PLATFORM} | |
|
18 | OUTPUTDIR=$DEBBUILDDIR/staged contrib/builddeb --release $DEBPLATFORM --prepare | |
|
19 | # debuild only appears to be able to save built debs etc to .., so we | |
|
20 | # have to share the .. of the current directory with the docker | |
|
21 | # container and hope it's writable. Whee. | |
|
22 | dn=$(basename $PWD) | |
|
19 | 23 | |
|
20 | DSHARED=/mnt/shared/ | |
|
21 | 24 | if [ $(uname) = "Darwin" ] ; then |
|
22 |
$DOCKER run -u $DBUILDUSER --rm -v $ |
|
|
23 |
sh -c "cd /mnt/ |
|
|
25 | $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \ | |
|
26 | sh -c "cd /mnt/$dn && make clean && make local" | |
|
24 | 27 | fi |
|
25 |
$DOCKER run -u $DBUILDUSER --rm -v $ |
|
|
26 | sh -c "cd /mnt/hg && make PREFIX=$DSHARED/staged/usr install" | |
|
27 | $DOCKER run -u $DBUILDUSER --rm -v $DEBBUILDDIR:$DSHARED $CONTAINER \ | |
|
28 | dpkg-deb --build $DSHARED/staged | |
|
28 | $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \ | |
|
29 | sh -c "cd /mnt/$dn && DEB_BUILD_OPTIONS='${DEB_BUILD_OPTIONS:=}' contrib/builddeb --build --release $DEBPLATFORM" | |
|
30 | contrib/builddeb --cleanup --release $DEBPLATFORM | |
|
29 | 31 | if [ $(uname) = "Darwin" ] ; then |
|
30 |
$DOCKER run -u $DBUILDUSER --rm -v $ |
|
|
31 |
sh -c "cd /mnt/ |
|
|
32 | $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \ | |
|
33 | sh -c "cd /mnt/$dn && make clean" | |
|
32 | 34 | fi |
|
33 | ||
|
34 | gethgversion | |
|
35 | ||
|
36 | rm -r $DEBBUILDDIR/staged | |
|
37 | mv $DEBBUILDDIR/staged.deb $DEBBUILDDIR/mercurial-$version-$release.deb | |
|
38 | ||
|
39 | echo | |
|
40 | echo "Build complete - results can be found in $DEBBUILDDIR" |
@@ -1,13 +1,20 b'' | |||
|
1 | 1 | #require test-repo slow debhelper |
|
2 | ||
|
3 | Ensure debuild doesn't run the testsuite, as that could get silly. | |
|
4 | $ DEB_BUILD_OPTIONS=nocheck | |
|
5 | $ export DEB_BUILD_OPTIONS | |
|
2 | 6 | $ OUTPUTDIR=`pwd` |
|
3 | 7 | $ export OUTPUTDIR |
|
4 | 8 | |
|
5 | 9 | $ cd "$TESTDIR"/.. |
|
6 | 10 |
$ make deb > $OUTPUTDIR/build.log 2>&1 |
|
7 | 11 | $ cd $OUTPUTDIR |
|
8 | 12 | $ ls *.deb |
|
9 | mercurial-*.deb (glob) | |
|
10 | $ dpkg --contents mercurial*.deb | grep localrepo | |
|
11 | * ./usr/lib/python2.7/site-packages/mercurial/localrepo.py (glob) | |
|
12 | * ./usr/lib/python2.7/site-packages/mercurial/localrepo.pyc (glob) | |
|
13 | $ rm -f *.deb build.log | |
|
13 | mercurial-common_*.deb (glob) | |
|
14 | mercurial_*.deb (glob) | |
|
15 | main deb should have .so but no .py | |
|
16 | $ dpkg --contents mercurial_*.deb | egrep '(localrepo|parsers)' | |
|
17 | * ./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob) | |
|
18 | mercurial-common should have py but no .so or pyc | |
|
19 | $ dpkg --contents mercurial-common_*.deb | egrep '(localrepo|parsers)' | |
|
20 | * ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py (glob) |
@@ -1,19 +1,27 b'' | |||
|
1 | 1 | #require test-repo slow docker |
|
2 | 2 | |
|
3 | Ensure debuild doesn't run the testsuite, as that could get silly. | |
|
4 | $ DEB_BUILD_OPTIONS=nocheck | |
|
5 | $ export DEB_BUILD_OPTIONS | |
|
3 | 6 | $ OUTPUTDIR=`pwd` |
|
4 | 7 | $ export OUTPUTDIR |
|
5 | 8 | |
|
6 | 9 | $ cd "$TESTDIR"/.. |
|
7 | 10 |
$ make docker-debian-jessie > $OUTPUTDIR/build.log 2>&1 |
|
8 | 11 | $ cd $OUTPUTDIR |
|
9 | 12 | $ ls *.deb |
|
10 | mercurial-*.deb (glob) | |
|
13 | mercurial-common_*.deb (glob) | |
|
14 | mercurial_*.deb (glob) | |
|
11 | 15 | |
|
12 | 16 | We check debian package contents with portable tools so that when |
|
13 | 17 |
|
|
14 | 18 | built using docker. |
|
15 | $ ar x mercurial*.deb | |
|
16 | $ tar tf data.tar* | grep localrepo | sort | |
|
17 | ./usr/lib/python2.7/site-packages/mercurial/localrepo.py | |
|
18 | ./usr/lib/python2.7/site-packages/mercurial/localrepo.pyc | |
|
19 | $ rm -f *.deb build.log | |
|
19 | ||
|
20 | main deb should have .so but no .py | |
|
21 | $ ar x mercurial_*.deb | |
|
22 | $ tar tf data.tar* | egrep '(localrepo|parsers)' | |
|
23 | ./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob) | |
|
24 | mercurial-common should have .py but no .so or .pyc | |
|
25 | $ ar x mercurial-common_*.deb | |
|
26 | $ tar tf data.tar* | egrep '(localrepo|parsers)' | |
|
27 | ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py |
General Comments 0
You need to be logged in to leave comments.
Login now