From: Doug Barton on
On 5/18/2010 12:57 PM, Wesley Shields wrote:
> On Tue, May 18, 2010 at 10:50:07PM +0400, Anonymous wrote:
>
>> This still doesn't clarify where to look for files that are *not*
>> installed, e.g. config files. Such files can be created by user and only
>> used by the port itself when they exist. Does it matter whether they're
>> installed or not to choose LOCALBASE over PREFIX?
>
> PREFIX.

Just to be clear I think you're referring to _installing_ files, right?
In the world where PREFIX and LOCALBASE are different, PREFIX cannot be
relied on to exist after the port is installed. Therefore regarding
configuration files that are not installed by the port the thing
installed (for example portmaster) should look for its configuration
files in LOCALBASE.


Doug

--

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/

_______________________________________________
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: Wesley Shields on
On Tue, May 18, 2010 at 01:21:01PM -0700, Doug Barton wrote:
> On 5/18/2010 12:57 PM, Wesley Shields wrote:
> > On Tue, May 18, 2010 at 10:50:07PM +0400, Anonymous wrote:
> >
> >> This still doesn't clarify where to look for files that are *not*
> >> installed, e.g. config files. Such files can be created by user and only
> >> used by the port itself when they exist. Does it matter whether they're
> >> installed or not to choose LOCALBASE over PREFIX?
> >
> > PREFIX.
>
> Just to be clear I think you're referring to _installing_ files, right?

Correct. I misread the question.

> In the world where PREFIX and LOCALBASE are different, PREFIX cannot be
> relied on to exist after the port is installed. Therefore regarding
> configuration files that are not installed by the port the thing
> installed (for example portmaster) should look for its configuration
> files in LOCALBASE.

Yes, I agree with this.
_______________________________________________
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
Wesley Shields <wxs(a)FreeBSD.org> writes:

> On Tue, May 18, 2010 at 01:21:01PM -0700, Doug Barton wrote:
>> In the world where PREFIX and LOCALBASE are different, PREFIX cannot be
>> relied on to exist after the port is installed. Therefore regarding
>> configuration files that are not installed by the port the thing
>> installed (for example portmaster) should look for its configuration
>> files in LOCALBASE.
>
> Yes, I agree with this.

This is ambiguous. Why PREFIX persistence is relevant here when we're
talking about one port and not about collaboration of several ports?

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.
_______________________________________________
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: Doug Barton on
On 5/18/2010 2:57 PM, Anonymous wrote:
> Wesley Shields <wxs(a)FreeBSD.org> writes:
>
>> On Tue, May 18, 2010 at 01:21:01PM -0700, Doug Barton wrote:
>>> In the world where PREFIX and LOCALBASE are different, PREFIX cannot be
>>> relied on to exist after the port is installed. Therefore regarding
>>> configuration files that are not installed by the port the thing
>>> installed (for example portmaster) should look for its configuration
>>> files in LOCALBASE.
>>
>> Yes, I agree with this.
>
> This is ambiguous. Why PREFIX persistence is relevant here when we're
> talking about one port and not about collaboration of several ports?

There are 2 possible circumstances. One is that PREFIX == LOCALBASE, the
other is that they are not the same. In the case where they are the same
(which is far and away the most common) then everything works.

In the case where they are different one cannot guarantee that the
directory referred to by PREFIX will continue to exist after the port is
installed. In the case where they are different PREFIX by its very
nature is ephemeral, and LOCALBASE, again, by definition, is "the local
system." One could potentially imagine a scenario where installing a
port temporarily into a custom PREFIX is desirable, but the user would
still want to get settings and configuration from "the system," which is
defined to be LOCALBASE.

One could also imagine a system on which there is a LOCALBASE and lots
of little PREFIXes, each of which is designed to be an autonomous
semi-system of its own. In that case you would want a tool (like
portmaster) to look for its configuration files in PREFIX. However, this
last example is what we refer to as "an extreme corner case," which is
to say it is not something for which we ought to optimize, and is
potentially not even something for which we would want to make provisions.

Fortunately, portmaster (which is what you initially inquired about in
your PR) already has a facility for dealing with this, the
~/.portmasterrc file. You can of course also maintain your desired
change to portmaster's behavior as a local patch.

Either way, the answer to your question, "What SHOULD portmaster be
doing?" is "Exactly what it is already doing." I'm sorry if you don't
like the answer, but continuing to discuss it is not going to change it.


hope this helps,

Doug

--

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/

_______________________________________________
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
Doug Barton <dougb(a)FreeBSD.org> writes:

> On 5/18/2010 2:57 PM, Anonymous wrote:
>> Wesley Shields <wxs(a)FreeBSD.org> writes:
>>
>>> On Tue, May 18, 2010 at 01:21:01PM -0700, Doug Barton wrote:
>>>> In the world where PREFIX and LOCALBASE are different, PREFIX cannot be
>>>> relied on to exist after the port is installed. Therefore regarding
>>>> configuration files that are not installed by the port the thing
>>>> installed (for example portmaster) should look for its configuration
>>>> files in LOCALBASE.
>>>
>>> Yes, I agree with this.
>>
>> This is ambiguous. Why PREFIX persistence is relevant here when we're
>> talking about one port and not about collaboration of several ports?
>
> There are 2 possible circumstances. One is that PREFIX == LOCALBASE, the
> other is that they are not the same. In the case where they are the same
> (which is far and away the most common) then everything works.
>

They only matter when there are dependencies on other ports. LOCALBASE
can be ignored otherwise.

> In the case where they are different one cannot guarantee that the
> directory referred to by PREFIX will continue to exist after the port is
> installed.

You didn't answer how can we guarantee port being installed but PREFIX
can't. PREFIX is inherent to port's intallation. It's where things
install. If it doesn't exist then the thing that uses config file is
some other (installed) port.

> In the case where they are different PREFIX by its very
> nature is ephemeral, and LOCALBASE, again, by definition, is "the local
> system."

And what is this "local system"? It may disappear along with PREFIX if
there are no ports installed. Just because some random config file
resides there doesn't make it LOCALBASE.

> One could potentially imagine a scenario where installing a
> port temporarily into a custom PREFIX is desirable, but the user would
> still want to get settings and configuration from "the system," which is
> defined to be LOCALBASE.
>

In case there is only one port registered PREFIX would be the only
populated place. LOCALBASE would point to some non-existent path or
empty directory (e.g. /usr/local). But PREFIX/etc would at least exist
according to MTREE_FILE.

> One could also imagine a system on which there is a LOCALBASE and lots
> of little PREFIXes, each of which is designed to be an autonomous
> semi-system of its own. In that case you would want a tool (like
> portmaster) to look for its configuration files in PREFIX. However, this
> last example is what we refer to as "an extreme corner case," which is
> to say it is not something for which we ought to optimize, and is
> potentially not even something for which we would want to make provisions.
>

So, what do you lose by using PREFIX? It's not optimization if it
doesn't have side effects.

> Fortunately, portmaster (which is what you initially inquired about in
> your PR) already has a facility for dealing with this, the
> ~/.portmasterrc file. You can of course also maintain your desired
> change to portmaster's behavior as a local patch.

It's same as LOCALBASE/etc. You can have only one copy of config file
under $HOME for one user.

>
> Either way, the answer to your question, "What SHOULD portmaster be
> doing?" is "Exactly what it is already doing." I'm sorry if you don't
> like the answer, but continuing to discuss it is not going to change it.
>

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.

>
> hope this helps,
>
> Doug
_______________________________________________
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"