From 905ae47e506446c06895d795228e618332cd2e35 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Mon, 9 Apr 2012 03:25:45 -0500 Subject: [PATCH] script/gentree: use fakeroot for overlay to avoid weird ownership creeping into firmware If you need non-root ownership for overlaid files, use a script to set them. --- script/gentree | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/script/gentree b/script/gentree index 2b1adf7..366f0c3 100755 --- a/script/gentree +++ b/script/gentree @@ -107,6 +107,17 @@ onelink() { done } +fakeroot() { + for fakeroot in $(which fakeroot) /usr/local/bin/fakeroot + do + [ -x "${fakeroot}" ] && break + unset fakeroot + done + + [ -x "${fakeroot}" ] || warn "security/fakeroot not found! Expect weird ownership from overlay" + "${fakeroot}" "${@}" +} + # Build steps do_prepwork() { log Prepare workspace @@ -134,7 +145,7 @@ do_admin() { do_overlay() { [ -d "${ovly}" ] || return log Apply overlay from "${ovly##${base}/}" - ( cd "${ovly}" && find . | cpio -p "${sroot}" ) || chk + ( cd "${ovly}" && find . | fakeroot cpio -p "${sroot}" ) || chk } do_packages() { -- 2.42.0