From c9ab7387066940d7599a2e5d79d56405195d5f4e Mon Sep 17 00:00:00 2001 From: Andreas Henriksson Date: Sun, 30 Jul 2017 19:52:17 +0200 Subject: whereis: include native multiarch path in lib search paths This includes atleast the native multiarch path in the paths to search. (Maybe also other multiarch paths should also be searched? But atleast this is a first step.) Before this change (on Debian): $ whereis libc libc: /usr/share/man/man7/libc.7.gz After this change: $ whereis libc libc: /usr/lib/x86_64-linux-gnu/libc.so /usr/lib/x86_64-linux-gnu/libc.a /usr/share/man/man7/libc.7.gz Addresses: https://bugs.debian.org/856968 Signed-off-by: Andreas Henriksson --- configure.ac | 5 +++++ misc-utils/whereis.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/configure.ac b/configure.ac index 38b968878..dc71faa00 100644 --- a/configure.ac +++ b/configure.ac @@ -1490,6 +1490,11 @@ AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes]) UL_BUILD_INIT([namei], [yes]) AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes]) +matriplet="$($CC -print-multiarch 2>/dev/null || true)" +if test "x$matriplet" != "x"; then + AC_DEFINE_UNQUOTED([MULTIARCHTRIPLET], ["$matriplet"], + ["Multi-arch triplet for whereis library search path"]) +fi UL_BUILD_INIT([whereis], [yes]) AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes]) diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c index bac158d46..caa155ca3 100644 --- a/misc-utils/whereis.c +++ b/misc-utils/whereis.c @@ -96,6 +96,11 @@ struct wh_dirlist { static const char *bindirs[] = { "/usr/bin", "/usr/sbin", +#if defined(MULTIARCHTRIPLET) + "/lib/" MULTIARCHTRIPLET, + "/usr/lib/" MULTIARCHTRIPLET, + "/usr/local/lib/" MULTIARCHTRIPLET, +#endif "/usr/lib", "/usr/lib64", "/bin", -- cgit v1.2.3-55-g7522