[Buildroot] [PATCH 05/40] package/dcron: preserve /usr/sbin symlink

James Hilliard james.hilliard1 at gmail.com
Wed May 6 22:33:06 UTC 2026


With BR2_ROOTFS_MERGED_BIN=y, /usr/sbin is a symlink to bin.
Using install -D for files below $(TARGET_DIR)/usr/sbin can create
the parent directory path and replace that symlink with a real
directory.

With per-package directories, this can later make rsync fail when a
package target directory contains a non-empty usr/sbin directory and
the skeleton provides usr/sbin -> bin.

The skeleton dependency has already created /usr/sbin, either as a
directory or as the merged-bin symlink, so use plain install and let it
follow the existing path.

Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
---
 package/dcron/dcron.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/dcron/dcron.mk b/package/dcron/dcron.mk
index f0c3efbf8f..7e70e69c14 100644
--- a/package/dcron/dcron.mk
+++ b/package/dcron/dcron.mk
@@ -14,7 +14,7 @@ define DCRON_BUILD_CMDS
 endef
 
 define DCRON_INSTALL_TARGET_CMDS
-	$(INSTALL) -D -m0700 $(@D)/crond $(TARGET_DIR)/usr/sbin/crond
+	$(INSTALL) -m0700 $(@D)/crond $(TARGET_DIR)/usr/sbin/crond
 	$(INSTALL) -D -m4755 $(@D)/crontab $(TARGET_DIR)/usr/bin/crontab
 	$(INSTALL) -D -m0644 $(@D)/extra/root.crontab $(TARGET_DIR)/etc/cron.d/system
 	# Busybox provides run-parts, so there is no need to use nor install provided run-cron
-- 
2.53.0



More information about the buildroot mailing list