mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-03-25 13:29:03 +02:00
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>
This commit is contained in:
65
include/release.sh
Normal file
65
include/release.sh
Normal file
@@ -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"
|
||||
}
|
||||
64
mk
64
mk
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user