[Scons-dev] packaging tests: tar; and an xz question

Mats Wichmann mats at wichmann.us
Thu Sep 6 10:09:19 EDT 2018


I'm still poking at getting tests passing "everywhere".

PR#3172 should have taken care of the platforms that use a more
aggressive development branch of rpm - funnily enough my main system is
Fedora, which falls in this category, so I had some motivation :). My
Fedora systems now fail two, one of which can also be seen in the
buildbot Centos builder - trying to guess things about Qt.

===

Some packaging tests fail on Windows. My own tests fail these three:

        test\packaging\guess-package-name.py
        test\packaging\strip-install-dir.py
        test\packaging\tar\bz2_packaging.py

The bz2 one is interesting and the topic of this email: it finds tar,
but then tar fails to find bzip2, apparently used as a helper:

STDERR
=========================================================================
tar: Can't launch external program: bzip2

The same thing is what fails guess-package-name. The middle test is a
pathname format issue, easily fixed, but also caused by:

it seems there is now a tar command provided in recent Windows! But it
wants to use helper functions for some formats, which are not provided!

https://blogs.technet.microsoft.com/virtualization/2017/12/19/tar-and-curl-come-to-windows/

this was a build preview leading up to Windows 10 1803, and indeed there
is on my system:

c:\Windows\System32\tar.exe

which is:
bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp

Our tests don't know how to check for this sort of thing - they check
for tar itself, but don't know to avoid the test because an unknown
helper program is not found.

Our Appveyor CI build presumably uses an older Windows, it passes both
the bzip2 and gz tests, which are a little odd... the test is inside an
if: block based on finding tar, after that block it says
test.pass_test().  Most tests take the route of skipping the test if
they don't find the tool, rather than passing...

- do we just consider this (no bzip2) a bug in Windows and move along?
- should these tests get the usual skip logic?

apparently gzip format is handled internally by Windows tar, though
there is no hint of it in the help message.

===

While on the subject of bzip2, there's support for the bz2 format in
scons, but not for xz.  Is there any point in adding xz support? should
be pretty close to trivial.



More information about the Scons-dev mailing list