RFC: MacPorts Filesystem Hierarchy Standard

Rainer Müller raimue at macports.org
Tue Mar 4 07:03:24 PST 2008


js wrote:
> I wrote the Filename hierarchy standard for MacPorts.
> I know there's already porthier(7), but I thought it would be nice
> to have more specific standard.

So is this meant to replace porthier(7)? Than you should write it up as 
a patch for the manual page. I don't think we need yet another place for 
it. Coordinate with markd and simon on this.

> MacPorts Filesystem Hierarchy Standard
> 
> Purpose
> 
> This document defines the standard placement of file and directory
> installed by MacPorts. This document also intended to replace the
> existing porthier(7)[1]. Every ports in MacPorts project should follow
> this standard. Most of this based on hier(7)[2].

Why are you referencing to OpenBSD hier? Mac OS X also has a man page 
`hier'.

> Naming Convension
> 
> When two or more ports have files in common, e.g. apachectl in apache
> and apache2, each port must prepend the part of its major version
> number to the files as a suffix. (e.g. apachectl for apache,
> apachectl2 for apapche2)

Append, not prepend.

> When a port need to install multiple files, it must create a
> directory named its port name and installs the files in
> it. (e.g. macports/macports.conf, macports/mp_version)
> 
> The Filesystem
> 
> Prefix
> 
> Everything installed by MacPorts must be in /opt/local or
> /Applications/MacPorts. The former is used for non-aqua applications
> and may be changed by modifying macports.conf. The latter is for aqua
> applications and cannot be changed.

Write ${prefix} instead of /opt/local, or if it goes into the man page, 
it could be expanded during install.

The applications dir should be changeable in future versions, but at the
moment it is still hardcoded in ports, so this is right.

[snip]
>   - db
>   Miscellaneous, automatically generated system-specific database
>   files. For example, ... what?
>   (Note that currently mysql data directory is created here. This is
>   not correct.)

No idea what is meant to reside here. Sure, mysqlX could also go into 
var/mysqlX.

Rainer


More information about the macports-dev mailing list