From: Matthew Seaman on
-----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
-----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
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"