From patchwork Sat Nov 10 21:42:46 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [09/11] rpcbind: allow build without NSS support From: Thomas Petazzoni X-Patchwork-Id: 198216 Message-Id: <13ca6c8f55f92df21dc9ba86e09dfe0b17a686d6.1352583641.git.thomas.petazzoni@free-electrons.com> To: buildroot@busybox.net Date: Sat, 10 Nov 2012 22:42:46 +0100 uClibc doesn't provide NSS support, so we shouldn't try to include nss related headers or call nss related functions. Signed-off-by: Thomas Petazzoni --- ...to-use-NSS-support-when-not-available-in-.patch | 60 ++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 package/rpcbind/rpcbind-0002-Do-not-try-to-use-NSS-support-when-not-available-in-.patch diff --git a/package/rpcbind/rpcbind-0002-Do-not-try-to-use-NSS-support-when-not-available-in-.patch b/package/rpcbind/rpcbind-0002-Do-not-try-to-use-NSS-support-when-not-available-in-.patch new file mode 100644 index 0000000..f7cc4a6 --- /dev/null +++ b/package/rpcbind/rpcbind-0002-Do-not-try-to-use-NSS-support-when-not-available-in-.patch @@ -0,0 +1,60 @@ +From cfc70fb4c54e044f724516e9352f974187adb448 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 10 Nov 2012 22:04:12 +0100 +Subject: [PATCH] Do not try to use NSS support when not available in the C + library + +uClibc does not have NSS support, so it is unnecessary to tell the C +library to use the "files" as the source for "services", since it is +the only possible choice. + +Signed-off-by: Thomas Petazzoni +--- + src/rpcbind.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/rpcbind.c b/src/rpcbind.c +index 525ffba..cde8685 100644 +--- a/src/rpcbind.c ++++ b/src/rpcbind.c +@@ -67,7 +67,9 @@ + #include + #include + #include ++#ifdef HAVE_NSS_H + #include ++#endif + #include "config.h" + #include "rpcbind.h" + +@@ -156,11 +158,13 @@ main(int argc, char *argv[]) + exit(1); + } + ++#ifdef HAVE_NSS_H + /* + * Make sure we use the local service file + * for service lookkups + */ + __nss_configure_lookup("services", "files"); ++#endif + + nc_handle = setnetconfig(); /* open netconfig file */ + if (nc_handle == NULL) { +@@ -222,11 +226,13 @@ main(int argc, char *argv[]) + struct passwd *p; + char *id = runasdaemon ? RUN_AS : rpcbinduser; + ++#ifdef HAVE_NSS_H + /* + * Make sure we use the local password file + * for these lookups. + */ + __nss_configure_lookup("passwd", "files"); ++#endif + + if((p = getpwnam(id)) == NULL) { + syslog(LOG_ERR, "cannot get uid of '%s': %m", id); +-- +1.7.9.5 +