Features desirable for packaging

Anders F Björklund afb at macports.org
Thu Aug 30 02:48:26 PDT 2007


It has been mentioned before, so I thought I'd summarize what features 
that could benefit the packaging targets (I'm thinking primarily of the 
"rpm" target here of course, but I'm sure it'd help pkg and deb targets 
as well):

1) Config files

We need a feature in the Portfile to mark which of the install files 
are configuration. These files will then be handled specially when 
doing installations/upgrades/removals, in that any existing modified 
configuration will *not* be overwritten. It could also be helpful for 
implementing a similar feature in the regular install/activate target 
too.

Syntax could probably be similar to "destroot.keepdirs"

2) Sub-packages

When building binary packages, having everything in a single port 
increases the size of package dependencies greatly. Usually one doesn't 
need the developer files, so there's a whole bunch of headers and 
whatnot undesirable. Splitting these off into a subpackage called 
"*-dev" (from DEB) or "*-devel" (this RPM naming is already taken in MP 
unfortunately) helps here.

Not sure about syntax here. It needs to list the files.

3) More metadata

Some metadata is currently missing from the Portfiles. It would be nice 
if these could be added with MacPorts 1.6, but it does require a major 
update since the older "port" won't understand any such new fields 
added to the syntax. Extracting changelogs from svn might be nice to 
include too, but is probably not required until it has been fully  
automated.

a) License metadata 
(http://trac.macports.org/projects/macports/ticket/7493)

Currently all ports have license "Unknown", no matter what the actual 
license used.

Example portfile syntax: "license    GPL"

b) Noarch metadata 
(http://trac.macports.org/projects/macports/ticket/12206)

Currently all ports have architecture "native", no matter what the 
actual arch is.

Example portfile syntax: "noarch    yes"


Neither of these are showstoppers for binary packages, but they would 
definitely improve the quality of them. Especially the "avoid deleting 
user preferences" and "don't require developer tools" I would consider 
rather essential... I'm sure we'll have some more concrete feedback 
when the first MacPorts 1.5 packaging run completes. Hopefully that'll 
be in time for sfiera's/jmpp's redesign of the webpage/database.

Tentatively http://macports.org/packages/

--anders




More information about the macports-dev mailing list