On 12/07/2017 10:59 PM, Gary E. Miller wrote: >> The default case is prefix=/usr/local, which (correct me if I'm wrong) >> works without hacks. > > Sadly, recently broken.
NTPsec has wafhelpers/fix_python_config.py, which is the hack in question. Have you tried the patch I posted to #414, which removes wafhelpers/fix_python_config.py entirely? Here is a direct link: https://gitlab.com/NTPsec/ntpsec/uploads/6d9e985a21558b42f324ef0e85f660e0/python-config.patch What is broken with that patch? Or in other words, what was broken originally to spur the creation of wafhelpers/fix_python_config.py? Fred Wright's position is that it is better to "us[e] a location that actually works over using a location that honors PREFIX". From this premise comes wafhelpers/fix_python_config.py, which I suspect is responsible for the problem you are reporting. With the wafhelpers/fix_python_config.py hack removed, I get correct results for these scenarios: ./waf configure --prefix=/usr/local ./waf configure --prefix=/usr ./waf configure --prefix=/home/rlaager/.local By correct, I mean these are true: 1) The calculated PYTHONDIR and PYTHONARCHDIR are under PREFIX. 2) Those values are in sys.path. If I do this: ./waf configure --prefix=foo #1 still holds. #2 is moot, as `pwd`/foo, or any other non-standard path, is never going to be in sys.path. Fred Wright's position is that, in this scenario, I should not get a PYTHONDIR under `pwd`/foo, because it does not exist in sys.path. Instead, I should get some option out of sys.path. This is the behavior I get with current NTPsec HEAD. This behavior is because of wafhelpers/fix_python_config.py. It sets PYTHONDIR to /usr/lib/python2.7/dist-packages, which is obviously not under `pwd`/foo. > I always used PYTHONPATH. Just to be clear, is there a PYTHONPATH set in your environment at the time you run `waf configure`? If so, what is it set to? Have you tried unsetting it? > Look at all Debian derivatives. Now we got 4 possible ultimate > destinations, and I'm not exactly sure I got it exactly right: You don't have this right, and I've already explained why in a previous message. In any event, I have already packaged and uploaded ntpsec for Debian. Debian packaging is a solved problem. >> The distro-packaging case is to install to /usr, which (correct me if >> I'm wrong) works without hacks. For this case, keep in mind that the >> final install location is /usr, but prefix is a temporary directory. I was wrong when I said this. The correct approach is: --prefix=/usr --destdir=some_temp_dir NTPsec's `waf configure --destdir` seems broken. That should be fixed, especially if helping packagers is a priority. -- Richard
signature.asc
Description: OpenPGP digital signature
_______________________________________________ devel mailing list [email protected] http://lists.ntpsec.org/mailman/listinfo/devel
