From: Yann E. MORIN Date: Wed, 9 Aug 2017 16:10:05 +0000 (+0200) Subject: Revert "package/skeleton-custom: also check for missing directories" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aff2f7395843b338f3492b915e8e5cd8b25a43b3;p=buildroot.git Revert "package/skeleton-custom: also check for missing directories" This partially reverts commit cf6d321e9d5c9dec63e42466fec4bf5de5853bd3. The underlying reason for doing the checks is to ensure that a merged-usr setting is properly enforced, even for custom skeletons. Before that patch, a custom skeleton where both /bin and /usr/bin were missing was accepted; but then the first package that intalled something in /bin would create it as a directory, thus breaking the merged-usr situation. Ditto sbin and lib, of course. cf6d321 was created to detect that situation, and the fix was to require that both directories do exist in the custom skeleton, so that we new the check for consistency were OK, in all cases. However, that broke existing skeletons which where missing both directories, and some people are shinning about it... The crux of the problem is that Buildroot should be responsible for creating the directories or the symliks when they are missing, and only fail if the existing ones are incorrect, but not impose the burden on the user. A situation where the problem arises is when a skeleton is shared between various builds, some using a merged-usr while other do not. We fix that by reverting the offending changes change, back to the previous behaviour. We keep the stderr redirection in stat calls, and the variable renaming. A proper fix to create the missing directories can be added later. Signed-off-by: "Yann E. MORIN" Cc: Arnout Vandecappelle Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- diff --git a/package/skeleton-custom/skeleton-custom.mk b/package/skeleton-custom/skeleton-custom.mk index d3c6b48211..8c57531782 100644 --- a/package/skeleton-custom/skeleton-custom.mk +++ b/package/skeleton-custom/skeleton-custom.mk @@ -36,27 +36,6 @@ SKELETON_CUSTOM_USR_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr SKELETON_CUSTOM_USR_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/bin/. 2>/dev/null) SKELETON_CUSTOM_USR_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/sbin/. 2>/dev/null) -# Ensure that the custom skeleton has /lib, /bin and /sbin, and their -# /usr counterparts -ifeq ($(SKELETON_CUSTOM_LIB_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /lib -endif -ifeq ($(SKELETON_CUSTOM_USR_LIB_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /usr/lib -endif -ifeq ($(SKELETON_CUSTOM_BIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /bin -endif -ifeq ($(SKELETON_CUSTOM_USR_BIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /usr/bin -endif -ifeq ($(SKELETON_CUSTOM_SBIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /sbin -endif -ifeq ($(SKELETON_CUSTOM_USR_SBIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /usr/sbin -endif - # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr # counterparts are appropriately setup as symlinks ones to the others. ifeq ($(BR2_ROOTFS_MERGED_USR),y) @@ -74,11 +53,6 @@ endif endif # merged /usr ifeq ($(BR2_PACKAGE_SKELETON_CUSTOM)$(BR_BUILDING),yy) -ifneq ($(SKELETON_CUSTOM_MISSING_DIRS),) -$(error The custom skeleton in $(SKELETON_CUSTOM_PATH) is \ - missing those directories or symlinks: \ - $(SKELETON_CUSTOM_MISSING_DIRS)) -endif ifneq ($(SKELETON_CUSTOM_NOT_MERGED_USR_DIRS),) $(error The custom skeleton in $(SKELETON_CUSTOM_PATH) is not \ using a merged /usr for the following directories: \