Our last-minute mess

Eric S. Raymond esr at thyrsus.com
Wed Sep 27 02:04:53 UTC 2017


Some clarity is emerging about the build problems addressed in Fred
Wright's patch from last night. He originally wrote:

    1) Adds a workaround for waf's broken code that sets up PYTHONDIR and
    PYTHONARCHDIR.  The code is conceptually broken on all platforms, though
    it may produce correct results by coincidence on some platforms.  See
    the comments in wafhelpers/fix_python_config.py for more details.

Once his patch was applied, however, it broke FHS conformance in the
install paths.  On further investigation, it appears that:

(a) Fred's code is correct; a function get_python_lib() in
    python.disutils that it relies on is broken, resulting
    in FHS violation.

(b) This exact same bug, with the same result of FHS nonconformance,
    has affected GPSD's build since 2013 - and nobody noticed. Not
    Gary or Hal or me, and nobody in our userbase either.

FHS summarized here:

    https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

So, the first thing for everyone to know is that we have slack to fix
this.  ICEI has not made any commitments or representations about our
release date, otner than we absolutely have to ship by 28 Oct for
fundraising reasons.  I don't think we should need nearly that much time.

I think we have three possible alternatives at this point:

1. Revert Fred's patch - live with the fact that choice of
   installation paths is broken, though coincidentally right on
   some platforms.

2. Keep Fred's patch. Ship 1.0 with FHS non-conformance as a known
   and documented bug.

3. Hold 1.0 until we can write a replacement get_python_lib() that
   works right (e.g. produces an FHS-conformant path set by default.)

I'd like to hear from the senior devs (and anyone else with something
intelligent to say!) on this.

I have two relevant opinions:

(1) I think we dodged a support-cost bullet by not shipping the code
in its previous state.  Random failures that have to be patched around
by setting an environment variable...that has "support death by a
thousand cuts" written all over it.  I should have been paying closer
attention to this.

(2) I am, frankly, considering FHS conformance much less urgent than I
did 24 hours ago.  GPSD has been nominally broken that way for four
years (that's 7, possibly 8 releases) and *nobody noticed*. Still good
to do, if only to set an example, but apparently not pressing.

Floor is open for debate.  But let's try not to wrangle too long about
this; I really don't want to use up more than a week of our slack, and
we need another cooldown period.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

The United States is in no way founded upon the Christian religion
	-- George Washington & John Adams, in a diplomatic message to Malta.


More information about the devel mailing list