Personally I prefer "everything's in the right place" approach and I believe there's no disadvantage to do that. It would help - users customize packages. - port creators write new portfile. - avoiding package conflicts. I know it's not easy to define "the right layout" but there're plenty of resources that we can mimic. For example, HIER(7) OpenBSD Reference Manual http://www.openbsd.org/cgi-bin/man.cgi?query=hier&sektion=7&apropos=0&manpat... Filesystem Hierarchy Standard http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard On 8/7/07, Ryan Schmidt <ryandesign@macports.org> wrote:
On Aug 5, 2007, at 22:35, Jeff Stubbs wrote:
On Aug 5, 2007, at 12:19 PM, js wrote:
I'm wondering if there's any guideline or suggestion that MacPorts port creaters should follow.
apache2 installs its conf files in /opt/local/apache2/conf but apache's in /opt/local/etc/apache/conf. Is this a bug? or just lack of good guidelines?
May I pose a follow up question to this one?
The apache2 install in /opt/local/apache2 looks like a tweak to the default build to install it inside the /opt directory. But the postgresql build is scattered just like the OP's example of the apache install. (i.e., bulk is in /opt/local/lib, db cluster in / opt/local/var/db/postgresql/defaultdb, ...etc) Is there is a historical reason for this?
Just to get a handle on working with portfiles, I created a local repository and modified the original portfile to install the database into an /opt/local/pgsql82 direcotry. Ran into a couple of minor problems but was able to work it out. The server works fine. I realize that any attempt to use this modified port wouldn't be worth it, but was a good learning experience.
Having a background coming from Mac OS 6, 7, 8 and 9, and not a UNIX variant, I don't really know where things "should" go, and don't really care much either. "port contents foo" will always tell you what the port foo installed, so it's not so hard to find where things are, whatever the layout. IMHO.
Also, the mysql5 port specifically (and significantly) modifies its install so that it goes all over the place, to try to coerce it into the apparently standard layout, but this has been criticized as making it hard to see where things go, and has also caused some difficulties for software that needs to link against mysql5 (e.g. see the mysql5 variant in the php5 port) and has been contrasted with the official MySQL binaries which install entirely into /usr/local/mysql-$ {version}. Seems like people will complain (maybe not complain, but ask about it) either way.