Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
Makefile | 3 +--
package/skeleton-custom/skeleton-custom.mk | 11 ++---------
support/scripts/check-merged | 22 +++++++++++++++-------
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/Makefile b/Makefile
index 5a60e71d32..2ff944f6f1 100644
--- a/Makefile
+++ b/Makefile
@@ -781,12 +781,11 @@ 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)
@$(call MESSAGE,"Sanity check in overlays $(call qstrip,$(BR2_ROOTFS_OVERLAY))")
support/scripts/check-merged \
--type overlay \
+ $(if $(BR2_ROOTFS_MERGED_USR),--merged-usr) \
$(call qstrip,$(BR2_ROOTFS_OVERLAY))
-endif # merged /usr
$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
@$(call MESSAGE,"Copying overlay $(d)")$(sep) \
diff --git a/package/skeleton-custom/skeleton-custom.mk b/package/skeleton-custom/skeleton-custom.mk
index 82e1506156..5d65b95ecf 100644
--- a/package/skeleton-custom/skeleton-custom.mk
+++ b/package/skeleton-custom/skeleton-custom.mk
@@ -23,19 +23,12 @@ $(error No path specified for the custom skeleton)
endif
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)
-define SKELETON_CUSTOM_NOT_MERGED_USR_DIRS
+define SKELETON_CUSTOM_CONFIGURE_CMDS
support/scripts/check-merged \
--type skeleton \
+ $(if $(BR2_ROOTFS_MERGED_USR),--merged-usr) \
$(SKELETON_CUSTOM_PATH)
endef
-endif # merged /usr
-
-define SKELETON_CUSTOM_CONFIGURE_CMDS
- $(SKELETON_CUSTOM_NOT_MERGED_USR_DIRS)
-endef
# The target-dir-warning file and the lib{32,64} symlinks are the only
# things we customise in the custom skeleton.
diff --git a/support/scripts/check-merged b/support/scripts/check-merged
index 34e726b4fb..3cccd68dd7 100755
--- a/support/scripts/check-merged
+++ b/support/scripts/check-merged
@@ -13,6 +13,7 @@
#
# Input:
# --type TYPE the type of root to check: 'skeleton' or 'overlay'
+# --merged-usr check for merged /usr
# $*: the root directories (skeleton, overlays) to check
# Output:
# stdout: the list of non-compliant paths (empty if compliant).
@@ -21,17 +22,22 @@
# !0: if any directory to check is improperly merged
#
-opts="type:"
+opts="type:,merged-usr"
ARGS="$(getopt -n check-merged -o "" -l "${opts}" -- "${@}")" || exit 1
eval set -- "${ARGS}"
type=
+merged_usr=false
while :; do
case "${1}" in
(--type)
type="${2}"
shift 2
;;
+ (--merged-usr)
+ merged_usr=true
+ shift
+ ;;
(--)
shift
break
@@ -101,12 +107,14 @@ test_dir() {
is_success=true
for root; do
first=true
- test_dir "${type}" "${root}" "/" "usr/bin"
- test_dir "${type}" "${root}" "/" "usr/lib"
- test_dir "${type}" "${root}" "/" "usr/sbin"
- test_merged "${type}" "${root}" "/" "bin" "usr/bin"
- test_merged "${type}" "${root}" "/" "lib" "usr/lib"
- test_merged "${type}" "${root}" "/" "sbin" "usr/sbin"
+ if ${merged_usr}; then
+ test_dir "${type}" "${root}" "/" "usr/bin"
+ test_dir "${type}" "${root}" "/" "usr/lib"
+ test_dir "${type}" "${root}" "/" "usr/sbin"
+ test_merged "${type}" "${root}" "/" "bin" "usr/bin"
+ test_merged "${type}" "${root}" "/" "lib" "usr/lib"
+ test_merged "${type}" "${root}" "/" "sbin" "usr/sbin"
+ fi
done
${is_success}
--
2.51.0