mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-21 00:27:09 +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:
@@ -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/inject.sh"
|
||||||
. "include/mrc.sh"
|
. "include/mrc.sh"
|
||||||
. "include/rom.sh"
|
. "include/rom.sh"
|
||||||
|
. "include/release.sh"
|
||||||
eval "`setvars "" vdir src_dirname srcdir mode`"
|
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
@@ -34,67 +33,6 @@ main()
|
|||||||
set -u -e # some commands disable them. turn them on!
|
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
|
main "$@" && exit 0
|
||||||
|
|
||||||
# what follows was formerly script/trees, whose main() is now trees()
|
# what follows was formerly script/trees, whose main() is now trees()
|
||||||
|
|||||||
Reference in New Issue
Block a user