diff options
author | Leah Rowe <leah@libreboot.org> | 2025-05-17 15:20:02 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2025-05-17 15:20:02 +0100 |
commit | 05c07f7401bf79e6eeb34e12a19ce6d2cabab2ab (patch) | |
tree | 1f3e580e5432fc06c54f1b3adebf1483d786a049 /include/release.sh | |
parent | 587d245cafa630ff252a45297760371ef07a7f15 (diff) |
get.sh: move nuke() to release.sh
we really only need it there, because the context is
for release archives. normal use of the git repository
doesn't matter in the context of deletions, because that
will not be distributed. only the result of ./mk release
will be distributed.
the builds produced will not change as a result of this,
for people using the normal git repository, because the
files in question are never used anyway, in our configs.
this is being done to make working on local repos easier.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'include/release.sh')
-rw-r--r-- | include/release.sh | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/include/release.sh b/include/release.sh index 618ad633..1eec8fa9 100644 --- a/include/release.sh +++ b/include/release.sh @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # Copyright (c) 2023-2025 Leah Rowe <leah@libreboot.org> -eval "`setvars "" reldir reldest vdir relsrcdir relmode`" +eval "`setvars "" reldir reldest vdir relsrc relmode`" release() { @@ -23,15 +23,15 @@ release() err "already exists: \"$reldest\"" vdir="$XBMK_CACHE/relpwd/${xbmktmp##*/}/$version" - relsrcdir="$vdir/${relname}_src" + relsrc="$vdir/${relname}_src" remkdir "$vdir" - x_ git clone . "$relsrcdir" + x_ git clone . "$relsrc" prep_release src prep_release tarball [ "$relmode" = "src" ] || prep_release bin - x_ rm -Rf "$relsrcdir" + x_ rm -Rf "$relsrc" x_ mkdir -p "$reldir" x_ mv "$vdir" "$reldir" @@ -42,9 +42,9 @@ release() prep_release() { - x_ touch "$relsrcdir/lock" + x_ touch "$relsrc/lock" ( - [ "$1" = "tarball" ] || x_ cd "$relsrcdir" + [ "$1" = "tarball" ] || x_ cd "$relsrc" prep_release_$1 ) || err "can't prep release $1" } @@ -54,17 +54,24 @@ prep_release_src() x_ ./mk -f fx_ "x_ rm -Rf" x_ find . -name ".git" fx_ "x_ rm -Rf" x_ find . -name ".gitmodules" + ( fx_ nuke find config -type f -name "nuke.list" ) || err; : +} + +nuke() +{ + r="${1#config/}" && r="$relsrc/src/${r%/*}" && [ -d "$r" ] && x_ cd \ + "$r" && dx_ "eval [ -L \"\$fx\" ] || x_ rm -Rf" "$relsrc/$1"; : } prep_release_tarball() { git log --graph --pretty=format:'%Cred%h%Creset %s %Creset' \ - --abbrev-commit > "$relsrcdir/CHANGELOG" || err "!log $relsrcdir" - x_ rm -f "$relsrcdir/lock" - x_ rm -Rf "$relsrcdir/cache" "$relsrcdir/tmp" + --abbrev-commit > "$relsrc/CHANGELOG" || err "!log $relsrc" + x_ rm -f "$relsrc/lock" + x_ rm -Rf "$relsrc/cache" "$relsrc/tmp" ( - x_ cd "${relsrcdir%/*}" - x_ mktarball "${relsrcdir##*/}" "${relsrcdir##*/}.tar.xz" + x_ cd "${relsrc%/*}" + x_ mktarball "${relsrc##*/}" "${relsrc##*/}.tar.xz" ) || err "can't create src tarball"; : } |