From: Matthew Seaman on 19 May 2010 03:52 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 19/05/2010 24:18:13, Anonymous wrote: > This doesn't concern only portmaster. As I've mentioned previously > xorg-server, subversion and git don't install any config file (not even > in share/examples) but still look for it inside PREFIX not LOCALBASE. > In other words almost any GNU_CONFIGURE port that doesn't install config > files. I've yet to see someone modify SYSCONFDIR for such ports. Err... xorg-server looks in about half a dozen different likely places for a config file. Traditionally I've put it in /etc/X11 (which is wrong according to ports rules, but it works). You could put it in /usr/local/etc/X11 or /usr/local/lib/X11/ to be more hier(7) compliant, and it would work there too. svn is even less predictable: the config files for each repo -- and there may be many repos -- live within the directory structure of the repo itself. Repos can be put just about anywhere within the filesystem. No idea about git -- I guess it behaves much the same as svn. Sometimes you just aren't going to be able to apply a simple heuristic to find a port's config files. It's all part of life's rich tapestry. Cheers, Matthew - -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.14 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkvzmNcACgkQ8Mjk52CukIzyDgCeJFQYe0YfANn9FCR1ox11fYys oH8AnRTnubPHr6dhHVeKhp+oDHpvpYjz =onoE -----END PGP SIGNATURE----- _______________________________________________ freebsd-ports(a)freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"
From: Matthew Seaman on 19 May 2010 04:18 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 18/05/2010 22:57:25, Anonymous wrote: > I can't understand why we should consider PREFIX absence here. Because, > if it is absent then there is *no* port installed, too. The issue > becomes moot: should a non-installed port look for files in > LOCALBASE/etc or not? Besides, in case of ports that don't have any > dependencies (e.g. portmaster) LOCALBASE is same as PREFIX because it > may not exist prior installation, too. So, they either both exist or > both do not exist in such case. Hmmm... it makes no sense for a port to look for its /own/ configuration files anywhere other than PREFIX by default. Looking for the configuration files of some other port is a different matter. Suppose we install apr1 and apache22 with a prefix of /opt. httpd.conf is going to be in /opt/etc/apache22/httpd.conf Now the development team comes along and installs their own copy of devel/php5 with the options to build mod_php5 turned on. This they install under their development tree: PREFIX = /opt/testing/ Installing an apache module involves adding the appropriate LoadModule line to httpd.conf. Currently the ports would attempt to modify /opt/etc/apache22/httpd.conf if anything. Which makes sense as that's the default place to find httpd.conf from when apache was installed, and the only location where the ports "knows" it can find a copy of httpd.conf. Yet it's an equally valid scenario to assume those developers are running their own private instance of apache using the binaries installed for the system but their own config setup in /opt/testing/etc/apache22/httpd.conf In the first place you've got a privately installed port attempting to alter the system-wide configuration of apache, which is most likely undesirable. In the second, the ports would have to guess where the devs chose to put their apache config files, and there's not even any guarantee there'd be anything there yet to be found at port installation time. Software guessing about what human intentions are: that's going to end in tears. In this particular case, I think the correct response should be to detect that mod_php was being installed to a different PREFIX than LOCALBASE, and suppress the modification of httpd.conf If one particular developer subsequently goes on to install some php modules, they could use PREFIX = /home/user for their private copy. inter-alia installing those modules would entail adding entries to /opt/testing/etc/php/extensions.ini -- where suddenly LOCALBASE is now /opt/testing rather than /opt. LOCALBASE is a rather imprecisely defined concept -- its easy to see that there could be many values of LOCALBASE within some reasonably complex dependency tree. Ultimately each dependent port could have a distinct LOCALBASE[*]. The current usage of the LOCALBASE variable within the ports system really doesn't accommodate that complexity. Cheers, Matthew [*] I've seen this proposed in all seriousness. My advice: run away. Run away very quickly. Screaming optional. - -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.14 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkvzns0ACgkQ8Mjk52CukIw01ACeNSPrV6Z7AJWxRXTYkaP1ofJj cikAn0YILKaVvrp5qpKUJYee7fsavHbJ =DE8o -----END PGP SIGNATURE----- _______________________________________________ freebsd-ports(a)freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"
From: Anonymous on 19 May 2010 13:56
Matthew Seaman <m.seaman(a)infracaninophile.co.uk> writes: > On 19/05/2010 24:18:13, Anonymous wrote: >> This doesn't concern only portmaster. As I've mentioned previously >> xorg-server, subversion and git don't install any config file (not even >> in share/examples) but still look for it inside PREFIX not LOCALBASE. >> In other words almost any GNU_CONFIGURE port that doesn't install config >> files. I've yet to see someone modify SYSCONFDIR for such ports. > > Err... xorg-server looks in about half a dozen different likely places > for a config file. Traditionally I've put it in /etc/X11 (which is > wrong according to ports rules, but it works). You could put it in > /usr/local/etc/X11 or /usr/local/lib/X11/ to be more hier(7) compliant, > and it would work there too. However, it doesn't look under LOCALBASE/etc/X11 and LOCALBASE/lib/X11. > > svn is even less predictable: the config files for each repo -- and > there may be many repos -- live within the directory structure of the > repo itself. Repos can be put just about anywhere within the filesystem. > We're talking about system-wide configuration PREFIX/etc/subversion/config It allows you to define site-specific defaults that affect all users and all repos. > No idea about git -- I guess it behaves much the same as svn. PREFIX/etc/gitconfig I'd add PREFIX/etc/mercurial/hgrc here, but its port uses PYDISTUTILS to build itself. I'm not sure if it has smth similar to SYSCONFDIR, i.e. AC_SUBST([sysconfdir], ['${prefix}/etc']) that becomes default value for --sysconfdir for GNU_CONFIGURE scripts. > > Sometimes you just aren't going to be able to apply a simple heuristic > to find a port's config files. It's all part of life's rich tapestry. > > Cheers, > > Matthew _______________________________________________ freebsd-ports(a)freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org" |