Moved from https://bugzilla.redhat.com/show_bug.cgi?id=2143244
As noted in this thread:
https://lists.fedoraproject.org/archives/list/de...@lists.fedoraproject.org/thread/P2N35UMQVEXPILAF47RQB53MWRV2GM3J/
many packages in Fedora contain pkgconfig (*.pc) files with bad
paths. It seems two kinds of failures are common:
$ pkgconf --libs libcares
-L/usr/usr/lib64 -lcares
The path (/usr/usr/lib64) does not exist at all. Or:
$ pkgconf --libs libasyncns
-L/usr/lib -lasyncns
A package references the wrong path (64 bit package vs 32 bit /usr/lib).
It would be nice if a brp script could detect these failures.
I wrote a script (attached) which is a bit of a hack but can detect
failures in already installed packages, so that might be a starting
point:
package libasyncns refers to 32 bit path -L/usr/lib
package libwebp refers to 32 bit path -L/usr/lib
package grpc_unsecure refers to 32 bit path -L/usr/lib
package grpc++_unsecure refers to 32 bit path -L/usr/lib
package libwebpdecoder refers to 32 bit path -L/usr/lib
package libibmad refers to non-existent path -I/usr/usr/include
package libibmad refers to non-existent path -L/usr/usr/lib64
package libcares refers to non-existent path -L/usr/usr/lib64
package libibnetdisc refers to non-existent path -I/usr/usr/include
package libibnetdisc refers to non-existent path -L/usr/usr/lib64
package libwebpdemux refers to 32 bit path -L/usr/lib
package libwebpmux refers to 32 bit path -L/usr/lib
package libmlx5 refers to non-existent path -I/usr/usr/include
package libmlx5 refers to non-existent path -L/usr/usr/lib64
package gpr refers to 32 bit path -L/usr/lib
package libefa refers to non-existent path -I/usr/usr/include
package libefa refers to non-existent path -L/usr/usr/lib64
package libibumad refers to non-existent path -I/usr/usr/include
package libibumad refers to non-existent path -L/usr/usr/lib64
package librdmacm refers to non-existent path -I/usr/usr/include
package librdmacm refers to non-existent path -L/usr/usr/lib64
package valgrind refers to non-existent path -L/usr/lib64/valgrind
package grpc refers to 32 bit path -L/usr/lib
package libmlx4 refers to non-existent path -I/usr/usr/include
package libmlx4 refers to non-existent path -L/usr/usr/lib64
package grpc++ refers to 32 bit path -L/usr/lib
package libibverbs refers to non-existent path -I/usr/usr/include
package libibverbs refers to non-existent path -L/usr/usr/lib64
Version-Release number of selected component (if applicable):
rpm-4.18.0-3.fc38.x86_64
How reproducible:
100%
Steps to Reproduce:
1. Run the attached script on a machine that has a good number of *-devel
packages installed.
Actual results:
See above.
Expected results:
These kinds of errors should be detected when the package is built,
as happens now with rpaths or unpackaged files for example.
------
Some vague stuff here:
https://github.com/rwmjones/rpm/tree/check-pkgconf
Things I cannot work out:
(1) How to get RPM's $libdir in a check script.
(2) How to get the check script to be added to __os_install_post (even the
existing check-rpaths script is not added).
[check-pkgconf.txt](https://github.com/rpm-software-management/rpm/files/14430858/check-pkgconf.txt)
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/2935
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/issues/2...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint