Hi Joseph, > On Mon, 8 Nov 2021, Lukasz Majewski wrote: > > > The same approach (with using the 'distro' python module) can be > > applied to Fedora or Suse. > > That module isn't part of the Python standard library. I don't think > we should introduce a dependency on it; rather, any use of it should > be appropriately conditional, so the code still runs (without these > checks) if the module is unavailable (importing produces an > ImportError). The 'distro' module is the most elegant (and pythonic) way to get the info about running OS. And it is by default available on Debian as part of /usr/lib/python3/dist-packages > > In particular, even if the OS Python installation includes that > module, the script should work with a separately built copy of Python > without any such modules from the OS. As I've said before - it looks like the most elegant approach... > > > +def check_os_requirements(): > > + if distro.id() == "debian" and distro.version() == "10": > > + # List 'Debian' specific packages requirements (different > > than > > + # vanila distro) to run this test without errors. > > + debian_requirements = ['flex', 'bison', 'dnsutils', > > 'texinfo'] > > Why is dnsutils needed? > configure.ac:83: installing 'build-aux/compile' configure.ac:46: installing 'build-aux/config.guess' configure.ac:46: installing 'build-aux/config.sub' configure.ac:26: installing 'build-aux/install-sh' configure.ac:26: installing 'build-aux/missing' Makefile.am: installing './INSTALL' Makefile.am: installing 'build-aux/depcomp' Makefile.am:32: installing 'build-aux/mdate-sh' doc/Makefrag.am:106: warning: user target '$(srcdir)/doc/version.texi' defined here ... Makefile.am:155: 'doc/Makefrag.am' included from here /usr/share/automake-1.16/am/texi-vers.am: ... overrides Automake target '$(srcdir)/doc/version.texi' defined here Makefile.am:32: installing 'build-aux/texinfo.tex' parallel-tests: installing 'build-aux/test-driver' Traceback (most recent call last): File "/usr/lib/python3.7/urllib/request.py", line 1324, in do_open encode_chunked=req.has_header('Transfer-encoding')) File "/usr/lib/python3.7/http/client.py", line 1260, in request self._send_request(method, url, body, headers, encode_chunked) File "/usr/lib/python3.7/http/client.py", line 1306, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/usr/lib/python3.7/http/client.py", line 1255, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/usr/lib/python3.7/http/client.py", line 1030, in _send_output self.send(msg) File "/usr/lib/python3.7/http/client.py", line 970, in send self.connect() File "/usr/lib/python3.7/http/client.py", line 1415, in connect super().connect() File "/usr/lib/python3.7/http/client.py", line 942, in connect (self.host,self.port), self.timeout, self.source_address) File "/usr/lib/python3.7/socket.py", line 707, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -2] Name or service not known Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de