Date: Wed, 19 May 2010 09:18:21 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Anonymous <swell.k@gmail.com> Cc: Wesley Shields <wxs@FreeBSD.org>, Doug Barton <dougb@FreeBSD.org>, Ion-Mihai Tetcu <itetcu@FreeBSD.org>, freebsd-ports@FreeBSD.org Subject: Re: preferred place for system-wide config files Message-ID: <4BF39ECD.4050207@infracaninophile.co.uk> In-Reply-To: <86d3wsub3u.fsf@gmail.com> References: <86hbm5yjjh.fsf@gmail.com> <20100518115611.GA45921@atarininja.org> <4BF28470.2050903@infracaninophile.co.uk> <86hbm5vycg.fsf@gmail.com> <20100518195725.GB48168@atarininja.org> <4BF2F6AD.3020709@FreeBSD.org> <20100518203610.GA50328@atarininja.org> <86d3wsub3u.fsf@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
-----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-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BF39ECD.4050207>