|
Bugzilla – Full Text Bug Listing |
| Summary: | libnml pkg, from security:netfilter, installs headers in incorrect path, wrong info added to pkg-config | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Distribution | Reporter: | Forgotten User 7645792743 <forgotten_7645792743> |
| Component: | Security | Assignee: | Jan Engelhardt <jengelh> |
| Status: | RESOLVED DUPLICATE | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | jengelh |
| Version: | Leap 15.2 | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Forgotten User 7645792743
2020-04-16 16:21:09 UTC
https://build.opensuse.org/package/rdiff/security:netfilter/libmnl?linkrev=base&rev=30 https://build.opensuse.org/package/rdiff/security:netfilter/libmnl?linkrev=base&rev=32 > %configure --includedir="%_includedir/%name" Fix in https://build.opensuse.org/request/show/794662 Intentional. You need both `pkg-config libmnl --cflags` as well as `#include <libmnl/libmnl.h>` in any conforming project wishing to use libmnl. *** This bug has been marked as a duplicate of bug 795968 *** 'intended' ?
so the 'intention' is to diverge from upstream & standard installs?
from upstream, vanilla install
cd /usr/local/src
git clone git://git.netfilter.org/libmnl
cd libmnl
./autogen.sh
./configure --prefix=/usr/local/libmnl-test
make
make install
cd /usr/local/libmnl-test/
tree .
.
├── [root 4096] include
│ └── [root 4096] libmnl
│ └── [root 8052] libmnl.h
└── [root 4096] lib64
├── [root 915] libmnl.la
├── [root 15] libmnl.so -> libmnl.so.0.2.0
├── [root 15] libmnl.so.0 -> libmnl.so.0.2.0
├── [root 30264] libmnl.so.0.2.0
└── [root 4096] pkgconfig
└── [root 332] libmnl.pc
4 directories, 6 files
installed, as expected, in
$PREFIX/include/libmnl/libmnl.h
consistent with its .pc
grep includedir lib64/pkgconfig/libmnl.pc
includedir=${prefix}/include
Cflags: -I${includedir}
NOT installed in
$PREFIX/include/libmnl/libmnl/libmnl.h
^^^^^^^^^^^^^
as packaged, and INconsistent with its
grep includedir /usr/lib64/pkgconfig/libmnl.pc
includedir=/usr/include/libmnl
Cflags: -I${includedir}
as currently packaged, breaks upstream source builds of, e.g., 'unbound', which looks for libmnl.h in sane locations,
...
# Check whether --with-libmnl was given.
if test "${with_libmnl+set}" = set; then :
withval=$with_libmnl;
else
withval="yes"
fi
found_libmnl="no"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmnl" >&5
$as_echo_n "checking for libmnl... " >&6; }
if test x_$withval = x_ -o x_$withval = x_yes; then
withval="/usr/local /opt/local /usr/lib /usr/pkg /usr/sfw /usr"
fi
for dir in $withval ; do
if test -f "$dir/include/libmnl/libmnl.h"; then
found_libmnl="yes"
if test "$dir" != "/usr"; then
CPPFLAGS="$CPPFLAGS -I$dir/include"
LDFLAGS="$LDFLAGS -L$dir/lib"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $dir" >&5
$as_echo "found in $dir" >&6; }
LIBS="$LIBS -lmnl"
break;
fi
NOT in
$PREFIX/include/libmnl/libmnl/libmnl.h
The intention is to catch failures to abide by pkgconfig files, which is important for cases like sysroots. While not specifically for libmnl (but for other libraries very much so), one example of a sysroot is our mingw installation. *** This bug has been marked as a duplicate of bug 795968 *** broken by design. well, ok then. np. rm'd from all machines, & blacklisted. local builds are trivial & correct. |