getent: look for glibc's getent in more places
authorArnout Vandecappelle <arnout@mind.be>
Wed, 15 Oct 2014 12:15:22 +0000 (14:15 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Thu, 16 Oct 2014 09:01:45 +0000 (11:01 +0200)
External toolchains don't always install the executable in /usr/bin -
God knows why. So check in a few more places.

We can use make's $(wildcard ...) here, because the variable only gets
expanded when the install step is executed, and by that time the
STAGING_DIR has already been installed.

Probably fixes most getent autobuilder errors, at least if fixes
http://autobuild.buildroot.net/results/615b9d17f713b4a53192efb00188560a76b9efa3/

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/getent/getent.mk

index dd0847880d77c0b547fe1bfa81c9129d15368847..18f09912a764be68455f3cba0a508a6eeb9a5cc3 100644 (file)
@@ -14,7 +14,11 @@ GETENT_LICENSE = LGPLv2.1+
 # the C library. For other toolchains, we use the wrapper script
 # included in this package.
 ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
-GETENT_LOCATION = $(STAGING_DIR)/usr/bin/getent
+# Sourcery toolchains install it in sysroot/usr/lib/bin
+# Buildroot toolchains install it in sysroot/usr/bin
+GETENT_LOCATION = $(firstword $(wildcard \
+       $(STAGING_DIR)/usr/bin/getent \
+       $(STAGING_DIR)/usr/lib/bin/getent))
 else
 GETENT_LOCATION = package/getent/getent
 endif