OS X installer

Jean-Francois Roy bahamut at macstorm.org
Mon Jun 22 09:03:15 BST 2009


I can perhaps comment on the process, but I cannot make the commitment  
of doing the work. This process is only valid for Mac OS X 10.5  
(Leopard) and onward, as Mac OS X 10.4 (Tiger) does not have a  
supported version of Python built-in (it has 2.3), and missing  
dependencies for some popular plug-ins (namely, Subversion for bzr-svn).

Finally, this process requires to have the Mac OS X developer tools  
installed, which can be freely obtained from http://developer.apple.com.

1) Install bdist_mpkg (from PyPi). It allows the creation of a native  
Mac OS X installer package from a standard distutils distribution.

2) For the desired version of Bazaar and every plug-in and dependency  
to be bundled, perform a "bdist_mpkg" command inside the directory  
containing the setup.py script (in other words, the source  
distribution's root). This will produce a universal (PowerPC and  
Intel) Mac OS X package for the distribution.

3) Using PackageMaker in the Utilities developer applications folder,  
create a new distribution package for the release. Configure the basic  
attributes of it, such as providing a readme and license by editing  
the UI of the installer. Possibly, you will want to create a new  
directory in which to store the PackageMaker document for future use.  
I would also recommend copying every .mpkg package produced in 2 to  
this directory so as to be able to refer to them relatively from the  
PackageMaker document.

4) For each .mpkg produced in 2, right-click or control-click on the  
meta-package in the Finder and select "Show Package Contents". A set  
of .pkg files will stored in Contents > Packages. For each .pkg file,  
drag it to the content sidebar inside the PackageMaker document. This  
should create a new installation choice with an external package  
reference as its only item.

5) For each package reference item, review the install permissions.  
Make sure the owner and group is recursively set to root:wheel.

6) Build the Bazaar release and test.

Must of this process is up-front setup. In particular, once the  
PackageMaker document is done, it should only be a matter of updating  
the individual Python distribution meta-packages and re-building the  
Bazaar release package.

On Jun 21, 2009, at 17:31, Brendan Simon wrote:

>
>> 2009/6/12 Szilveszter Farkas <szilveszter.farkas at gmail.com>:
>>
>>>> Is there anyway to automate the OS X installer so that it is  
>>>> always up
>>>> to date ??
>>>>
>>> Unfortunately it's not possible AFAIK. There are some parts that can
>>> be automated, but it still involves a lot of handcraft. I know  
>>> that I
>>> still owe the Bazaar community a detailed documentation about the
>>> process...
>>>
>>
>> A document on this would be good, because there probably are other
>> people who could make packages when you're away, or possibly on other
>> OS versions that you don't have installed.
>>
>> Someone else asked about this in
>> <https://answers.edge.launchpad.net/bzr/+question/74906> today.
>>
> Is py2app is used to generate a OS X application bundle ??
> If not, could/should it be used to automate a build ??
>
>




More information about the bazaar mailing list