linux-qubasis
linux oasis port as a qubes template
git clone https://9o.is/git/linux-qubasis.git
commit 431590abfc50ca8cbbc2b81f27ca1bd211c346de parent 7e2e2814789acdf40e1f30a4648ef3cf4788b021 Author: Jul <jul@9o.is> Date: Sat, 22 Nov 2025 00:12:43 -0500 move files gen functions to root Diffstat:
| M | genfn.sh | | | 52 | +++++++++++++++++++++++++++++++++++++++++++++------- |
| M | pkg/genfn.sh | | | 38 | -------------------------------------- |
2 files changed, 45 insertions(+), 45 deletions(-)
diff --git a/genfn.sh b/genfn.sh @@ -7,17 +7,17 @@ main() { GEN_OUTS=$DIR/$NINJA_FILE set_target "$1" - init_file + init_ninja trap gen_done EXIT } -init_file() { +init_ninja() { if persist && [ -e $DIR/$NINJA_FILE.tmp ]; then rm -f $DIR/$NINJA_FILE.tmp fi } -fini_file() { +fini_ninja() { _f=$DIR/$NINJA_FILE if persist && [ -e $_f.tmp ]; then if cmp -s $_f.tmp $_f; then @@ -28,10 +28,35 @@ fini_file() { fi } +init_files() { + if persist && [ -e $DIR/files.tmp ]; then + rm -f $DIR/files.tmp + fi +} + +fini_files() { + _f=$DIR/files + if persist && [ -e $_f.tmp ]; then + if cmp -s $_f.tmp $_f; then + rm -f $_f.tmp + else + mv $_f.tmp $_f + fi + GEN_OUTS="$GEN_OUTS $DIR/files" + fi +} + +file() { + if persist; then + printf '%s\n' "$*" >> $DIR/files.tmp + fi +} + gen_done() { gen "$GEN_OUTS" '|' $GEN_FILES phony $dir/ninja $NINJA_FILES - fini_file + fini_files + fini_ninja wait } @@ -82,12 +107,12 @@ write() { sub() ( write "subninja $dir/$1.ninja" NINJA_FILE=$1.ninja - init_file + init_ninja [ "${2-}" ] && eval "$2 $1" $1 [ "${3-}" ] && eval "$3 $1" - fini_file + fini_ninja ) subgen() { @@ -102,7 +127,8 @@ subgen() { GEN_FILES="$GEN_FILES $DIR/gen.sh" GEN_OUTS=$DIR/$NINJA_FILE - init_file + init_ninja + init_files var dir $dir/$1 var outdir $outdir/$1 @@ -242,4 +268,16 @@ foreach() { GEN_FILES="$GEN_FILES $DIR/$1" } +sym() { + case ${1%%/*} in + bin) _prefix='$bindir';; + man) _prefix='$mandir';; + share) _prefix='$datadir';; + etc) _prefix='$sysconfdir';; + *) error sym cannot handles prefix $_prefix;; + esac + + file sym 0777 $_prefix/${1#*/} $2 +} + main "${1-}" diff --git a/pkg/genfn.sh b/pkg/genfn.sh @@ -16,7 +16,6 @@ init_pkg() { var datdir $outdir/share unset -f host - init_files } fini_pkg() { @@ -30,8 +29,6 @@ fini_pkg() { if [ "$SRCS" ]; then phony "$(printf '%s\n' $SRCS | sort | uniq | xargs)" $outdir/fetched "$PCHS" fi - - fini_files } pkgsub() { @@ -339,38 +336,3 @@ man() { gzip $_out.gz $_src file reg 0644 '$mandir'/man$_sec/$_out.gz $OUTDIR/$_out.gz } - -sym() { - case ${1%%/*} in - bin) _prefix='$bindir';; - man) _prefix='$mandir';; - share) _prefix='$datadir';; - *) error sym cannot handles prefix $_prefix;; - esac - - file sym 0777 $_prefix/${1#*/} $2 -} - -file() { - if persist; then - printf '%s\n' "$*" >> $DIR/files.tmp - fi -} - -init_files() { - if persist && [ -e $DIR/files.tmp ]; then - rm -f $DIR/files.tmp - fi -} - -fini_files() { - _f=$DIR/files - if persist && [ -e $_f.tmp ]; then - if cmp -s $_f.tmp $_f; then - rm -f $_f.tmp - else - mv $_f.tmp $_f - fi - GEN_OUTS="$GEN_OUTS $DIR/files" - fi -}