On 2023-04-29 9:04 p.m., Richard Laager wrote:
Quick approach is try this:
python3 waf configure ...
python3 waf build
I tried this, but the bundled 'waf' tool did not work in Python3. I
could not get past the 'configure' step. Here's the output I got on a
Bookworm host with all the ntpsec build dependencies installed:
t...@book.test:~$ python3 -V
Python 3.11.2
t...@book.test:~$ wget -q
https://ftp.ntpsec.org/pub/releases/ntpsec-1.1.3.tar.gz
t...@book.test:~$ tar -xf ntpsec-1.1.3.tar.gz
t...@book.test:~$ cd ntpsec-1.1.3/
t...@book.test:~/ntpsec-1.1.3$ python3 waf configure
Waf: The wscript in '/home/tech/ntpsec-1.1.3' is unreadable
Traceback (most recent call last):
File
"/home/tech/ntpsec-1.1.3/.waf3-1.9.15-7481b2b5d90177d4bb747dbff06bef90/waflib/Scripting.py",
line 106, in waf_entry_point
set_main_module(os.path.normpath(os.path.join(Context.run_dir,Context.WSCRIPT_FILE)))
File
"/home/tech/ntpsec-1.1.3/.waf3-1.9.15-7481b2b5d90177d4bb747dbff06bef90/waflib/Scripting.py",
line 137, in set_main_module
Context.g_module=Context.load_module(file_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/tech/ntpsec-1.1.3/.waf3-1.9.15-7481b2b5d90177d4bb747dbff06bef90/waflib/Context.py",
line 352, in load_module
code=Utils.readf(path,m='rU',encoding=encoding)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/home/tech/ntpsec-1.1.3/.waf3-1.9.15-7481b2b5d90177d4bb747dbff06bef90/waflib/Utils.py",
line 127, in readf
f=open(fname,m)
^^^^^^^^^^^^^
ValueError: invalid mode: 'rUb'
A longer, but possibly better, approach might be something like:
git clone g...@salsa.debian.org:debian/ntpsec.git
cd ntpsec
git checkout debian/1.1.3+dfsg1-1
debuild -uc -us
I tried this too, but the result was similar: the bundled 'waf' failed
to work, which broke the build.
I don't believe I will be able to "forward-port" old ntpsec releases to
Bookworm without a lot more time and effort. Perhaps someone more
familiar with the build system would have better luck?
An intermediate approach might be to test with the binary package from
buster. You can get download links here, by architecture, plus there are
links to related packages, some of which (like python3-ntp) you might need:
https://packages.debian.org/buster/ntpsec
I could spin up a Buster VM to try this. I don't have a domain
controller running on Buster, so I can't test whether Windows clients
will get properly signed responses from the server. But I can still test
whether the 'mssntp' configuration in ntp.conf causes ntpsec to stop
serving non-auth clients. I will try to get to this in the next few days.
-S.M.