Universal and binary builds

Anders F Björklund afb at macports.org
Tue Mar 24 00:33:06 PDT 2009


Bradley Giesbrecht wrote:

>>> RPM may be appealing to many for various reasons and I won't  
>>> argue that.
>>>
>>> Apple has created the package format for distributing binaries  
>>> and it is
>>> familiar to most users and does not require any additional  
>>> software be
>>> installed.
>>>
>>> If macports binaries were packaged in osx package format wouldn't  
>>> that
>>> be more native and there by more attractive then rpms?
>>
>> The package format is practically irrelevant for use within MacPorts
>> since all the necessary info should be stored in the registry.
>>
>> For distributing to users who don't have MP installed, .pkg is nice
>> until you want to uninstall...
>
> Are uninstall options within a pkg difficult?

No, theoretically you would just hit "Uninstall" on the receipt file...

It's just that the feature has been removed from Installer for a while.

> Many installer distributed in dmg's provide an uninstall script.

Right, those are normally created manually and known as "a workaround".

I suppose "port dmg" target could create such uninstaller programs too.


> I guess I just don't see the appeal of rpm. What do you see as the  
> advantages of rpm?

- It's free software.

- It's cross-platform.

- It doesn't require a dmg wrapper (fixed with "flat" packages, but  
still).

- It offers much better compression than gzip, such as bzip2 or lzma  
or xz.

- It has much better metadata, and offer powerful queries on such  
metadata.

- It has multiple signature and digest formats included within the  
package.

- It has SRPMS for source.

- You can uninstall them.

But I might be slightly biased, since I maintain RPM for Mac OS X and  
FreeBSD.
You can find more information about RPM outside of MacPorts on http:// 
rpm5.org


> Would rpm be internal to the macports port command and leverage rpm  
> dependency checking or something?

It could be (see "dp_light"* or Fink), or it could run on external  
packages.
* http://web.archive.org/web/20060616124730/http://opendarwin.org/ 
~olegb/notes/NOTES_ON_DPLIGHT.TXT

That is, you could use MacPorts to build the RPMS and then use RPM  
tools to
install them. Not that port would have any clue that they were installed
(unless someone writes the rpmdb<->registry integration), so it would be
about the same as using pkg packages. Neither needs port to be  
installed.

For now there is no development on it though, so MP is using the  
"archives".

> I'm thinking of all the software I have downloaded in the past like  
> php, mysql, gimp, foo2zjs, foomatic-rip, gutenprint etc... that are  
> already distributed via dmg's.

What's inside those packages could vary a bit, but I assume you mean  
pkg here ?

> It seems like it would be nice to have macports a popular place to  
> build and distribute such things.

MacPorts is rather poor at building stand-alone installers, besides  
for itself.

The meta-packages are rather huge, mostly manual to install and to  
update and
keep updated - and has all the same problems as regular Installer  
packages do.

Still, people seem to like them so against my better judgement I  
fixed them...

--anders



More information about the macports-dev mailing list