From: Gustavo Zacarias Date: Mon, 20 Oct 2014 12:28:05 +0000 (-0300) Subject: system/skeleton: make nsswitch install conditional X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e1eba3d97;p=buildroot.git system/skeleton: make nsswitch install conditional Don't blindly install the /etc/nsswitch.conf file, it's useless for toolchains that aren't (e)glibc-based and misleading. Make the installation conditional on a (e)glibc toolchain. [Thomas: use $(INSTALL) instead of cp.] Signed-off-by: Gustavo Zacarias Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- diff --git a/package/glibc/nsswitch.conf b/package/glibc/nsswitch.conf new file mode 100644 index 0000000000..d81e2f053e --- /dev/null +++ b/package/glibc/nsswitch.conf @@ -0,0 +1,17 @@ +# /etc/nsswitch.conf +# +# Example configuration of GNU Name Service Switch functionality. +# If you have the `glibc-doc-reference' and `info' packages installed, try: +# `info libc "Name Service Switch"' for information about this file. + +passwd: files +group: files +shadow: files +hosts: files dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files + diff --git a/system/skeleton/etc/nsswitch.conf b/system/skeleton/etc/nsswitch.conf deleted file mode 100644 index d81e2f053e..0000000000 --- a/system/skeleton/etc/nsswitch.conf +++ /dev/null @@ -1,17 +0,0 @@ -# /etc/nsswitch.conf -# -# Example configuration of GNU Name Service Switch functionality. -# If you have the `glibc-doc-reference' and `info' packages installed, try: -# `info libc "Name Service Switch"' for information about this file. - -passwd: files -group: files -shadow: files -hosts: files dns -networks: files - -protocols: files -services: files -ethers: files -rpc: files - diff --git a/toolchain/toolchain.mk b/toolchain/toolchain.mk index 8fe06ffa5b..3f9900ba18 100644 --- a/toolchain/toolchain.mk +++ b/toolchain/toolchain.mk @@ -3,6 +3,16 @@ # TARGET_FINALIZE_HOOKS, to be applied just after all packages # have been built. +# Install default nsswitch.conf file if the skeleton doesn't provide it +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) +define GLIBC_COPY_NSSWITCH_FILE + $(Q)if [ ! -f "$(TARGET_DIR)/etc/nsswitch.conf" ]; then \ + $(INSTALL) -D -m 0644 package/glibc/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf ; \ + fi +endef +TARGET_FINALIZE_HOOKS += GLIBC_COPY_NSSWITCH_FILE +endif + # Install the gconv modules ifeq ($(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY),y) GCONV_LIBS = $(call qstrip,$(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST))