./waf install is not idempotent?

Jason Azze jason at azze.org
Sat Dec 23 22:40:44 UTC 2017

While freshening my NTPsec install to test the ntpq command history
bug, I accidentally ran ./waf install twice in a row because I thought
I had forgotten to run it at all. I thought I had forgotten because
ntpq -V still showed my old version 0.9.7+68.

On the second run, (which at the moment I thought was the first), I
got a Python error.

Waf: Leaving directory `/home/jazze/code/ntpsec/build/main'
Build failed
Traceback (most recent call last):
  File "/home/jazze/code/ntpsec/.waf-1.9.14-d7f6128a2aa20a656027b134f0b4f4a6/waflib/Task.py",
line 145, in process
  File "/home/jazze/code/ntpsec/.waf-1.9.14-d7f6128a2aa20a656027b134f0b4f4a6/waflib/Build.py",
line 564, in run
  File "/home/jazze/code/ntpsec/.waf-1.9.14-d7f6128a2aa20a656027b134f0b4f4a6/waflib/Build.py",
line 600, in do_install
    raise Errors.WafError('Could not install the file %r'%tgt,e)
WafError: Could not install the file

On the third run, ./waf install worked fine and installed the correct
version of ntpq.

So . . . I just kept running ./waf install, and I think it just cycles
through these three modes:
1) installs ntpq 0.9.7
2) Python error
3) installs ntpq 1.0.1+183

I ran a ./waf distclean before my configure, build, install steps. I
will try from a fresh clone.

Before I open a GitLab issue, is this unexpected behavior?

More information about the devel mailing list