##// END OF EJS Templates
packaging: remove references to debian jessie...
Augie Fackler -
r43814:6e99ebc0 default draft
parent child Browse files
Show More
@@ -1,257 +1,258 b''
1 # If you want to change PREFIX, do not just edit it below. The changed
1 # If you want to change PREFIX, do not just edit it below. The changed
2 # value wont get passed on to recursive make calls. You should instead
2 # value wont get passed on to recursive make calls. You should instead
3 # override the variable on the command like:
3 # override the variable on the command like:
4 #
4 #
5 # % make PREFIX=/opt/ install
5 # % make PREFIX=/opt/ install
6
6
7 export PREFIX=/usr/local
7 export PREFIX=/usr/local
8 PYTHON?=python
8 PYTHON?=python
9 $(eval HGROOT := $(shell pwd))
9 $(eval HGROOT := $(shell pwd))
10 HGPYTHONS ?= $(HGROOT)/build/pythons
10 HGPYTHONS ?= $(HGROOT)/build/pythons
11 PURE=
11 PURE=
12 PYFILESCMD=find mercurial hgext doc -name '*.py'
12 PYFILESCMD=find mercurial hgext doc -name '*.py'
13 PYFILES:=$(shell $(PYFILESCMD))
13 PYFILES:=$(shell $(PYFILESCMD))
14 DOCFILES=mercurial/help/*.txt
14 DOCFILES=mercurial/help/*.txt
15 export LANGUAGE=C
15 export LANGUAGE=C
16 export LC_ALL=C
16 export LC_ALL=C
17 TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
17 TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
18 OSXVERSIONFLAGS ?= $(shell echo $$OSXVERSIONFLAGS)
18 OSXVERSIONFLAGS ?= $(shell echo $$OSXVERSIONFLAGS)
19 CARGO = cargo
19 CARGO = cargo
20
20
21 # Set this to e.g. "mingw32" to use a non-default compiler.
21 # Set this to e.g. "mingw32" to use a non-default compiler.
22 COMPILER=
22 COMPILER=
23
23
24 COMPILERFLAG_tmp_ =
24 COMPILERFLAG_tmp_ =
25 COMPILERFLAG_tmp_${COMPILER} ?= -c $(COMPILER)
25 COMPILERFLAG_tmp_${COMPILER} ?= -c $(COMPILER)
26 COMPILERFLAG=${COMPILERFLAG_tmp_${COMPILER}}
26 COMPILERFLAG=${COMPILERFLAG_tmp_${COMPILER}}
27
27
28 help:
28 help:
29 @echo 'Commonly used make targets:'
29 @echo 'Commonly used make targets:'
30 @echo ' all - build program and documentation'
30 @echo ' all - build program and documentation'
31 @echo ' install - install program and man pages to $$PREFIX ($(PREFIX))'
31 @echo ' install - install program and man pages to $$PREFIX ($(PREFIX))'
32 @echo ' install-home - install with setup.py install --home=$$HOME ($(HOME))'
32 @echo ' install-home - install with setup.py install --home=$$HOME ($(HOME))'
33 @echo ' local - build for inplace usage'
33 @echo ' local - build for inplace usage'
34 @echo ' tests - run all tests in the automatic test suite'
34 @echo ' tests - run all tests in the automatic test suite'
35 @echo ' test-foo - run only specified tests (e.g. test-merge1.t)'
35 @echo ' test-foo - run only specified tests (e.g. test-merge1.t)'
36 @echo ' dist - run all tests and create a source tarball in dist/'
36 @echo ' dist - run all tests and create a source tarball in dist/'
37 @echo ' clean - remove files created by other targets'
37 @echo ' clean - remove files created by other targets'
38 @echo ' (except installed files or dist source tarball)'
38 @echo ' (except installed files or dist source tarball)'
39 @echo ' update-pot - update i18n/hg.pot'
39 @echo ' update-pot - update i18n/hg.pot'
40 @echo
40 @echo
41 @echo 'Example for a system-wide installation under /usr/local:'
41 @echo 'Example for a system-wide installation under /usr/local:'
42 @echo ' make all && su -c "make install" && hg version'
42 @echo ' make all && su -c "make install" && hg version'
43 @echo
43 @echo
44 @echo 'Example for a local installation (usable in this directory):'
44 @echo 'Example for a local installation (usable in this directory):'
45 @echo ' make local && ./hg version'
45 @echo ' make local && ./hg version'
46
46
47 all: build doc
47 all: build doc
48
48
49 local:
49 local:
50 $(PYTHON) setup.py $(PURE) \
50 $(PYTHON) setup.py $(PURE) \
51 build_py -c -d . \
51 build_py -c -d . \
52 build_ext $(COMPILERFLAG) -i \
52 build_ext $(COMPILERFLAG) -i \
53 build_hgexe $(COMPILERFLAG) -i \
53 build_hgexe $(COMPILERFLAG) -i \
54 build_mo
54 build_mo
55 env HGRCPATH= $(PYTHON) hg version
55 env HGRCPATH= $(PYTHON) hg version
56
56
57 build:
57 build:
58 $(PYTHON) setup.py $(PURE) build $(COMPILERFLAG)
58 $(PYTHON) setup.py $(PURE) build $(COMPILERFLAG)
59
59
60 wheel:
60 wheel:
61 FORCE_SETUPTOOLS=1 $(PYTHON) setup.py $(PURE) bdist_wheel $(COMPILERFLAG)
61 FORCE_SETUPTOOLS=1 $(PYTHON) setup.py $(PURE) bdist_wheel $(COMPILERFLAG)
62
62
63 doc:
63 doc:
64 $(MAKE) -C doc
64 $(MAKE) -C doc
65
65
66 cleanbutpackages:
66 cleanbutpackages:
67 -$(PYTHON) setup.py clean --all # ignore errors from this command
67 -$(PYTHON) setup.py clean --all # ignore errors from this command
68 find contrib doc hgext hgext3rd i18n mercurial tests hgdemandimport \
68 find contrib doc hgext hgext3rd i18n mercurial tests hgdemandimport \
69 \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';'
69 \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';'
70 rm -f MANIFEST MANIFEST.in hgext/__index__.py tests/*.err
70 rm -f MANIFEST MANIFEST.in hgext/__index__.py tests/*.err
71 rm -f mercurial/__modulepolicy__.py
71 rm -f mercurial/__modulepolicy__.py
72 if test -d .hg; then rm -f mercurial/__version__.py; fi
72 if test -d .hg; then rm -f mercurial/__version__.py; fi
73 rm -rf build mercurial/locale
73 rm -rf build mercurial/locale
74 $(MAKE) -C doc clean
74 $(MAKE) -C doc clean
75 $(MAKE) -C contrib/chg distclean
75 $(MAKE) -C contrib/chg distclean
76 rm -rf rust/target
76 rm -rf rust/target
77 rm -f mercurial/rustext.so
77 rm -f mercurial/rustext.so
78
78
79 clean: cleanbutpackages
79 clean: cleanbutpackages
80 rm -rf packages
80 rm -rf packages
81
81
82 install: install-bin install-doc
82 install: install-bin install-doc
83
83
84 install-bin: build
84 install-bin: build
85 $(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force
85 $(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force
86
86
87 install-doc: doc
87 install-doc: doc
88 cd doc && $(MAKE) $(MFLAGS) install
88 cd doc && $(MAKE) $(MFLAGS) install
89
89
90 install-home: install-home-bin install-home-doc
90 install-home: install-home-bin install-home-doc
91
91
92 install-home-bin: build
92 install-home-bin: build
93 $(PYTHON) setup.py $(PURE) install --home="$(HOME)" --prefix="" --force
93 $(PYTHON) setup.py $(PURE) install --home="$(HOME)" --prefix="" --force
94
94
95 install-home-doc: doc
95 install-home-doc: doc
96 cd doc && $(MAKE) $(MFLAGS) PREFIX="$(HOME)" install
96 cd doc && $(MAKE) $(MFLAGS) PREFIX="$(HOME)" install
97
97
98 MANIFEST-doc:
98 MANIFEST-doc:
99 $(MAKE) -C doc MANIFEST
99 $(MAKE) -C doc MANIFEST
100
100
101 MANIFEST.in: MANIFEST-doc
101 MANIFEST.in: MANIFEST-doc
102 hg manifest | sed -e 's/^/include /' > MANIFEST.in
102 hg manifest | sed -e 's/^/include /' > MANIFEST.in
103 echo include mercurial/__version__.py >> MANIFEST.in
103 echo include mercurial/__version__.py >> MANIFEST.in
104 sed -e 's/^/include /' < doc/MANIFEST >> MANIFEST.in
104 sed -e 's/^/include /' < doc/MANIFEST >> MANIFEST.in
105
105
106 dist: tests dist-notests
106 dist: tests dist-notests
107
107
108 dist-notests: doc MANIFEST.in
108 dist-notests: doc MANIFEST.in
109 TAR_OPTIONS="--owner=root --group=root --mode=u+w,go-w,a+rX-s" $(PYTHON) setup.py -q sdist
109 TAR_OPTIONS="--owner=root --group=root --mode=u+w,go-w,a+rX-s" $(PYTHON) setup.py -q sdist
110
110
111 check: tests
111 check: tests
112
112
113 tests:
113 tests:
114 # Run Rust tests if cargo is installed
114 # Run Rust tests if cargo is installed
115 if command -v $(CARGO) >/dev/null 2>&1; then \
115 if command -v $(CARGO) >/dev/null 2>&1; then \
116 $(MAKE) rust-tests; \
116 $(MAKE) rust-tests; \
117 fi
117 fi
118 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS)
118 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS)
119
119
120 test-%:
120 test-%:
121 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) $@
121 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) $@
122
122
123 testpy-%:
123 testpy-%:
124 @echo Looking for Python $* in $(HGPYTHONS)
124 @echo Looking for Python $* in $(HGPYTHONS)
125 [ -e $(HGPYTHONS)/$*/bin/python ] || ( \
125 [ -e $(HGPYTHONS)/$*/bin/python ] || ( \
126 cd $$(mktemp --directory --tmpdir) && \
126 cd $$(mktemp --directory --tmpdir) && \
127 $(MAKE) -f $(HGROOT)/contrib/Makefile.python PYTHONVER=$* PREFIX=$(HGPYTHONS)/$* python )
127 $(MAKE) -f $(HGROOT)/contrib/Makefile.python PYTHONVER=$* PREFIX=$(HGPYTHONS)/$* python )
128 cd tests && $(HGPYTHONS)/$*/bin/python run-tests.py $(TESTFLAGS)
128 cd tests && $(HGPYTHONS)/$*/bin/python run-tests.py $(TESTFLAGS)
129
129
130 rust-tests: py_feature = $(shell $(PYTHON) -c \
130 rust-tests: py_feature = $(shell $(PYTHON) -c \
131 'import sys; print(["python27-bin", "python3-bin"][sys.version_info[0] >= 3])')
131 'import sys; print(["python27-bin", "python3-bin"][sys.version_info[0] >= 3])')
132 rust-tests:
132 rust-tests:
133 cd $(HGROOT)/rust/hg-cpython \
133 cd $(HGROOT)/rust/hg-cpython \
134 && $(CARGO) test --quiet --all \
134 && $(CARGO) test --quiet --all \
135 --no-default-features --features "$(py_feature)"
135 --no-default-features --features "$(py_feature)"
136
136
137 check-code:
137 check-code:
138 hg manifest | xargs python contrib/check-code.py
138 hg manifest | xargs python contrib/check-code.py
139
139
140 format-c:
140 format-c:
141 clang-format --style file -i \
141 clang-format --style file -i \
142 `hg files 'set:(**.c or **.cc or **.h) and not "listfile:contrib/clang-format-ignorelist"'`
142 `hg files 'set:(**.c or **.cc or **.h) and not "listfile:contrib/clang-format-ignorelist"'`
143
143
144 update-pot: i18n/hg.pot
144 update-pot: i18n/hg.pot
145
145
146 i18n/hg.pot: $(PYFILES) $(DOCFILES) i18n/posplit i18n/hggettext
146 i18n/hg.pot: $(PYFILES) $(DOCFILES) i18n/posplit i18n/hggettext
147 $(PYTHON) i18n/hggettext mercurial/commands.py \
147 $(PYTHON) i18n/hggettext mercurial/commands.py \
148 hgext/*.py hgext/*/__init__.py \
148 hgext/*.py hgext/*/__init__.py \
149 mercurial/fileset.py mercurial/revset.py \
149 mercurial/fileset.py mercurial/revset.py \
150 mercurial/templatefilters.py \
150 mercurial/templatefilters.py \
151 mercurial/templatefuncs.py \
151 mercurial/templatefuncs.py \
152 mercurial/templatekw.py \
152 mercurial/templatekw.py \
153 mercurial/filemerge.py \
153 mercurial/filemerge.py \
154 mercurial/hgweb/webcommands.py \
154 mercurial/hgweb/webcommands.py \
155 mercurial/util.py \
155 mercurial/util.py \
156 $(DOCFILES) > i18n/hg.pot.tmp
156 $(DOCFILES) > i18n/hg.pot.tmp
157 # All strings marked for translation in Mercurial contain
157 # All strings marked for translation in Mercurial contain
158 # ASCII characters only. But some files contain string
158 # ASCII characters only. But some files contain string
159 # literals like this '\037\213'. xgettext thinks it has to
159 # literals like this '\037\213'. xgettext thinks it has to
160 # parse them even though they are not marked for translation.
160 # parse them even though they are not marked for translation.
161 # Extracting with an explicit encoding of ISO-8859-1 will make
161 # Extracting with an explicit encoding of ISO-8859-1 will make
162 # xgettext "parse" and ignore them.
162 # xgettext "parse" and ignore them.
163 $(PYFILESCMD) | xargs \
163 $(PYFILESCMD) | xargs \
164 xgettext --package-name "Mercurial" \
164 xgettext --package-name "Mercurial" \
165 --msgid-bugs-address "<mercurial-devel@mercurial-scm.org>" \
165 --msgid-bugs-address "<mercurial-devel@mercurial-scm.org>" \
166 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \
166 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \
167 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \
167 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \
168 -d hg -p i18n -o hg.pot.tmp
168 -d hg -p i18n -o hg.pot.tmp
169 $(PYTHON) i18n/posplit i18n/hg.pot.tmp
169 $(PYTHON) i18n/posplit i18n/hg.pot.tmp
170 # The target file is not created before the last step. So it never is in
170 # The target file is not created before the last step. So it never is in
171 # an intermediate state.
171 # an intermediate state.
172 mv -f i18n/hg.pot.tmp i18n/hg.pot
172 mv -f i18n/hg.pot.tmp i18n/hg.pot
173
173
174 %.po: i18n/hg.pot
174 %.po: i18n/hg.pot
175 # work on a temporary copy for never having a half completed target
175 # work on a temporary copy for never having a half completed target
176 cp $@ $@.tmp
176 cp $@ $@.tmp
177 msgmerge --no-location --update $@.tmp $^
177 msgmerge --no-location --update $@.tmp $^
178 mv -f $@.tmp $@
178 mv -f $@.tmp $@
179
179
180 # Packaging targets
180 # Packaging targets
181
181
182 packaging_targets := \
182 packaging_targets := \
183 centos5 \
183 centos5 \
184 centos6 \
184 centos6 \
185 centos7 \
185 centos7 \
186 centos8 \
186 centos8 \
187 deb \
187 deb \
188 docker-centos5 \
188 docker-centos5 \
189 docker-centos6 \
189 docker-centos6 \
190 docker-centos7 \
190 docker-centos7 \
191 docker-centos8 \
191 docker-centos8 \
192 docker-debian-jessie \
192 docker-debian-bullseye \
193 docker-debian-buster \
193 docker-debian-stretch \
194 docker-debian-stretch \
194 docker-fedora \
195 docker-fedora \
195 docker-ubuntu-trusty \
196 docker-ubuntu-trusty \
196 docker-ubuntu-trusty-ppa \
197 docker-ubuntu-trusty-ppa \
197 docker-ubuntu-xenial \
198 docker-ubuntu-xenial \
198 docker-ubuntu-xenial-ppa \
199 docker-ubuntu-xenial-ppa \
199 docker-ubuntu-artful \
200 docker-ubuntu-artful \
200 docker-ubuntu-artful-ppa \
201 docker-ubuntu-artful-ppa \
201 docker-ubuntu-bionic \
202 docker-ubuntu-bionic \
202 docker-ubuntu-bionic-ppa \
203 docker-ubuntu-bionic-ppa \
203 fedora \
204 fedora \
204 linux-wheels \
205 linux-wheels \
205 linux-wheels-x86_64 \
206 linux-wheels-x86_64 \
206 linux-wheels-i686 \
207 linux-wheels-i686 \
207 ppa
208 ppa
208
209
209 # Forward packaging targets for convenience.
210 # Forward packaging targets for convenience.
210 $(packaging_targets):
211 $(packaging_targets):
211 $(MAKE) -C contrib/packaging $@
212 $(MAKE) -C contrib/packaging $@
212
213
213 osx:
214 osx:
214 rm -rf build/mercurial
215 rm -rf build/mercurial
215 /usr/bin/python2.7 setup.py install --optimize=1 \
216 /usr/bin/python2.7 setup.py install --optimize=1 \
216 --root=build/mercurial/ --prefix=/usr/local/ \
217 --root=build/mercurial/ --prefix=/usr/local/ \
217 --install-lib=/Library/Python/2.7/site-packages/
218 --install-lib=/Library/Python/2.7/site-packages/
218 make -C doc all install DESTDIR="$(PWD)/build/mercurial/"
219 make -C doc all install DESTDIR="$(PWD)/build/mercurial/"
219 # Place a bogon .DS_Store file in the target dir so we can be
220 # Place a bogon .DS_Store file in the target dir so we can be
220 # sure it doesn't get included in the final package.
221 # sure it doesn't get included in the final package.
221 touch build/mercurial/.DS_Store
222 touch build/mercurial/.DS_Store
222 # install zsh completions - this location appears to be
223 # install zsh completions - this location appears to be
223 # searched by default as of macOS Sierra.
224 # searched by default as of macOS Sierra.
224 install -d build/mercurial/usr/local/share/zsh/site-functions/
225 install -d build/mercurial/usr/local/share/zsh/site-functions/
225 install -m 0644 contrib/zsh_completion build/mercurial/usr/local/share/zsh/site-functions/_hg
226 install -m 0644 contrib/zsh_completion build/mercurial/usr/local/share/zsh/site-functions/_hg
226 # install bash completions - there doesn't appear to be a
227 # install bash completions - there doesn't appear to be a
227 # place that's searched by default for bash, so we'll follow
228 # place that's searched by default for bash, so we'll follow
228 # the lead of Apple's git install and just put it in a
229 # the lead of Apple's git install and just put it in a
229 # location of our own.
230 # location of our own.
230 install -d build/mercurial/usr/local/hg/contrib/
231 install -d build/mercurial/usr/local/hg/contrib/
231 install -m 0644 contrib/bash_completion build/mercurial/usr/local/hg/contrib/hg-completion.bash
232 install -m 0644 contrib/bash_completion build/mercurial/usr/local/hg/contrib/hg-completion.bash
232 make -C contrib/chg \
233 make -C contrib/chg \
233 HGPATH=/usr/local/bin/hg \
234 HGPATH=/usr/local/bin/hg \
234 PYTHON=/usr/bin/python2.7 \
235 PYTHON=/usr/bin/python2.7 \
235 HGEXTDIR=/Library/Python/2.7/site-packages/hgext \
236 HGEXTDIR=/Library/Python/2.7/site-packages/hgext \
236 DESTDIR=../../build/mercurial \
237 DESTDIR=../../build/mercurial \
237 PREFIX=/usr/local \
238 PREFIX=/usr/local \
238 clean install
239 clean install
239 mkdir -p $${OUTPUTDIR:-dist}
240 mkdir -p $${OUTPUTDIR:-dist}
240 HGVER=$$(python contrib/genosxversion.py $(OSXVERSIONFLAGS) build/mercurial/Library/Python/2.7/site-packages/mercurial/__version__.py) && \
241 HGVER=$$(python contrib/genosxversion.py $(OSXVERSIONFLAGS) build/mercurial/Library/Python/2.7/site-packages/mercurial/__version__.py) && \
241 OSXVER=$$(sw_vers -productVersion | cut -d. -f1,2) && \
242 OSXVER=$$(sw_vers -productVersion | cut -d. -f1,2) && \
242 pkgbuild --filter \\.DS_Store --root build/mercurial/ \
243 pkgbuild --filter \\.DS_Store --root build/mercurial/ \
243 --identifier org.mercurial-scm.mercurial \
244 --identifier org.mercurial-scm.mercurial \
244 --version "$${HGVER}" \
245 --version "$${HGVER}" \
245 build/mercurial.pkg && \
246 build/mercurial.pkg && \
246 productbuild --distribution contrib/packaging/macosx/distribution.xml \
247 productbuild --distribution contrib/packaging/macosx/distribution.xml \
247 --package-path build/ \
248 --package-path build/ \
248 --version "$${HGVER}" \
249 --version "$${HGVER}" \
249 --resources contrib/packaging/macosx/ \
250 --resources contrib/packaging/macosx/ \
250 "$${OUTPUTDIR:-dist/}"/Mercurial-"$${HGVER}"-macosx"$${OSXVER}".pkg
251 "$${OUTPUTDIR:-dist/}"/Mercurial-"$${HGVER}"-macosx"$${OSXVER}".pkg
251
252
252 .PHONY: help all local build doc cleanbutpackages clean install install-bin \
253 .PHONY: help all local build doc cleanbutpackages clean install install-bin \
253 install-doc install-home install-home-bin install-home-doc \
254 install-doc install-home install-home-bin install-home-doc \
254 dist dist-notests check tests rust-tests check-code format-c \
255 dist dist-notests check tests rust-tests check-code format-c \
255 update-pot \
256 update-pot \
256 $(packaging_targets) \
257 $(packaging_targets) \
257 osx
258 osx
@@ -1,31 +1,31 b''
1 #require test-repo slow docker
1 #require test-repo slow docker
2
2
3 $ . "$TESTDIR/helpers-testrepo.sh"
3 $ . "$TESTDIR/helpers-testrepo.sh"
4 $ testrepohgenv
4 $ testrepohgenv
5
5
6 Ensure debuild doesn't run the testsuite, as that could get silly.
6 Ensure debuild doesn't run the testsuite, as that could get silly.
7 $ DEB_BUILD_OPTIONS=nocheck
7 $ DEB_BUILD_OPTIONS=nocheck
8 $ export DEB_BUILD_OPTIONS
8 $ export DEB_BUILD_OPTIONS
9 $ OUTPUTDIR=`pwd`
9 $ OUTPUTDIR=`pwd`
10 $ export OUTPUTDIR
10 $ export OUTPUTDIR
11
11
12 $ cd "$TESTDIR"/..
12 $ cd "$TESTDIR"/..
13 $ make docker-debian-jessie > $OUTPUTDIR/build.log 2>&1
13 $ make docker-debian-buster > $OUTPUTDIR/build.log 2>&1
14 $ cd $OUTPUTDIR
14 $ cd $OUTPUTDIR
15 $ ls *.deb
15 $ ls *.deb
16 mercurial-common_*.deb (glob)
16 mercurial-common_*.deb (glob)
17 mercurial_*.deb (glob)
17 mercurial_*.deb (glob)
18
18
19 We check debian package contents with portable tools so that when
19 We check debian package contents with portable tools so that when
20 we're on non-debian machines we can still test the packages that are
20 we're on non-debian machines we can still test the packages that are
21 built using docker.
21 built using docker.
22
22
23 main deb should have .so but no .py
23 main deb should have .so but no .py
24 $ ar x mercurial_*.deb
24 $ ar x mercurial_*.deb
25 $ tar tf data.tar* | egrep '(localrepo|parsers)'
25 $ tar tf data.tar* | egrep '(localrepo|parsers)'
26 ./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob)
26 ./usr/lib/python2.7/dist-packages/mercurial/parsers*.so (glob)
27 mercurial-common should have .py but no .so or .pyc
27 mercurial-common should have .py but no .so or .pyc
28 $ ar x mercurial-common_*.deb
28 $ ar x mercurial-common_*.deb
29 $ tar tf data.tar* | egrep '(localrepo|parsers)'
29 $ tar tf data.tar* | egrep '(localrepo|parsers)'
30 ./usr/lib/python2.7/dist-packages/mercurial/pure/parsers.py
30 ./usr/lib/python2.7/dist-packages/mercurial/pure/parsers.py
31 ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py
31 ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py
General Comments 0
You need to be logged in to leave comments. Login now