What steps are required to get RPM dependency generators to run in Koji?

I have added a dependency generator to the glibc-devel package:

  
<https://src.fedoraproject.org/rpms/glibc/c/700394c8ed3c3db06fe2c3b4667a33896d3b1e74?branch=rawhide>

A scratch build of lua shows that this glibc version is used in the
build:

| DEBUG util.py:446:   glibc-devel               x86_64    2.33.9000-26.fc35    
       build    140 k

<https://kojipkgs.fedoraproject.org//work/tasks/6430/70906430/root.log>

But the dependency is not picked up:

| Provides: lua = 5.4.3-1.fc35 lua(x86-64) = 5.4.3-1.fc35
| Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) 
<= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
| Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.11)(64bit) 
libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) 
libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) 
libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) liblua-5.4.so()(64bit) 
libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libm.so.6(GLIBC_2.29)(64bit) 
libreadline.so.8()(64bit) rtld(GNU_HASH)

<https://kojipkgs.fedoraproject.org//work/tasks/6430/70906430/build.log>

A mock build against a buildroot which contains the -26 glibc build,
<https://kojipkgs.fedoraproject.org//repos/f35-build-side-43089/3774468/x86_64>,
shows this output instead:

| Provides: lua = 5.4.3-1.fc35 lua(x86-64) = 5.4.3-1.fc35
| Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) 
<= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
| Requires: glibc >= 2.33.9000-26.fc35 libc.so.6()(64bit) 
libc.so.6(GLIBC_2.11)(64bit) libc.so.6(GLIBC_2.14)(64bit) 
libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) 
libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.34)(64bit) 
libc.so.6(GLIBC_2.4)(64bit) liblua-5.4.so()(64bit) libm.so.6()(64bit) 
libm.so.6(GLIBC_2.2.5)(64bit) libm.so.6(GLIBC_2.29)(64bit) 
libreadline.so.8()(64bit) rtld(GNU_HASH)
| Processing files: lua-devel-5.4.3-1.fc35.x86_64
| Provides: lua-devel = 5.4.3-1.fc35 lua-devel(x86-64) = 5.4.3-1.fc35 
pkgconfig(lua) = 5.4.0
| Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) 
<= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
| Requires: /usr/bin/pkg-config

And the built RPM does indeed carry the generated dependency.

Even more curious, I have a scratch build for xz here where the
dependency is generated on x86_64:

<https://koji.fedoraproject.org/koji/taskinfo?taskID=70906436>

$ rpm -qp --requires 
https://kojipkgs.fedoraproject.org//work/tasks/6436/70906436/xz-5.2.5-6.fc35.x86_64.rpm
 | grep glibc
glibc >= 2.33.9000-26.fc35

And the dependency was also generated on armhfp during the original lua
scratch build:

$ rpm -qp --requires 
https://kojipkgs.fedoraproject.org//work/tasks/6428/70906428/lua-5.4.3-1.fc35.armv7hl.rpm
 | grep glibc
glibc >= 2.33.9000-26.fc35

As far as I know, my dependency generator is determinstic, so this
really should not happen.  (Note that not all builds are expected to
carry this dependency, but everything that contains an ELF main program
should.)

Any idea why this isn't working reliably in Koji?

Thanks,
Florian
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to