diff options
author | Leah Rowe <leah@libreboot.org> | 2025-05-08 23:28:06 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2025-05-08 23:28:49 +0100 |
commit | 50ce1ac9b225d717cc26727f4f2330795e84f05a (patch) | |
tree | f44e321e9be2358bd70002500cd1a7dcb652bf63 | |
parent | 1ce3e7a3d39cced1749b909fba9228b877c77339 (diff) |
mk: move release functions to idnclude/release.sh
The idea with mk is that it's meant to basically be a
stub for running everything else, while mainly having
the trees logic within it (what was once script/trees).
Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r-- | include/release.sh | 65 | ||||
-rwxr-xr-x | mk | 64 |
2 files changed, 66 insertions, 63 deletions
diff --git a/include/release.sh b/include/release.sh new file mode 100644 index 00000000..2f9f2b86 --- /dev/null +++ b/include/release.sh @@ -0,0 +1,65 @@ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright (c) 2023-2025 Leah Rowe <leah@libreboot.org> + +eval "`setvars "" vdir src_dirname relsrcdir relmode`" + +release() +{ + export XBMK_RELEASE="y" + + vdir="release" + while getopts d:m: option; do + [ -z "$OPTARG" ] && err "empty argument not allowed" + case "$option" in + d) vdir="$OPTARG" ;; + m) relmode="$OPTARG" ;; + *) err "invalid option '-$option'" ;; + esac + done + + vdir="$vdir/$version" + src_dirname="${relname}_src" + relsrcdir="$vdir/$src_dirname" + + [ -e "$vdir" ] && err "already exists: \"$vdir\"" + mkdir -p "$vdir" || err "mkvdir: !mkdir -p \"$vdir\"" + git clone . "$relsrcdir" || err "mkdir: !gitclone \"$relsrcdir\"" + touch "$relsrcdir/lock" || err "can't make lock file in $relsrcdir/" + + build_release + + printf "\n\nDONE! Check release files under %s\n" "$vdir" +} + +build_release() +{ + ( + cd "$relsrcdir" || err "$vdir: !cd \"$relsrcdir\"" + + x_ ./mk -f + rmgit . + x_ mv src/docs docs + ) || err "can't create release files" + + git log --graph --pretty=format:'%Cred%h%Creset %s %Creset' \ + --abbrev-commit > "$relsrcdir/CHANGELOG" || err "!log $relsrcdir" + rm -f "$relsrcdir/lock" || err "can't remove lock file in $relsrcdir" + + ( + cd "${relsrcdir%/*}" || err "$vdir: mktarball \"$relsrcdir\"" + x_ mktarball "${relsrcdir##*/}" "${relsrcdir##*/}.tar.xz" + ) || err "can't create src tarball" + [ "$relmode" = "src" ] && return 0 + + touch "$relsrcdir/lock" || err "can't make lock file in $relsrcdir/" + ( + cd "$relsrcdir" || err "$vdir: 2 !cd \"$relsrcdir\"" + x_ ./mk -d coreboot + mk -b coreboot pico-serprog stm32-vserprog pcsx-redux + + fx_ mkrom_tarball x_ find bin -maxdepth 1 -type d -name "serprog_*" + x_ mv bin ../roms + ) || err "can't build rom images" + + rm -Rf "$relsrcdir" || err "!rm -Rf $relsrcdir" +} @@ -18,8 +18,7 @@ fi . "include/inject.sh" . "include/mrc.sh" . "include/rom.sh" - -eval "`setvars "" vdir src_dirname srcdir mode`" +. "include/release.sh" main() { @@ -34,67 +33,6 @@ main() set -u -e # some commands disable them. turn them on! } -release() -{ - export XBMK_RELEASE="y" - - vdir="release" - while getopts d:m: option; do - [ -z "$OPTARG" ] && err "empty argument not allowed" - case "$option" in - d) vdir="$OPTARG" ;; - m) mode="$OPTARG" ;; - *) err "invalid option '-$option'" ;; - esac - done - - vdir="$vdir/$version" - src_dirname="${relname}_src" - srcdir="$vdir/$src_dirname" - - [ -e "$vdir" ] && err "already exists: \"$vdir\"" - mkdir -p "$vdir" || err "mkvdir: !mkdir -p \"$vdir\"" - git clone . "$srcdir" || err "mkdir: !gitclone \"$srcdir\"" - touch "$srcdir/lock" || err "can't make lock file in $srcdir/" - - build_release - - printf "\n\nDONE! Check release files under %s\n" "$vdir" -} - -build_release() -{ - ( - cd "$srcdir" || err "$vdir: !cd \"$srcdir\"" - - x_ ./mk -f - rmgit . - x_ mv src/docs docs - ) || err "can't create release files" - - git log --graph --pretty=format:'%Cred%h%Creset %s %Creset' \ - --abbrev-commit > "$srcdir/CHANGELOG" || err "!gitlog $srcdir" - rm -f "$srcdir/lock" || err "can't remove lock file in $srcdir" - - ( - cd "${srcdir%/*}" || err "$vdir: mktarball \"$srcdir\"" - mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || err "$vdir: mksrc" - ) || err "can't create src tarball" - [ "$mode" = "src" ] && return 0 - - touch "$srcdir/lock" || err "can't make lock file in $srcdir/" - ( - cd "$srcdir" || err "$vdir: 2 !cd \"$srcdir\"" - x_ ./mk -d coreboot - mk -b coreboot pico-serprog stm32-vserprog pcsx-redux - - fx_ mkrom_tarball x_ find bin -maxdepth 1 -type d -name "serprog_*" - x_ mv bin ../roms - ) || err "can't build rom images" - - rm -Rf "$srcdir" || err "!rm -Rf $srcdir" -} - main "$@" && exit 0 # what follows was formerly script/trees, whose main() is now trees() |