[Bug 2003201] Re: Please merge sbuild 0.85.0 from Debian unstable.
Dave Jones
2003201 at bugs.launchpad.net
Tue Feb 7 16:44:29 UTC 2023
I found a bit of time to dig further into this and I'm suspicious that
in the diffoscope output (at the end of [1]) only the header and footer
of the zstd output has changed, but not the compressed content. To that
end I went and dug into what changed in libzstd between kinetic and
lunar and it seems that while the version of libzstd remained the same,
the build-system changed (from traditional Makefile to cmake).
In the process I'm suspicious that there appears to be an error in
d/rules [2]. Lines 18-26 define DH_AUTO_CONFIGURE_OPTS:
DH_AUTO_CONFIGURE_OPTS := \
-DCMAKE_LIBRARY_ARCHITECTURE=${arch} \
-DZSTD_LEGACY_SUPPORT:BOOL=ON \
ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
DH_AUTO_CONFIGURE_OPTS += -DBUILD_TESTING:BOOL=OFF
else
DH_AUTO_CONFIGURE_OPTS += -DBUILD_TESTING:BOOL=ON
endif
However, the call to dh_auto_configure on line 44 uses
DH_CMAKE_CONFIGURE_OPTS instead (which doesn't appear to be defined
anywhere):
dh_auto_configure \
--buildsystem=cmake \
--sourcedir=$(CURDIR)/build/cmake \
-- \
$(DH_CMAKE_CONFIGURE_OPTS)
This is relatively compelling because ZSTD_LEGACY_SUPPORT defines
whether zstd can deal with "legacy frames" [3], and it appears to be a
difference in the frame output that diffoscope is noticing here
(although it would seem from the linked document that it has to do more
with *decoding* those frames than producing them ... but let's take a
look anyway).
Unfortunately, in both cases (looking at the build-logs for kinetic [4]
and lunar [5]) it appears ZSTD_LEGACY_SUPPORT winds up at its default of
"5" anyway so theoretically they should be the same. Just to be certain,
I re-built libzstd with DH_CMAKE_CONFIGURE_OPTS replaced by
DH_AUTO_CONFIGURE_OPTS and re-ran the autopkgtest. As suggested by the
build logs, the same failure occurred. Regardless, I've filed the change
upstream as a merge request [6] because I suspect it's wrong anyway.
Next step is to dig into what the byte-level changes *actually* mean (I
started working on this but my findings so far don't make a lot of
sense).
[1]: https://autopkgtest.ubuntu.com/results/autopkgtest-
lunar/lunar/arm64/s/sbuild/20230204_040321_7a8f5@/log.gz
[2]: https://salsa.debian.org/pkg-rpm-
team/libzstd/-/blob/4d32f1100aff4a2e5d0dc41b27ef4f7156da18c3/debian/rules
[3]:
https://fuchsia.googlesource.com/third_party/zstd/+/refs/tags/v1.4.4/programs/README.md
[4]: https://launchpadlibrarian.net/599067195/buildlog_ubuntu-kinetic-
amd64.libzstd_1.5.2+dfsg-1_BUILDING.txt.gz
[5]: https://launchpadlibrarian.net/643274654/buildlog_ubuntu-lunar-
amd64.libzstd_1.5.2+dfsg2-3_BUILDING.txt.gz
[6]: https://salsa.debian.org/pkg-rpm-team/libzstd/-/merge_requests/1
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sbuild in Ubuntu.
https://bugs.launchpad.net/bugs/2003201
Title:
Please merge sbuild 0.85.0 from Debian unstable.
Status in sbuild package in Ubuntu:
In Progress
Bug description:
Please merge sbuild 0.85.0 from Debian unstable.
Updated changelog and diff against Debian unstable to be attached
below.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sbuild/+bug/2003201/+subscriptions
More information about the foundations-bugs
mailing list