Package: herdtools7
Version: 7.58-1
Severity: grave
Justification: renders package unusable

Dear Maintainer,

herdtools7 7.58-1 cannot run a single litmus test, which is the package's
sole purpose: every invocation stops at "Cannot find file x86tso.cat". There
are two independent causes. First, debian/herdtools7.install lists only
usr/bin/*, so the package ships 56 executables and not one of the .cat memory
models they operate on; upstream installs those as
${prefix}/share/herdtools7/herd and ${prefix}/share/herdtools7/litmus.
Second, debian/rules runs "make Version.ml" without passing PREFIX, and the
upstream default is PREFIX=$$HOME, so the model directory compiled into every
binary is the build-time home directory -- /sbuild-nonexistent under sbuild.
Fixing either alone leaves the package unusable: with the files installed the
binaries still look in /sbuild-nonexistent, and with PREFIX corrected there is
still nothing under /usr/share/herdtools7. Passing PREFIX would also clear the
unreproducible-build flag on amd64 and arm64, since that $HOME is what differs
between the two test builds. The underlying upstream design issue -- PREFIX
being consumed at both "make" and "make install" with nothing keeping the two
consistent -- is tracked as herd/herdtools7#1930.

    $ herd7 -version
    7.58, Rev: exported
    $ herd7 -libdir
    /sbuild-nonexistent/share/herdtools7/herd
    $ dpkg -L herdtools7 | grep -c '\.cat$'
    0
    $ herd7 /tmp/t.litmus ; echo "exit=$?"
    Warning: File "/tmp/t.litmus": Cannot find file x86tso.cat
    exit=0

Ubuntu 26.04, package 7.58-1 with no ubuntuN delta; both defects are in the
Debian packaging sources.

Suggested fix:

    debian/rules               make Version.ml  ->  make Version.ml PREFIX=/usr
    debian/herdtools7.install  add line  usr/share/herdtools7

For 7.58 the two trees also need copying into debian/tmp, since upstream
installs them from dune-install.sh, outside dune:

    cp -r herd/libdir   debian/tmp/usr/share/herdtools7/herd
    cp -r litmus/libdir debian/tmp/usr/share/herdtools7/litmus

Upstream PR herd/herdtools7#1902 has since moved that into dune, so a newer
snapshot would need only the .install line.

Reply via email to