Bug 2180842
Summary: | Broken packages without filelists => DNF5 is unable to use them with default setting | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jaroslav Mracek <jmracek> |
Component: | distribution | Assignee: | Aoife Moloney <amoloney> |
Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 38 | CC: | agurenko, davide, jkolarik, kevin, kkeithle, praiskup, yselkowi, zbyszek |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2024-05-21 14:33:15 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1731689, 1731694, 1731695, 1731696, 1731700, 1731702, 2188431, 2188550, 2229623, 2229910, 2229932, 2229934, 2229948, 2229951, 2229953 | ||
Bug Blocks: | 2166026 |
Description
Jaroslav Mracek
2023-03-22 11:32:37 UTC
Thanks. I'll coordinate filing bugs against the offending components and set them to directly block the dnf 5 tracker (RHBZ 2166026). Once those bugs are filed, I'll close this bug and we can track status as part of 2166026. Before I go creating a bunch of bugs, I want to make sure I understand something. A lot of the files listed here are `/sbin/ldconfig`. I looked at the specfiles for atlas[1] and alliance[2] and neither of them have a Requires: for that file. However, they *do* invoke them in scriptlets. Is that how they ended up on the list? In that case, should they set an explicit runtime dependency on the glibc package? Or should they just change the scriptlets to use `/usr/sbin/ldconfig` instead? My understanding is that the latter should work for that case. [1] https://src.fedoraproject.org/rpms/atlas/blob/rawhide/f/atlas.spec [2] https://src.fedoraproject.org/rpms/alliance/blob/rawhide/f/alliance.spec Also, here's the description template I'm planning to use. Do you see anything that is incorrect or misleading? BUG_BODY = """ The DNF team has identified {{ PACKAGE }} as requiring files outside of /etc, /usr/{s,}bin: {{ REQUIRED_FILES }} DNF5 will not download file lists by default, so packages that require files outside /etc, /usr/{s,}bin will fail to install under the default configuration beginning with F39. NOTE: If the only files listed above are in `/sbin`, you can fix this by using `/usr/sbin` instead. Otherwise, you should update your package to require a package instead of a directory, or work with the required package maintainer to add an explicit `Provides:` for the file you require. See the Fedora Packaging Guidelines[1] and the "Make DNF5 The Default" Change proposal[2] for more information. [1] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_directory_dependencies [2] https://fedoraproject.org/wiki/Changes/ReplaceDnfWithDnf5 """ I think they should use `/usr/sbin/ldconfig`, and not `/sbin/ldconfig` variant is supposed to die in Fedora distribution. `/sbin` symlink is Fedora specific and DNF does not support it. The whole distribution is moving from that symlink to proper location. The problem is also in `glibc` package because they install binaries into /sbin and not into `/usr/sbin/`. Therefore I suggest that the change must start in `glibc`, but they need to have a compatible solution (provide binaries in both paths - `/sbin` and `/usr/sbin` ). The movement /sbin to /usr/sbin was a feature of Fedora 17. See https://fedoraproject.org/wiki/Features/UsrMove. I have good news. I am really grateful to maintainers of glibc, because their update significantly shortened the list of components with problematic requires. 21 packages with problematic dependencies: glusterfs-resource-agents requires: /usr/lib/ocf/resource.d gnome-keyring requires: /usr/libexec/gcr-ssh-askpass kata-containers requires: /usr/libexec/virtiofsd krb5-server requires: /usr/share/dict/words krb5-tests requires: /usr/share/dict/words libebml-devel requires: /usr/lib/cmake libebml-devel requires: /usr/lib64/cmake libmatroska-devel requires: /usr/lib/cmake libmatroska-devel requires: /usr/lib64/cmake lightsquid requires: /usr/share/lightsquid/common.pl lightsquid-apache requires: /usr/share/lightsquid/common.pl mod_nss requires: /usr/lib64/libnssckbi.so mpibash-mpich-examples requires: /usr/lib64/mpich/bin/mpibash_mpich mpibash-openmpi-examples requires: /usr/lib64/openmpi/bin/mpibash_openmpi resource-agents requires: /sbin/mount.nfs /sbin/mount.nfs4 /sbin/rpc.statd rt requires: /usr/share/fonts/google-droid-sans-fonts/DroidSans.ttf /usr/share/fonts/google-droid-sans-fonts/DroidSansFallbackFull.ttf scalasca-mpich requires: /usr/lib64/mpich/bin/scorep-config scalasca-openmpi requires: /usr/lib64/openmpi/bin/scorep-config sng requires: /usr/share/X11/rgb.txt sqlninja requires: /usr/share/sqlninja/backscan.pl /usr/share/sqlninja/bruteforce.pl /usr/share/sqlninja/dirshell.pl /usr/share/sqlninja/dns.pl /usr/share/sqlninja/escalation.pl /usr/share/sqlninja/fingerprint.pl /usr/share/sqlninja/getdata.pl /usr/share/sqlninja/icmp.pl /usr/share/sqlninja/metasploit.pl /usr/share/sqlninja/resurrectxp.pl /usr/share/sqlninja/revshell.pl /usr/share/sqlninja/session.pl /usr/share/sqlninja/sqlcmd.pl /usr/share/sqlninja/test.pl /usr/share/sqlninja/upload.pl /usr/share/sqlninja/utils.pl terminus-fonts-console requires: /usr/lib/kbd From 15 source packages glusterfs gnome-keyring kata-containers krb5 libebml libmatroska lightsquid mod_nss mpibash resource-agents rt scalasca sng sqlninja terminus-fonts I already filed some bugs previously, and Igor Raits even more previously: sng was fixed in https://bugzilla.redhat.com/show_bug.cgi?id=1731702. I'll do a build for F38 too. sqlninja - https://bugzilla.redhat.com/show_bug.cgi?id=1731703 rt - https://bugzilla.redhat.com/show_bug.cgi?id=1731700 - PR SUBMITTED lightsquid - https://bugzilla.redhat.com/show_bug.cgi?id=1731696 kata-containers - https://src.fedoraproject.org/rpms/kata-containers/pull-request/4 - PR MERGED glusterfs - https://bugzilla.redhat.com/show_bug.cgi?id=1731689 libebml - https://bugzilla.redhat.com/show_bug.cgi?id=1731694 libmatroska - https://bugzilla.redhat.com/show_bug.cgi?id=1731695 Maybe someone can fix the ldconfig examples in https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/ and eliminate some confusion Good news, only 8 src packages are effected in f39 Source packages glusterfs - Bug 2229910 - Problem with requirement `/usr/lib/ocf/resource.d` kata-containers - Bug 2229932 - Problem with requirement of `/usr/libexec/virtiofsd` mod_nss - Bug 2229934 - Problem with requirement of `/usr/lib64/libnssckbi.so` mpibash - Bug 2229948 - Problem with file requirements resource-agents - Bug 2229951 - Problem with file requirements rt - Bug 1731700 - rt depends on files/directories from non-standard locations scalasca - Bug 2229953 - Problem with file requirements sqlninja - Bug 1731703 - sqlninja depends on files/directories from non-standard locations Update for Fedora 40. Only 7 packages from 5 sources would have broken dependencies without file lists: mpibash-mpich-examples requires: /usr/lib64/mpich/bin/mpibash_mpich mpibash-openmpi-examples requires: /usr/lib64/openmpi/bin/mpibash_openmpi resource-agents requires: /sbin/mount.nfs /sbin/mount.nfs4 /sbin/rpc.statd rt requires: /usr/share/fonts/google-droid-sans-fonts/DroidSans.ttf /usr/share/fonts/google-droid-sans-fonts/DroidSansFallbackFull.ttf scalasca-mpich requires: /usr/lib64/mpich/bin/scorep-config scalasca-openmpi requires: /usr/lib64/openmpi/bin/scorep-config sqlninja requires: /usr/share/sqlninja/backscan.pl /usr/share/sqlninja/bruteforce.pl /usr/share/sqlninja/dirshell.pl /usr/share/sqlninja/dns.pl /usr/share/sqlninja/escalation.pl /usr/share/sqlninja/fingerprint.pl /usr/share/sqlninja/getdata.pl /usr/share/sqlninja/icmp.pl /usr/share/sqlninja/metasploit.pl /usr/share/sqlninja/resurrectxp.pl /usr/share/sqlninja/revshell.pl /usr/share/sqlninja/session.pl /usr/share/sqlninja/sqlcmd.pl /usr/share/sqlninja/test.pl /usr/share/sqlninja/upload.pl /usr/share/sqlninja/utils.pl I have investigated the packages and bugs mentioned in the previous comments. For Fedora 40, the status is as follows: - rt: A PR already exists to fix the issue: https://src.fedoraproject.org/rpms/rt/pull-request/1 - resource-agents: A PR already exists to fix the issue: https://src.fedoraproject.org/rpms/resource-agents/pull-request/7 - sqlninja: The issue has already been fixed, as looking in the linked https://bugzilla.redhat.com/show_bug.cgi?id=1731703 - mpibash: Upon reviewing the current Rawhide spec file, there doesn't appear to be any file dependency-related issue, likely a false positive: https://src.fedoraproject.org/rpms/mpibash/blob/rawhide/f/mpibash.spec - scalasca: I've created a PR to fix the issue: https://src.fedoraproject.org/rpms/scalasca/pull-request/1 Therefore, I hope we're ready to drop the filelists for Fedora 40 :) Good to hear this is resolved. Just note that there's a plan to implement https://fedoraproject.org/wiki/Changes/BuildWithDNF5 very soon, before the F40 mass rebuild starts. BuildRequires also need to be considered, not just Requires; e.g gcc is currently FTBFS with dnf5. $ grep -E '^BuildRequires.+(/usr/([^bs].*|share)|[^fn]dir\})' * gcc.spec:BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so gnu-efi.spec:BuildRequires: /usr/include/gnu/stubs-32.h ispc.spec:BuildRequires: /usr/lib/crt1.o mapserver.spec:BuildRequires: /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf mapserver.spec:BuildRequires: /usr/share/fonts/dejavu-sans-fonts/DejaVuSans-Bold.ttf mold.spec:BuildRequires: /usr/lib/libc.so perl-Convert-Color.spec:BuildRequires: /usr/share/X11/rgb.txt perl-Font-AFM.spec:BuildRequires: %{_fontbasedir}/urw-base35/NimbusSans-Bold.afm rt.spec:BuildRequires: /usr/share/fonts/google-droid-sans-fonts/DroidSansFallbackFull.ttf rt.spec:BuildRequires: /usr/share/fonts/google-droid-sans-fonts/DroidSans.ttf sqlite2.spec:BuildRequires: ncurses-devel, readline-devel, %{_includedir}/tcl.h syslinux.spec:BuildRequires: /usr/include/gnu/stubs-32.h systemtap.spec:BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf xen.spec:BuildRequires: /usr/include/gnu/stubs-32.h This message is a reminder that Fedora Linux 38 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 38 on 2024-05-21. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '38'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 38 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed. Fedora Linux 38 entered end-of-life (EOL) status on 2024-05-21. Fedora Linux 38 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora Linux please feel free to reopen this bug against that version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see the version field. If you are unable to reopen this bug, please file a new report against an active release. Thank you for reporting this bug and we are sorry it could not be fixed. |