From 7c352dad2a02e3b7379d4a99551d443ce02c34fc Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Sat, 13 Feb 2010 06:54:13 -0600 Subject: [PATCH] script/gentree: add overlay support --- script/gentree | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/script/gentree b/script/gentree index d05a81f..4b4986e 100755 --- a/script/gentree +++ b/script/gentree @@ -7,19 +7,20 @@ _root="$(dirname "${0}")" # Load needed modules want root ansi log ask -targets="prepwork admin packages patch prepboot preptmp prepetc prepvar imgboot imgconf imgetc imgvar custom" +targets="prepwork admin packages patch overlay prepboot preptmp prepetc prepvar imgboot imgconf imgetc imgvar custom" pebkac() { [ "${*}" ] && printf "${*}\n\n" echo "Usage: $(basename "${0}") <-b basedir> <-t stagedir> <-i pkgsdir> <-p patchdir>" echo " <-r rootdir> <-l logfile> [-h] " - echo ' -b basedir Basedir for automagic defaults' - echo ' -t stagedir Staging directory name (Default: ${base}/stage)' - echo ' -i pkgsdir Directory holding packages to install (Default: ${base}/pkg)' - echo ' -p patchdir Directory holding patches to apply (Default: ${base}/patch)' - echo ' -r rootdir Directory holding the virgin source tree (Default: ${root})' - echo ' -l logfile File to hold stderr spam (Default: ${stage}/gentree.log' - echo ' -h Hello! >^-^<' + echo ' -b basedir Basedir for automagic defaults' + echo ' -t stagedir Staging directory name (Default: ${base}/stage)' + echo ' -i pkgsdir Directory holding packages to install (Default: ${base}/pkg)' + echo ' -p patchdir Directory holding patches to apply (Default: ${base}/patch)' + echo ' -o overlaydir Directory holding an overlay tree (Default: ${base}/overlay)' + echo ' -r rootdir Directory holding the virgin source tree (Default: ${root})' + echo ' -l logfile File to hold stderr spam (Default: ${stage}/gentree.log' + echo ' -h Hello! >^-^<' echo '' echo 'Available targets:' for target in ${targets} @@ -29,13 +30,14 @@ pebkac() { exit 1 } -while getopts "b:t:i:p:r:l:h" opt +while getopts "b:t:i:p:o:r:l:h" opt do case "${opt}" in b) base="${OPTARG}" ;; t) stage="${OPTARG}" ;; i) pkgs="${OPTARG}" ;; p) patch="${OPTARG}" ;; + o) overlay="${OPTARG}" ;; r) root="${OPTARG}" ;; l) logfile="${OPTARG}" ;; h) pebkac ;; @@ -50,6 +52,7 @@ base="${base:-/usr/home/cyberleo/world}" stage="${stage:-${base}/tree}" pkgs="${pkgs:-${base}/pkg}" patch="${patch:-${base}/patch}" +overlay="${overlay:-${base}/overlay}" root="${root:-${root}}" logfile="${logfile:-${stage}/gentree.log}" @@ -121,6 +124,12 @@ do_patch() { done } +do_overlay() { + log Apply overlay from "${overlay}" + [ -d "${overlay}" ] || return + ( cd "${overlay}" && find . | cpio -p "${sroot}" ) || chk +} + do_prepboot() { log Prepare /boot chk mv "${sroot}/boot/boot" "${sroot}/boot/boot.blk" -- 2.42.0