Attn: Install path debaters

Gary E. Miller gem at rellim.com
Thu Jan 4 19:21:18 UTC 2018


Yo Ian!

On Thu, 4 Jan 2018 09:18:33 -0600
Ian Bruene via devel <devel at ntpsec.org> wrote:

> First: Gary, you keep mentioning that there are "still issues with
> PATH" and all of these solutions only take care of part of the
> problem.

Yup.

> What are these other issues?

The FHS, Gentoo, and AFAIK all distros, do not include /usr/local/XX
in any enviroment PATHs.

So, when I install NTPsec in /usr/local, I need to be sure I
have added /usr/local/XX to at least:
	PATH
	MANPATH
	PYTHONDIR

OTher things installed in /usr/local may also require adding /usr/local
to:
	INFOPATH
        PKG_CONFIG_PATH
	LD_LIBRARY_PATH

And there are more not wide used.

'Fixing' just PYTHONPATH, and ignoring the others is touching only
part of the problem.



> The current system is for waf to just dump the python libraries
> in /usr/ (in theory it might put it somewhere else, but this is where
> it has been observed to go) if it encounters a problem. This is
> unacceptable. This *will* be removed before 1.1.

If anything is going into /usr by default, that is new, and very, very
bad.  That conflicts with FHS and the policy of every distro I know of.

> The former system was for waf to install in the correct location, but 
> for the python libraries to be inaccessible on some distros.

Yes, and also the binaries, man pages, and other things.  This is
by design, dating back to UNIX tradition in the 1970's, still embedded
firmly in the FHS, etc.


> The
> problem was handled by suggesting to the user that they add the path
> to their PYTHONPATH.

A time honored UNIX way to do things.  And not just the PYTHONPATH, the
PATH, MANPATH, INFOPATH, etc.

> This is not good either,

Better think 10 times before trying to change decades of existing
standards and prectices.

> but in comparison with
> the current FHS violation it is acceptable. If no one can agree on a
> better solution this is what will be shipped in 1.1.

Ain't broke, don't fix it.  It is not our place to try to change
the a key part of UNIX design.

> For alternate fixes we have rlaager's (!615) fix. The tradeoffs I see
> are: bad: the entire concept is a hideous violation of good import 
> practices and generally all that is right and proper
>      good: it Just Works(tm) for any install path you throw at it

Uh, no.  See my email earlier today on how this breaks several
different gentoo practices.  And, it does not 'just work'.

> The second fix is .pth files:
>      bad: it will have to go under /usr/ (or equivalent depending on 
> exact path)

Violates basic UNIX principles, and may not even be possible on many
systems.  Like my earlier Gentoo examples.


>      bad: apparently breaks inter-version seals between different
> copies of NTP. But this is true of any distro with /usr/local/
>      good: it doesn't bypass python versioning <--- This is a Huge

Uh, no.  Until the user sets his PATH, MANPATH, INFOPATH, PYTHONPATH, etc.
the traditional way does NOT break the NPT in /usr.

> Win over telling users to use PYTHONPATH
>      good: it works for everyone on a system

Not a win, PYTHONPATH also works for all users on a system.

>      good: despite technically violating FHS it does so in a 
> non-colliding manner

Uh, no.  See my previous Gentoo examples for the many ways this
collides.

>      neutral: I'll bet that this doesn't solve the specific variant
> of the problem that I've encountered (a weird variant)

You only have a problem because you have not properly configured your
many PATH variables yet.

> IMHO if we end up defaulting to the old method we should suggest the 
> user create a .pth file instead of PYTHONPATH.

I suggest we give him both options.  .pth file is not an option for
many.

> PYTHONPATH is a mess for this kind of thing.

Really???  So PATH, MANPATH, INFOPATH, LD_CONFIG_PATH, etc. are somehow
easy for you, but PYTHONPATH is not easy????  This is ONE LINE in ONE
FILE.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
	gem at rellim.com  Tel:+1 541 382 8588

	    Veritas liberabit vos. -- Quid est veritas?
    "If you can’t measure it, you can’t improve it." - Lord Kelvin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ntpsec.org/pipermail/devel/attachments/20180104/15fb1446/attachment.bin>


More information about the devel mailing list