Mercurial > hg
view tests/test-mac-packages.t @ 43617:697c2e32c490
packaging: ship all help .txt files on WiX
These are technically not needed. But it is easier to ship
all files than to cherry-pick. A `make install` will copy
these files, so the new behavior is consistent with that.
This also makes WiX consistent with Inno, which is my main
reason for doing this.
If we don't want to ship the files (which is a valid argument),
I think we can do that in a follow up.
Differential Revision: https://phab.mercurial-scm.org/D7166
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 11 Nov 2019 18:51:55 -0800 |
parents | 283a7da602ae |
children | 8d7eaff92f9c |
line wrap: on
line source
#require test-repo slow osx osxpackaging $ . "$TESTDIR/helpers-testrepo.sh" $ testrepohgenv $ OUTPUTDIR="`pwd`" $ export OUTPUTDIR $ KEEPMPKG=yes $ export KEEPMPKG $ cd "$TESTDIR"/.. $ contrib/genosxversion.py --selftest ignoredarg $ make osx > "$OUTPUTDIR/build.log" 2>&1 $ cd "$OUTPUTDIR" $ ls -d *.pkg Mercurial-*-macosx10.*.pkg (glob) $ xar -xf Mercurial*.pkg Gather list of all installed files: $ lsbom mercurial.pkg/Bom > boms.txt We've had problems with the filter logic in the past. Make sure no .DS_Store files ended up in the final package: $ grep DS_S boms.txt [1] Spot-check some randomly selected files: $ grep bdiff boms.txt | cut -d ' ' -f 1,2,3 ./Library/Python/2.7/site-packages/mercurial/cext/bdiff.so 100755 0/0 ./Library/Python/2.7/site-packages/mercurial/cffi/bdiff.py 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/cffi/bdiff.pyc 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/cffi/bdiff.pyo 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/cffi/bdiffbuild.py 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/cffi/bdiffbuild.pyc 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/cffi/bdiffbuild.pyo 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/pure/bdiff.py 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/pure/bdiff.pyc 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/pure/bdiff.pyo 100644 0/0 $ grep zsh/site-functions/_hg boms.txt | cut -d ' ' -f 1,2,3 ./usr/local/share/zsh/site-functions/_hg 100644 0/0 $ grep hg-completion.bash boms.txt | cut -d ' ' -f 1,2,3 ./usr/local/hg/contrib/hg-completion.bash 100644 0/0 $ egrep 'man[15]' boms.txt | cut -d ' ' -f 1,2,3 ./usr/local/share/man/man1 40755 0/0 ./usr/local/share/man/man1/chg.1 100644 0/0 ./usr/local/share/man/man1/hg.1 100644 0/0 ./usr/local/share/man/man5 40755 0/0 ./usr/local/share/man/man5/hgignore.5 100644 0/0 ./usr/local/share/man/man5/hgrc.5 100644 0/0 $ grep bser boms.txt | cut -d ' ' -f 1,2,3 ./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/bser.so 100755 0/0 ./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.py 100644 0/0 ./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.pyc 100644 0/0 ./Library/Python/2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.pyo 100644 0/0 $ grep localrepo boms.txt | cut -d ' ' -f 1,2,3 ./Library/Python/2.7/site-packages/mercurial/localrepo.py 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/localrepo.pyc 100644 0/0 ./Library/Python/2.7/site-packages/mercurial/localrepo.pyo 100644 0/0 $ egrep 'bin/' boms.txt | cut -d ' ' -f 1,2,3 ./usr/local/bin/chg 100755 0/0 ./usr/local/bin/hg 100755 0/0 Make sure the built binary uses the system Python interpreter $ bsdtar xf mercurial.pkg/Payload usr/local/bin Use a glob to find this to avoid check-code whining about a fixed path. $ head -n 1 usr/local/b?n/hg #!/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Note that we're not currently installing any /etc/mercurial stuff, including merge-tool configurations.