##// END OF EJS Templates
packaging: ship only a single binary Debian package...
Denis Laxalde -
r43627:7b638d25 stable
parent child Browse files
Show More
@@ -17,10 +17,14 b' X-Python3-Version: >= 3.5'
17
17
18 Package: mercurial
18 Package: mercurial
19 Depends:
19 Depends:
20 sensible-utils,
20 ${shlibs:Depends},
21 ${shlibs:Depends},
21 ${misc:Depends},
22 ${misc:Depends},
22 ${python3:Depends},
23 ${python3:Depends},
23 mercurial-common (= ${source:Version})
24 Recommends: ca-certificates
25 Suggests: wish
26 Replaces: mercurial-common (<< ${source:Version})
27 Breaks: mercurial-common (<< ${source:Version})
24 Architecture: any
28 Architecture: any
25 Description: fast, easy to use, distributed revision control tool.
29 Description: fast, easy to use, distributed revision control tool.
26 Mercurial is a fast, lightweight Source Control Management system designed
30 Mercurial is a fast, lightweight Source Control Management system designed
@@ -35,20 +39,3 b' Description: fast, easy to use, distribu'
35 * Easy-to-use command-line interface
39 * Easy-to-use command-line interface
36 * Integrated stand-alone web interface
40 * Integrated stand-alone web interface
37 * Small Python codebase
41 * Small Python codebase
38
39 Package: mercurial-common
40 Architecture: all
41 Depends:
42 sensible-utils,
43 ${misc:Depends},
44 ${python3:Depends},
45 Recommends: mercurial (= ${source:Version}), ca-certificates
46 Suggests: wish
47 Breaks: mercurial (<< ${source:Version})
48 Replaces: mercurial (<< 2.6.3)
49 Description: easy-to-use, scalable distributed version control system (common files)
50 Mercurial is a fast, lightweight Source Control Management system designed
51 for efficient handling of very large distributed projects.
52 .
53 This package contains the architecture independent components of Mercurial,
54 and is generally useless without the mercurial package.
@@ -15,7 +15,6 b' override_dh_auto_test:'
15
15
16 override_dh_python3:
16 override_dh_python3:
17 dh_python3 --shebang=/usr/bin/python3
17 dh_python3 --shebang=/usr/bin/python3
18 find debian/mercurial/usr/share -type d -empty -delete
19
18
20 override_dh_auto_clean:
19 override_dh_auto_clean:
21 $(MAKE) cleanbutpackages
20 $(MAKE) cleanbutpackages
@@ -32,24 +31,14 b' override_dh_auto_install:'
32 DESTDIR="$(CURDIR)"/debian/mercurial \
31 DESTDIR="$(CURDIR)"/debian/mercurial \
33 PREFIX=/usr \
32 PREFIX=/usr \
34 install
33 install
35 # remove arch-independent python stuff
34 make install-doc PREFIX="$(CURDIR)"/debian/mercurial/usr
36 find "$(CURDIR)"/debian/mercurial/usr/lib \
35 cp contrib/hg-ssh "$(CURDIR)"/debian/mercurial/usr/bin
37 ! -name '*.so' ! -type d -delete , \
36 mkdir -p "$(CURDIR)"/debian/mercurial/usr/share/mercurial
38 -type d -empty -delete
37 cp contrib/hgk "$(CURDIR)"/debian/mercurial/usr/share/mercurial
39 python3 setup.py install --root "$(CURDIR)/debian/mercurial-common" --install-layout=deb
38 mkdir -p "$(CURDIR)"/debian/mercurial/etc/mercurial/hgrc.d/
40 make install-doc PREFIX="$(CURDIR)"/debian/mercurial-common/usr
39 cp contrib/packaging/debian/*.rc "$(CURDIR)"/debian/mercurial/etc/mercurial/hgrc.d/
41 # remove arch-dependent python stuff
42 find "$(CURDIR)"/debian/mercurial-common/usr/lib \
43 -name '*.so' ! -type d -delete , \
44 -type d -empty -delete
45 cp contrib/hg-ssh "$(CURDIR)"/debian/mercurial-common/usr/bin
46 mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
47 cp contrib/hgk "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
48 mkdir -p "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
49 cp contrib/packaging/debian/*.rc "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
50 # completions
40 # completions
51 mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions
41 mkdir -p "$(CURDIR)"/debian/mercurial/usr/share/bash-completion/completions
52 cp contrib/bash_completion "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions/hg
42 cp contrib/bash_completion "$(CURDIR)"/debian/mercurial/usr/share/bash-completion/completions/hg
53 mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions
43 mkdir -p "$(CURDIR)"/debian/mercurial/usr/share/zsh/vendor-completions
54 cp contrib/zsh_completion "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions/_hg
44 cp contrib/zsh_completion "$(CURDIR)"/debian/mercurial/usr/share/zsh/vendor-completions/_hg
55 rm "$(CURDIR)"/debian/mercurial-common/usr/bin/hg
@@ -13,18 +13,16 b" Ensure debuild doesn't run the testsuite"
13 $ make deb > $OUTPUTDIR/build.log 2>&1
13 $ make deb > $OUTPUTDIR/build.log 2>&1
14 $ cd $OUTPUTDIR
14 $ cd $OUTPUTDIR
15 $ ls *.deb | grep -v 'dbg'
15 $ ls *.deb | grep -v 'dbg'
16 mercurial-common_*.deb (glob)
17 mercurial_*.deb (glob)
16 mercurial_*.deb (glob)
18 main deb should have .so but no .py
17 should have .so and .py
19 $ dpkg --contents mercurial_*.deb | egrep '(localrepo|parsers)'
18 $ dpkg --contents mercurial_*.deb | egrep '(localrepo|parsers)'
20 * ./usr/lib/python3/dist-packages/mercurial/cext/parsers*.so (glob)
19 * ./usr/lib/python3/dist-packages/mercurial/cext/parsers*.so (glob)
21 mercurial-common should have py but no .so or pyc
22 $ dpkg --contents mercurial-common_*.deb | egrep '(localrepo|parsers.*so)'
23 * ./usr/lib/python3/dist-packages/mercurial/localrepo.py (glob)
20 * ./usr/lib/python3/dist-packages/mercurial/localrepo.py (glob)
24 zsh completions should be in the common package
21 * ./usr/lib/python3/dist-packages/mercurial/pure/parsers.py (glob)
25 $ dpkg --contents mercurial-common_*.deb | egrep 'zsh.*[^/]$'
22 should have zsh completions
23 $ dpkg --contents mercurial_*.deb | egrep 'zsh.*[^/]$'
26 * ./usr/share/zsh/vendor-completions/_hg (glob)
24 * ./usr/share/zsh/vendor-completions/_hg (glob)
27 chg should be installed alongside hg, in the 'mercurial' package
25 should have chg
28 $ dpkg --contents mercurial_*.deb | egrep 'chg$'
26 $ dpkg --contents mercurial_*.deb | egrep 'chg$'
29 * ./usr/bin/chg (glob)
27 * ./usr/bin/chg (glob)
30 chg should come with a man page
28 chg should come with a man page
General Comments 0
You need to be logged in to leave comments. Login now