Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optional metadata are not used even though they are downloaded #520

Closed
jan-kolarik opened this issue May 10, 2023 · 6 comments · Fixed by #777
Closed

Optional metadata are not used even though they are downloaded #520

jan-kolarik opened this issue May 10, 2023 · 6 comments · Fixed by #777
Assignees
Labels
Priority: HIGH Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take

Comments

@jan-kolarik
Copy link
Member

jan-kolarik commented May 10, 2023

Having no metadata present on the system after running a dnf5 command, f.e. search, the necessary fresh metadata are downloaded from the remote repositories. When subsequently running some other command, which needs some additional metadata like FILELISTS for repoclosure, metadata are being downloaded and are apparently stored on the system as observing with the ls command, but they are probably not complete or in incorrect state, because the command reports different results than when running it on the system without any metadata present before.

I am providing an example below which was discovered during the review of #500 and it requires the changes from this PR.

Output of the dnf5 repoclosure command when fresh metadata are present before on the system, but FILELISTS are missing:

package: amg4psblas-openmpi-1.1.0-5.fc38.i686 from fedora
  unresolved deps (4):
    libpsb_base.so.3.8(openmpi-i386)
    libpsb_cbind.so.3.8(openmpi-i386)
    libpsb_krylov.so.3.8(openmpi-i386)
    libpsb_prec.so.3.8(openmpi-i386)
package: amg4psblas-openmpi-devel-1.1.0-5.fc38.i686 from fedora
  unresolved deps (1):
    psblas3-openmpi-devel(x86-32) >= 3.7.1
package: buildnumber-maven-plugin-1.3-24.fc38.noarch from fedora
  unresolved deps (11):
    mvn(org.apache.maven.scm:maven-scm-api)
    mvn(org.apache.maven.scm:maven-scm-manager-plexus)
    mvn(org.apache.maven.scm:maven-scm-provider-bazaar)
    mvn(org.apache.maven.scm:maven-scm-provider-clearcase)
    mvn(org.apache.maven.scm:maven-scm-provider-cvsexe)
    mvn(org.apache.maven.scm:maven-scm-provider-gitexe)
    mvn(org.apache.maven.scm:maven-scm-provider-hg)
    mvn(org.apache.maven.scm:maven-scm-provider-perforce)
    mvn(org.apache.maven.scm:maven-scm-provider-starteam)
    mvn(org.apache.maven.scm:maven-scm-provider-svn-commons)
    mvn(org.apache.maven.scm:maven-scm-provider-svnexe)
package: clang10-libs-10.0.0-16.fc38.i686 from fedora
  unresolved deps (2):
    libLLVM-10.so
    libLLVM-10.so(LLVM_10)
package: clang10-libs-10.0.0-16.fc38.x86_64 from fedora
  unresolved deps (2):
    libLLVM-10.so()(64bit)
    libLLVM-10.so(LLVM_10)(64bit)
package: clazy-1.11-4.fc38.x86_64 from fedora
  unresolved deps (1):
    clang(major) = 15
package: coin-or-Bonmin-1.8.8-12.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Cbc-2.10.5-12.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Couenne-0.5.8-11.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Ipopt-3.14.9-2.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Ipopt-mpich-3.14.9-2.fc38.i686 from fedora
  unresolved deps (2):
    libasl.so.3
    libmp.so.3
package: coin-or-Ipopt-openmpi-3.14.9-2.fc38.i686 from fedora
  unresolved deps (2):
    libasl.so.3
    libmp.so.3
package: coin-or-OS-2.10.3-5.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: dkms-3.0.10-3.fc38.noarch from fedora
  unresolved deps (1):
    (kernel-lpae-devel-matched if kernel-lpae-core)
package: dmlite-apache-httpd-1.15.2-13.fc38.i686 from fedora
  unresolved deps (2):
    httpd-mmn = 20120211x8632
    mod_ssl(x86-32)
package: dmlite-apache-httpd-1.15.2-15.fc38.i686 from updates
  unresolved deps (2):
    httpd-mmn = 20120211x8632
    mod_ssl(x86-32)
package: dnstwist-20230413-2.fc38.noarch from updates
  unresolved deps (1):
    (python3dist(selenium) >= 3.141.0 if chromedriver)
package: ghdl-0.38~dev-16.20201208git83dfd49.fc37.x86_64 from fedora
  unresolved deps (1):
    libgnat-12.so()(64bit)
package: ghdl-llvm-0.38~dev-16.20201208git83dfd49.fc37.x86_64 from fedora
  unresolved deps (1):
    libgnat-12.so()(64bit)
package: ghdl-mcode-0.38~dev-16.20201208git83dfd49.fc37.x86_64 from fedora
  unresolved deps (1):
    libgnat-12.so()(64bit)
package: glusterfs-resource-agents-11.0-1.fc38.noarch from fedora
  unresolved deps (1):
    /usr/lib/ocf/resource.d
package: gnome-keyring-42.1-3.fc38.x86_64 from fedora
  unresolved deps (1):
    /usr/libexec/gcr-ssh-askpass
package: golang-github-caddyserver-caddy-1-devel-1.0.4-11.fc38.noarch from fedora
  unresolved deps (1):
    golang(github.com/mholt/certmagic-0.8)
package: golang-github-ipfs-cid-devel-0.1.0-2.fc37.noarch from fedora
  unresolved deps (1):
    golang(github.com/multiformats/go-multihash)
package: golang-honnef-js-dom-devel-0-0.13.20210113gitd4405f7.fc38.noarch from fedora
  unresolved deps (1):
    golang(github.com/gopherjs/gopherjs/js)
package: golang-nanomsg-mangos-3-devel-3.2.1-9.fc38.noarch from fedora
  unresolved deps (1):
    golang(github.com/gdamore/optopia)
package: gridsite-3.0.0-0.24.20180202git2fdbc6f.fc38.i686 from fedora
  unresolved deps (1):
    httpd-mmn = 20120211x8632
package: kata-containers-3.0.1-1.fc38.1.x86_64 from fedora
  unresolved deps (1):
    /usr/libexec/virtiofsd
package: krb5-server-1.20.1-8.fc38.x86_64 from fedora
  unresolved deps (1):
    /usr/share/dict/words
package: krb5-tests-1.20.1-8.fc38.x86_64 from fedora
  unresolved deps (1):
    /usr/share/dict/words
package: libebml-devel-1.4.4-2.fc38.i686 from fedora
  unresolved deps (1):
    /usr/lib/cmake
package: libebml-devel-1.4.4-2.fc38.x86_64 from fedora
  unresolved deps (1):
    /usr/lib64/cmake
package: libmatroska-devel-1.7.1-2.fc38.i686 from fedora
  unresolved deps (1):
    /usr/lib/cmake
package: libmatroska-devel-1.7.1-2.fc38.x86_64 from fedora
  unresolved deps (1):
    /usr/lib64/cmake
package: librem-2.12.0-1.fc38.i686 from fedora
  unresolved deps (1):
    libre.so.14
package: librem-2.12.0-1.fc38.x86_64 from fedora
  unresolved deps (1):
    libre.so.14()(64bit)
package: lightsquid-1.8-32.fc38.noarch from fedora
  unresolved deps (1):
    /usr/share/lightsquid/common.pl
package: lightsquid-apache-1.8-32.fc38.noarch from fedora
  unresolved deps (1):
    /usr/share/lightsquid/common.pl
package: linphone-3.6.1-50.fc38.i686 from fedora
  unresolved deps (2):
    libortp.so.9
    ortp(x86-32) >= 1:0.22.0
package: linphone-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (2):
    libortp.so.9()(64bit)
    ortp(x86-64) >= 1:0.22.0
package: linphone-devel-3.6.1-50.fc38.i686 from fedora
  unresolved deps (1):
    pkgconfig(ortp)
package: linphone-devel-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (1):
    pkgconfig(ortp)
package: linphone-mediastreamer-3.6.1-50.fc38.i686 from fedora
  unresolved deps (1):
    libortp.so.9
package: linphone-mediastreamer-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (1):
    libortp.so.9()(64bit)
package: linphone-mediastreamer-devel-3.6.1-50.fc38.i686 from fedora
  unresolved deps (2):
    ortp-devel(x86-32)
    pkgconfig(ortp)
package: linphone-mediastreamer-devel-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (2):
    ortp-devel(x86-64)
    pkgconfig(ortp)
package: mingw32-qt6-qtbase-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qtbase-devel = 6.4.2
package: mingw32-qt6-qtdeclarative-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtdeclarative-devel = 6.4.2
package: mingw32-qt6-qtshadertools-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtshadertools-devel = 6.4.2
package: mingw32-qt6-qttools-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qttools-devel = 6.4.2
package: mingw64-qt6-qtbase-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qtbase-devel = 6.4.2
package: mingw64-qt6-qtdeclarative-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtdeclarative-devel = 6.4.2
package: mingw64-qt6-qtshadertools-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtshadertools-devel = 6.4.2
package: mingw64-qt6-qttools-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qttools-devel = 6.4.2
package: mod_nss-1.0.17-16.fc38.x86_64 from fedora
  unresolved deps (1):
    /usr/lib64/libnssckbi.so
package: mp-devel-3.1.0-41.20200303git7fd4828.fc38.i686 from fedora
  unresolved deps (3):
    libasl.so.3
    libmp.so.3
    mp(x86-32) = 3.1.0-41.20200303git7fd4828.fc38
package: netbox-2.11.10-5.fc38.noarch from fedora
  unresolved deps (1):
    python3dist(drf-yasg[validation])
package: olpc-utils-6.0.6-10.fc38.i686 from fedora
  unresolved deps (1):
    xorg-x11-drv-sisusb
package: php-deepend-Mockery-0.9.11-10.fc38.noarch from fedora
  unresolved deps (1):
    (php-composer(hamcrest/hamcrest-php) >= 1.1 with php-composer(hamcrest/hamcrest-php) < 2)
package: php-laminas-di-2.6.1-10.fc38.noarch from fedora
  unresolved deps (1):
    (php-autoloader(laminas/laminas-code) >= 3.0 with php-autoloader(laminas/laminas-code) < 4)
package: php-laminas-mvc-form-1.2.0-4.fc38.noarch from fedora
  unresolved deps (1):
    (php-autoloader(laminas/laminas-code) >= 3.5.1 with php-autoloader(laminas/laminas-code) < 4)
package: php-ocramius-proxy-manager-2.2.3-8.fc38.noarch from fedora
  unresolved deps (1):
    (php-autoloader(zendframework/zend-code) >= 3.3 with php-autoloader(zendframework/zend-code) < 4)
package: python3-aioguardian-1.0.4-8.fc38.noarch from fedora
  unresolved deps (3):
    (python3.11dist(async-timeout) < 4~~ with python3.11dist(async-timeout) >= 3.0.1)
    (python3.11dist(asyncio-dgram) < 2~~ with python3.11dist(asyncio-dgram) >= 1.0.1)
    (python3.11dist(voluptuous) < 0.13~~ with python3.11dist(voluptuous) >= 0.11.7)
package: python3-cle-9.0.9572-4.fc37.noarch from fedora
  unresolved deps (1):
    python3.11dist(pyvex) = 9.0.9572
package: python3-pyvex-9.2.32-2.fc38.x86_64 from fedora
  unresolved deps (1):
    python3.11dist(archinfo) = 9.2.32
package: python3-scrapy-2.6.1-4.fc38.noarch from fedora
  unresolved deps (2):
    python3-pydispatcher
    python3.11dist(pydispatcher) >= 2.0.5
package: rocm-opencl-5.4.3-1.fc38.x86_64 from fedora
  unresolved deps (1):
    comgr(rocm) = 5.4
package: rt-5.0.3-4.fc38.noarch from fedora
  unresolved deps (2):
    /usr/share/fonts/google-droid-sans-fonts/DroidSans.ttf
    /usr/share/fonts/google-droid-sans-fonts/DroidSansFallbackFull.ttf
package: rubygem-bundler-doc-2.3.25-2.fc38.noarch from fedora
  unresolved deps (1):
    rubygem-bundler = 2.3.25-2.fc38
package: rubygem-rdoc-doc-6.4.0-203.fc38.noarch from fedora
  unresolved deps (1):
    rubygem-rdoc = 6.4.0-203.fc38
package: rubygems-doc-3.3.25-202.fc38.noarch from fedora
  unresolved deps (1):
    ruby(rubygems) = 3.3.25-202.fc38
package: rust-picky-asn1-x509+widestring-devel-0.7.0-3.fc38.noarch from fedora
  unresolved deps (1):
    (crate(widestring/alloc) >= 0.5.1 with crate(widestring/alloc) < 0.6.0~)
package: rust-reedline+clipboard-devel-0.16.0-1.fc38.noarch from fedora
  unresolved deps (1):
    (crate(clipboard/default) >= 0.5.0 with crate(clipboard/default) < 0.6.0~)
package: rust-reedline+sqlite-devel-0.16.0-1.fc38.noarch from fedora
  unresolved deps (1):
    (crate(rusqlite/bundled) >= 0.28.0 with crate(rusqlite/bundled) < 0.29.0~)
package: rust-rsa+nightly-devel-0.5.0-3.fc38.noarch from fedora
  unresolved deps (1):
    crate(num-bigint-dig/nightly) >= 0.7.0
package: sng-1.1.0-16.fc38.x86_64 from fedora
  unresolved deps (1):
    /usr/share/X11/rgb.txt
package: sqlninja-0.2.999-0.19.alpha1.fc38.noarch from fedora
  unresolved deps (16):
    /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
package: studio-controls-2.1.0-7.fc38.noarch from fedora
  unresolved deps (1):
    jack-audio-connection-kit-example-clients
package: terminus-fonts-console-4.49.1-21.fc38.noarch from fedora
  unresolved deps (1):
    /usr/lib/kbd
package: twincam-0.5.4-6.fc38.x86_64 from fedora
  unresolved deps (2):
    libcamera-base.so.0.0.3()(64bit)
    libcamera.so.0.0.3()(64bit)
Error: Repoclosure ended with unresolved dependencies (125) across 80 packages.

Output of the dnf5 repoclosure command when no metadata are present before on the system:

package: amg4psblas-openmpi-1.1.0-5.fc38.i686 from fedora
  unresolved deps (4):
    libpsb_base.so.3.8(openmpi-i386)
    libpsb_cbind.so.3.8(openmpi-i386)
    libpsb_krylov.so.3.8(openmpi-i386)
    libpsb_prec.so.3.8(openmpi-i386)
package: amg4psblas-openmpi-devel-1.1.0-5.fc38.i686 from fedora
  unresolved deps (1):
    psblas3-openmpi-devel(x86-32) >= 3.7.1
package: buildnumber-maven-plugin-1.3-24.fc38.noarch from fedora
  unresolved deps (11):
    mvn(org.apache.maven.scm:maven-scm-api)
    mvn(org.apache.maven.scm:maven-scm-manager-plexus)
    mvn(org.apache.maven.scm:maven-scm-provider-bazaar)
    mvn(org.apache.maven.scm:maven-scm-provider-clearcase)
    mvn(org.apache.maven.scm:maven-scm-provider-cvsexe)
    mvn(org.apache.maven.scm:maven-scm-provider-gitexe)
    mvn(org.apache.maven.scm:maven-scm-provider-hg)
    mvn(org.apache.maven.scm:maven-scm-provider-perforce)
    mvn(org.apache.maven.scm:maven-scm-provider-starteam)
    mvn(org.apache.maven.scm:maven-scm-provider-svn-commons)
    mvn(org.apache.maven.scm:maven-scm-provider-svnexe)
package: clang10-libs-10.0.0-16.fc38.i686 from fedora
  unresolved deps (2):
    libLLVM-10.so
    libLLVM-10.so(LLVM_10)
package: clang10-libs-10.0.0-16.fc38.x86_64 from fedora
  unresolved deps (2):
    libLLVM-10.so()(64bit)
    libLLVM-10.so(LLVM_10)(64bit)
package: clazy-1.11-4.fc38.x86_64 from fedora
  unresolved deps (1):
    clang(major) = 15
package: coin-or-Bonmin-1.8.8-12.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Cbc-2.10.5-12.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Couenne-0.5.8-11.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Ipopt-3.14.9-2.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: coin-or-Ipopt-mpich-3.14.9-2.fc38.i686 from fedora
  unresolved deps (2):
    libasl.so.3
    libmp.so.3
package: coin-or-Ipopt-openmpi-3.14.9-2.fc38.i686 from fedora
  unresolved deps (2):
    libasl.so.3
    libmp.so.3
package: coin-or-OS-2.10.3-5.fc38.i686 from fedora
  unresolved deps (1):
    libasl.so.3
package: dkms-3.0.10-3.fc38.noarch from fedora
  unresolved deps (1):
    (kernel-lpae-devel-matched if kernel-lpae-core)
package: dmlite-apache-httpd-1.15.2-13.fc38.i686 from fedora
  unresolved deps (2):
    httpd-mmn = 20120211x8632
    mod_ssl(x86-32)
package: dmlite-apache-httpd-1.15.2-15.fc38.i686 from updates
  unresolved deps (2):
    httpd-mmn = 20120211x8632
    mod_ssl(x86-32)
package: dnstwist-20230413-2.fc38.noarch from updates
  unresolved deps (1):
    (python3dist(selenium) >= 3.141.0 if chromedriver)
package: ghdl-0.38~dev-16.20201208git83dfd49.fc37.x86_64 from fedora
  unresolved deps (1):
    libgnat-12.so()(64bit)
package: ghdl-llvm-0.38~dev-16.20201208git83dfd49.fc37.x86_64 from fedora
  unresolved deps (1):
    libgnat-12.so()(64bit)
package: ghdl-mcode-0.38~dev-16.20201208git83dfd49.fc37.x86_64 from fedora
  unresolved deps (1):
    libgnat-12.so()(64bit)
package: golang-github-caddyserver-caddy-1-devel-1.0.4-11.fc38.noarch from fedora
  unresolved deps (1):
    golang(github.com/mholt/certmagic-0.8)
package: golang-github-ipfs-cid-devel-0.1.0-2.fc37.noarch from fedora
  unresolved deps (1):
    golang(github.com/multiformats/go-multihash)
package: golang-honnef-js-dom-devel-0-0.13.20210113gitd4405f7.fc38.noarch from fedora
  unresolved deps (1):
    golang(github.com/gopherjs/gopherjs/js)
package: golang-nanomsg-mangos-3-devel-3.2.1-9.fc38.noarch from fedora
  unresolved deps (1):
    golang(github.com/gdamore/optopia)
package: gridsite-3.0.0-0.24.20180202git2fdbc6f.fc38.i686 from fedora
  unresolved deps (1):
    httpd-mmn = 20120211x8632
package: librem-2.12.0-1.fc38.i686 from fedora
  unresolved deps (1):
    libre.so.14
package: librem-2.12.0-1.fc38.x86_64 from fedora
  unresolved deps (1):
    libre.so.14()(64bit)
package: linphone-3.6.1-50.fc38.i686 from fedora
  unresolved deps (2):
    libortp.so.9
    ortp(x86-32) >= 1:0.22.0
package: linphone-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (2):
    libortp.so.9()(64bit)
    ortp(x86-64) >= 1:0.22.0
package: linphone-devel-3.6.1-50.fc38.i686 from fedora
  unresolved deps (1):
    pkgconfig(ortp)
package: linphone-devel-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (1):
    pkgconfig(ortp)
package: linphone-mediastreamer-3.6.1-50.fc38.i686 from fedora
  unresolved deps (1):
    libortp.so.9
package: linphone-mediastreamer-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (1):
    libortp.so.9()(64bit)
package: linphone-mediastreamer-devel-3.6.1-50.fc38.i686 from fedora
  unresolved deps (2):
    ortp-devel(x86-32)
    pkgconfig(ortp)
package: linphone-mediastreamer-devel-3.6.1-50.fc38.x86_64 from fedora
  unresolved deps (2):
    ortp-devel(x86-64)
    pkgconfig(ortp)
package: mingw32-qt6-qtbase-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qtbase-devel = 6.4.2
package: mingw32-qt6-qtdeclarative-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtdeclarative-devel = 6.4.2
package: mingw32-qt6-qtshadertools-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtshadertools-devel = 6.4.2
package: mingw32-qt6-qttools-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qttools-devel = 6.4.2
package: mingw64-qt6-qtbase-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qtbase-devel = 6.4.2
package: mingw64-qt6-qtdeclarative-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtdeclarative-devel = 6.4.2
package: mingw64-qt6-qtshadertools-6.4.2-2.fc38.noarch from fedora
  unresolved deps (1):
    qt6-qtshadertools-devel = 6.4.2
package: mingw64-qt6-qttools-6.4.2-2.fc38.x86_64 from fedora
  unresolved deps (1):
    qt6-qttools-devel = 6.4.2
package: mp-devel-3.1.0-41.20200303git7fd4828.fc38.i686 from fedora
  unresolved deps (3):
    libasl.so.3
    libmp.so.3
    mp(x86-32) = 3.1.0-41.20200303git7fd4828.fc38
package: netbox-2.11.10-5.fc38.noarch from fedora
  unresolved deps (1):
    python3dist(drf-yasg[validation])
package: olpc-utils-6.0.6-10.fc38.i686 from fedora
  unresolved deps (1):
    xorg-x11-drv-sisusb
package: php-deepend-Mockery-0.9.11-10.fc38.noarch from fedora
  unresolved deps (1):
    (php-composer(hamcrest/hamcrest-php) >= 1.1 with php-composer(hamcrest/hamcrest-php) < 2)
package: php-laminas-di-2.6.1-10.fc38.noarch from fedora
  unresolved deps (1):
    (php-autoloader(laminas/laminas-code) >= 3.0 with php-autoloader(laminas/laminas-code) < 4)
package: php-laminas-mvc-form-1.2.0-4.fc38.noarch from fedora
  unresolved deps (1):
    (php-autoloader(laminas/laminas-code) >= 3.5.1 with php-autoloader(laminas/laminas-code) < 4)
package: php-ocramius-proxy-manager-2.2.3-8.fc38.noarch from fedora
  unresolved deps (1):
    (php-autoloader(zendframework/zend-code) >= 3.3 with php-autoloader(zendframework/zend-code) < 4)
package: python3-aioguardian-1.0.4-8.fc38.noarch from fedora
  unresolved deps (3):
    (python3.11dist(async-timeout) < 4~~ with python3.11dist(async-timeout) >= 3.0.1)
    (python3.11dist(asyncio-dgram) < 2~~ with python3.11dist(asyncio-dgram) >= 1.0.1)
    (python3.11dist(voluptuous) < 0.13~~ with python3.11dist(voluptuous) >= 0.11.7)
package: python3-cle-9.0.9572-4.fc37.noarch from fedora
  unresolved deps (1):
    python3.11dist(pyvex) = 9.0.9572
package: python3-pyvex-9.2.32-2.fc38.x86_64 from fedora
  unresolved deps (1):
    python3.11dist(archinfo) = 9.2.32
package: python3-scrapy-2.6.1-4.fc38.noarch from fedora
  unresolved deps (2):
    python3-pydispatcher
    python3.11dist(pydispatcher) >= 2.0.5
package: rocm-opencl-5.4.3-1.fc38.x86_64 from fedora
  unresolved deps (1):
    comgr(rocm) = 5.4
package: rubygem-bundler-doc-2.3.25-2.fc38.noarch from fedora
  unresolved deps (1):
    rubygem-bundler = 2.3.25-2.fc38
package: rubygem-rdoc-doc-6.4.0-203.fc38.noarch from fedora
  unresolved deps (1):
    rubygem-rdoc = 6.4.0-203.fc38
package: rubygems-doc-3.3.25-202.fc38.noarch from fedora
  unresolved deps (1):
    ruby(rubygems) = 3.3.25-202.fc38
package: rust-picky-asn1-x509+widestring-devel-0.7.0-3.fc38.noarch from fedora
  unresolved deps (1):
    (crate(widestring/alloc) >= 0.5.1 with crate(widestring/alloc) < 0.6.0~)
package: rust-reedline+clipboard-devel-0.16.0-1.fc38.noarch from fedora
  unresolved deps (1):
    (crate(clipboard/default) >= 0.5.0 with crate(clipboard/default) < 0.6.0~)
package: rust-reedline+sqlite-devel-0.16.0-1.fc38.noarch from fedora
  unresolved deps (1):
    (crate(rusqlite/bundled) >= 0.28.0 with crate(rusqlite/bundled) < 0.29.0~)
package: rust-rsa+nightly-devel-0.5.0-3.fc38.noarch from fedora
  unresolved deps (1):
    crate(num-bigint-dig/nightly) >= 0.7.0
package: studio-controls-2.1.0-7.fc38.noarch from fedora
  unresolved deps (1):
    jack-audio-connection-kit-example-clients
package: twincam-0.5.4-6.fc38.x86_64 from fedora
  unresolved deps (2):
    libcamera-base.so.0.0.3()(64bit)
    libcamera.so.0.0.3()(64bit)
Error: Repoclosure ended with unresolved dependencies (93) across 64 packages.
@m-blaha
Copy link
Member

m-blaha commented May 10, 2023

It's a long shot and I still do not have reliable reproducer, but:
I have two sets of repository metadata, the repodata/* files are exactly the same, updated and valid. But the solv/fedora.solv files in both locations are different. dnf5 happily uses both of these caches without downloading anything, and of course I can see different outputs of the repoclosure command with these caches.

Could it be, that we check cache validity according downloaded metadata, but related *.solv(x) files are then used even if they are stale and not consistent with repodata?

@kontura
Copy link
Contributor

kontura commented May 10, 2023

I think not, we write at the begging of the *.solv(x) files a checksum of corresponding repomd.xml and those have to match.
https://github.com/rpm-software-management/dnf5/blob/main/libdnf/repo/solv_repo.cpp#L139

@m-blaha
Copy link
Member

m-blaha commented May 10, 2023

Yeah, I've just found it.
One more interesting thing - according to dumpsolv fedora.solv file contains also filelists metadata, which is kind of wierd. They should be in fedora-filelists.solvx, shouldnt't they? These files in both cache locations differ. The fedora-filelists.solvx are the same. So maybe some flaw in writing *.solv files?

@m-blaha
Copy link
Member

m-blaha commented May 10, 2023

So both sets of *.solv files are valid, created from the same repomd.xml and still contain different data.

@jan-kolarik
Copy link
Member Author

There was some potentially similar issue with the comps metadata recently: #346. Maybe it's something of a similar manner...

@j-mracek j-mracek added Priority: HIGH Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take labels May 15, 2023
@kontura kontura self-assigned this May 16, 2023
@kontura
Copy link
Contributor

kontura commented Jun 6, 2023

I have made a libsolv PR: openSUSE/libsolv#531 as a possible solution.

evan-goode pushed a commit to rpm-software-management/ci-dnf-stack that referenced this issue Aug 10, 2023
kontura added a commit to kontura/libdnf that referenced this issue Jun 25, 2024
Since dnf4 now also conditionally load filelists it ran into the same
problem as dnf5 here: rpm-software-management/dnf5#520

Additional details in: openSUSE/libsolv#531
kontura added a commit to kontura/ci-dnf-stack that referenced this issue Jun 25, 2024
Since dnf4 now also conditionally load filelists it ran into the
same problem as dnf5 here: For: rpm-software-management/dnf5#520
Backport the test.

For: rpm-software-management/libdnf#1670
kontura added a commit to kontura/libdnf that referenced this issue Jun 25, 2024
Since dnf4 now also conditionally load filelists it ran into the same
problem as dnf5 here: rpm-software-management/dnf5#520

Additional details in: openSUSE/libsolv#531
ppisar pushed a commit to rpm-software-management/libdnf that referenced this issue Jul 2, 2024
Since dnf4 now also conditionally load filelists it ran into the same
problem as dnf5 here: rpm-software-management/dnf5#520

Additional details in: openSUSE/libsolv#531
ppisar pushed a commit to rpm-software-management/ci-dnf-stack that referenced this issue Jul 2, 2024
Since dnf4 now also conditionally load filelists it ran into the
same problem as dnf5 here: For: rpm-software-management/dnf5#520
Backport the test.

For: rpm-software-management/libdnf#1670
ppisar pushed a commit to rpm-software-management/libdnf that referenced this issue Aug 30, 2024
Since dnf4 now also conditionally load filelists it ran into the same
problem as dnf5 here: rpm-software-management/dnf5#520

Additional details in: openSUSE/libsolv#531
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: HIGH Triaged Someone on the DNF 5 team has read the issue and determined the next steps to take
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants