Fedora List Subscriber writes:
Hi list
When trying to build an RPM [yes, I don't have an anvil to drop on my foot instead! ;-P ] in FC2 (patched up2date):
// rpmbuild -ta -v courier-0.47.tar.bz2
results in the following error:
// A few lines of output to indicate at what stage this failed ... // // Processing files: courier-debuginfo-0.47-1.2 // Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 // rpmlib(PayloadFilesHavePrefix) <= 4.0-1 //
RPM build errors: File not found by glob: /var/tmp/courier-0.47-1.2-buildroot/usr/local/bin/*
This is a bug in rpm/glibc. stracing rpm shows that it globs out "%{_bindir}/*" by calling stat() on each filename.
In an RPM buildroot image, intra-package soft links are obviously broken, since they point outside the buildroot. stat() fails on them.
Bug 139460.
Looks like recently rpm switched from lstat() to stat(), when globbing out %files.
This bug must've been hiding for quite some time. You'll only hit it if you're building a package that installs softlinks for the first time, or if the newer version of an installed package installs new soft links. Otherwise, inside the build root the softlinks point to the existing installation's files, outside of the buildroot, stat() succeeds, and rpm processes the results from glob().
Attachment:
pgpkxdW5ytv1P.pgp
Description: PGP signature