# HG changeset patch # User Mads Kiilerich # Date 2014-08-31 08:24:25 # Node ID 198e2da3ee207fedff9c762ee19b780713a37f6d # Parent 9c3c3dc14a65b3923811d3edca394f45b98d4c06 osx: create dmg with installer instead of zip OS X would offer to expand the zip so the (multi file) installer inside it could be run ... but that would leave the expanded zip folder around. Instead, use a .dmg file that automatically will be mounted - that seems more common on OS X. Still, there is two levels of levels of clicking before actually launching the installer. Having a single file installer would be better ... but seems to be hard. A more feasible improvement would be some fancy layout inside the .dmg . diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -137,10 +137,11 @@ i18n/hg.pot: $(PYFILES) $(DOCFILES) i18n osx: @which bdist_mpkg >/dev/null || \ (echo "Missing bdist_mpkg (easy_install bdist_mpkg)"; false) + rm -rf dist/mercurial-*.mpkg bdist_mpkg setup.py mkdir -p packages/osx + N=`cd dist && echo mercurial-*.mpkg | sed 's,\.mpkg$$,,'` && hdiutil create -srcfolder dist/$$N.mpkg/ -scrub -volname "$$N" -ov packages/osx/$$N.dmg rm -rf dist/mercurial-*.mpkg - mv dist/mercurial*macosx*.zip packages/osx fedora: mkdir -p packages/fedora diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -583,7 +583,7 @@ setup(name='mercurial', cmdclass=cmdclass, distclass=hgdist, options={'py2exe': {'packages': ['hgext', 'email']}, - 'bdist_mpkg': {'zipdist': True, + 'bdist_mpkg': {'zipdist': False, 'license': 'COPYING', 'readme': 'contrib/macosx/Readme.html', 'welcome': 'contrib/macosx/Welcome.html',