Bug 1653354

Summary: repoquery produces a false statement according to glibc32 requirement for any x86_64 package
Product: Red Hat Enterprise Linux 8 Reporter: Andrei Stepanov <astepano>
Component: dnf-plugins-coreAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED NOTABUG QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: high Docs Contact:
Priority: unspecified    
Version: 8.1CC: dmach, james.antill, jmracek
Target Milestone: rc   
Target Release: 8.0   
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: 2018-12-03 12:24:29 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:    
Bug Blocks: 1643076    

Description Andrei Stepanov 2018-11-26 15:47:50 UTC
repoquery claims that "glibc32" is required for any x86_64 package.

python3-dnf-plugins-core-4.0.2-1.el8.noarch
python3-libdnf-0.22.3-1.el8.x86_64
dnf-data-4.0.9-1.el8.noarch
dnf-4.0.9-1.el8.noarch
dnf-plugin-subscription-manager-1.23.8-2.el8.x86_64
dnf-utils-4.0.2-1.el8.noarch
python3-dnf-4.0.9-1.el8.noarch
dnf-plugins-core-4.0.2-1.el8.noarch
libdnf-0.22.3-1.el8.x86_64

How reproducible: always

Let's take package bc. It is binary and has very small number of dependencies.

# repoquery --requires  bc.x86_64
/bin/sh
/sbin/install-info
libc.so.6(GLIBC_2.14)(64bit)
libncurses.so.6()(64bit)
libreadline.so.7()(64bit)
libtinfo.so.6()(64bit)
rtld(GNU_HASH)

Now add:
--resolve
When used with --requires, resolve capabilities to originating packages.

# repoquery --requires --resolve  bc.x86_64
bash-0:4.4.19-6.el8.x86_64
glibc-0:2.28-34.el8.i686          <<<-------------- this
glibc-0:2.28-34.el8.x86_64
info-0:6.5-4.el8.x86_64
ncurses-libs-0:6.1-5.20180224.el8.x86_64
readline-0:7.0-10.el8.x86_64

# repoquery --requires --resolve --recursive  bc.x86_64 | grep i686
glibc-0:2.28-34.el8.i686
pcre2-0:10.31-11.el8.i686

Comment 1 Daniel Mach 2018-12-03 12:24:29 UTC
It behaves according to expectations.
Some of the requires/provides are noarch.

You're also probably running tests in build environment.
AFAIK glibc32 is for build system / build roots only and should never appear in any test environment.