[Bug 2043625] [NEW] libsolv: lack of zstd support makes it impossible to create SUSE Tumbleweed/Fedora Rawhide chroots with zypper/dnf
Launchpad Bug Tracker
2043625 at bugs.launchpad.net
Thu Nov 16 00:57:40 UTC 2023
You have been subscribed to a public bug by Luca Boccassi (bluca):
Both Fedora Rawhide and SUSE Tumbleweed started to compress their
respective RepoData with zstd. The libsolv version in all Ubuntu
releases is not build with zstd support, so using zypper/dnf from any
Ubuntu version to build a new Fedora/SUSE chroot started to fail this
week.
Noble will be fixed in the next sync of libsolv from Debian unstable,
where I enabled libzstd support in 0.7.26-2. I would like SRUs all the
way back to jammy to fix the CI jobs. The fix is very low risk as it
enables an already available and optional feature, that is exercised
only when referring to zstd-compressed repositories, which currently
cannot work at all without this flag enabled.
There is an older distro-wide LP tracking libzstd enablement across all
packages: https://bugs.launchpad.net/ubuntu/+source/libsolv/+bug/1923845
Support for zstd was added upstream in version 0.6.35:
https://github.com/openSUSE/libsolv/commit/f51d048e6774c180a9fef21b87d7303accae3809
[Impact]
This affects our CI jobs in the systemd projects on Github Actions,
which are running on Jammy and using dnf and zypper (with libsolv) to
build images. e.g.:
https://pipelinesghubeus21.actions.githubusercontent.com/fW9YnoEKBASdi1Tl6Qk8OxwlrJgIZvKOJ6c0FMLt24imZ5L13v/_apis/pipelines/1/runs/254815/signedlogcontent/8?urlExpires=2023-11-15T23%3A13%3A32.0430115Z&urlSigningMethod=HMACV1&urlSignature=vLbcJy6TM0PlI%2FQQsuRjhqwKLKo00%2B%2FvuURQuAWNpac%3D
https://pipelinesghubeus21.actions.githubusercontent.com/fW9YnoEKBASdi1Tl6Qk8OxwlrJgIZvKOJ6c0FMLt24imZ5L13v/_apis/pipelines/1/runs/254815/signedlogcontent/4?urlExpires=2023-11-15T23%3A13%3A49.1567762Z&urlSigningMethod=HMACV1&urlSignature=deiHR5B%2FxW9RXe%2FtC5YYYLDcWnCMa1gDGkYciaU3amo%3D
[Major Changes]
The libsolv versions in Ubuntu already support zstd, but it is not
enabled at build time. It is trivially enabled with a build-dependency
on libzstd and by passing a build configuration flag to cmake.
[Test Plan]
Install zypper, create a minimal config file and try to bootstrap a
minimal SUSE Tumbleweed chroot with these 3 simple commands:
mkdir -p repos.d img
cat <<EOF>repos.d/test.repo
[test.repo]
name=test.repo
baseurl=https://download.opensuse.org/tumbleweed/repo/oss/
gpgcheck=1
enabled=1
autorefresh=0
keeppackages=1
EOF
zypper --reposd-dir=$PWD/repos.d --root=$PWD/img --gpg-auto-import-keys install distribution-release filesystem
If it works, then the fix worked. Without the fix, the following error
can be seen:
Building repository 'test.repo' cache .........................................................................[error]
Error building the cache:
[test.repo|https://download.opensuse.org/tumbleweed/repo/oss/] Failed to cache repo (1).
History:
- 'repo2solv' '-o' '/tmp/img/var/cache/zypp/solv/test.repo/solv' '-X' '/tmp/img/var/cache/zypp/raw/test.repo'
/tmp/img/var/cache/zypp/raw/test.repo/repodata/d6fbf1152bab99fc7ceacf974422a9799694274b64c36015b10288e6cabadd81e4649b19f52570efc5f3ab5b28817c9561fa8eeca117a05f3caea6c33e48cb69-primary.xml.zst: No such file or directory
Command exited with status 1.
Warning: Skipping repository 'test.repo' because of the above error.
Some of the repositories have not been refreshed because of an error.
Loading repository data...
Reading installed packages...
'distribution-release' not found in package names. Trying capabilities.
No provider of 'distribution-release' found.
'filesystem' not found in package names. Trying capabilities.
No provider of 'filesystem' found.
Resolving package dependencies...
Nothing to do.
[Regression Potential]
Very minimal. The feature had been supported for many versions prior to the current ones, and when enabled it only affects code paths that deal with zstd compressed artifacts, which currently cannot work at all due to the lack of support. The worst case scenario is that support for zstd does not work in some ways, which is not any worse than status quo.
** Affects: libsolv (Ubuntu)
Importance: Undecided
Status: Fix Committed
** Affects: libsolv (Ubuntu Jammy)
Importance: Undecided
Status: In Progress
** Affects: libsolv (Ubuntu Lunar)
Importance: Undecided
Status: In Progress
** Affects: libsolv (Ubuntu Mantic)
Importance: Undecided
Status: In Progress
** Affects: libsolv (Ubuntu Noble)
Importance: Undecided
Status: Fix Committed
--
libsolv: lack of zstd support makes it impossible to create SUSE Tumbleweed/Fedora Rawhide chroots with zypper/dnf
https://bugs.launchpad.net/bugs/2043625
You received this bug notification because you are a member of Ubuntu Sponsors, which is subscribed to the bug report.
More information about the Ubuntu-sponsors
mailing list