mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-09-19 21:20:31 +02:00
Compare commits
7 Commits
2d1d7624e9
...
ff83f69154
| Author | SHA1 | Date | |
|---|---|---|---|
| ff83f69154 | |||
| 0363bcaa0f | |||
| 1a9b211368 | |||
| e9e33d4b4d | |||
| 3b37a0b17d | |||
| 77b0b448e2 | |||
| c7fb6a2bc8 |
+7
-14
@@ -71,7 +71,7 @@ git_prep()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
[ "$_loc" != "${_loc%/*}" ] && \
|
[ "$_loc" != "${_loc%/*}" ] && \
|
||||||
x_ xbmkdir "${_loc%/*}"
|
x_ mkdir -p "${_loc%/*}"
|
||||||
|
|
||||||
x_ mv "$tmpgit" "$_loc"
|
x_ mv "$tmpgit" "$_loc"
|
||||||
}
|
}
|
||||||
@@ -138,7 +138,7 @@ try_fetch_git()
|
|||||||
cached="$cached/${1#*://}"
|
cached="$cached/${1#*://}"
|
||||||
cached="$XBMK_CACHE/$cached"
|
cached="$XBMK_CACHE/$cached"
|
||||||
|
|
||||||
x_ xbmkdir "${5%/*}" "${cached%/*}"
|
x_ mkdir -p "${5%/*}" "${cached%/*}"
|
||||||
|
|
||||||
try_$2 "$cached" "$@" || \
|
try_$2 "$cached" "$@" || \
|
||||||
return 1
|
return 1
|
||||||
@@ -164,7 +164,7 @@ try_fetch_curl()
|
|||||||
cached="file/$6"
|
cached="file/$6"
|
||||||
cached="$XBMK_CACHE/$cached"
|
cached="$XBMK_CACHE/$cached"
|
||||||
|
|
||||||
x_ xbmkdir "${5%/*}" "${cached%/*}"
|
x_ mkdir -p "${5%/*}" "${cached%/*}"
|
||||||
|
|
||||||
if bad_checksum "$6" "$cached" 2>/dev/null; then
|
if bad_checksum "$6" "$cached" 2>/dev/null; then
|
||||||
x_ rm -f "$cached"
|
x_ rm -f "$cached"
|
||||||
@@ -199,17 +199,10 @@ try_fetch_curl()
|
|||||||
|
|
||||||
try_curl()
|
try_curl()
|
||||||
{
|
{
|
||||||
_ua=""
|
ua="Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0"
|
||||||
|
|
||||||
case "$2" in
|
( x_ curl --location --retry 3 -A "$ua" "$2" -o "$1" ) \
|
||||||
https://www.supermicro.com/*)
|
|| ( x_ wget --tries 3 -U "$ua" "$2" -O "$1" ) \
|
||||||
_ua="curl/8.6.0";;
|
|
||||||
*)
|
|
||||||
_ua="Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
( x_ curl --location --retry 3 -A "$_ua" "$2" -o "$1" ) \
|
|
||||||
|| ( x_ wget --tries 3 -U "$_ua" "$2" -O "$1" ) \
|
|
||||||
|| return 1; :
|
|| return 1; :
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +226,7 @@ try_git()
|
|||||||
( x_ git clone "$2" "$tmpgitcache" ) || return 1
|
( x_ git clone "$2" "$tmpgitcache" ) || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
x_ xbmkdir "${gitdest%/*}"
|
x_ mkdir -p "${gitdest%/*}"
|
||||||
x_ mv "$tmpgitcache" "$gitdest"
|
x_ mv "$tmpgitcache" "$gitdest"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
+4
-18
@@ -33,10 +33,7 @@ xbmk_init()
|
|||||||
err "this command as root is not permitted" "xbmk_init" "$@"
|
err "this command as root is not permitted" "xbmk_init" "$@"
|
||||||
|
|
||||||
export PWD="$xbmkpwd"
|
export PWD="$xbmkpwd"
|
||||||
x_ xbmkdir "$basetmp"
|
x_ mkdir -p "$basetmp" "cache"
|
||||||
|
|
||||||
[ ! -e "cache" ] && \
|
|
||||||
x_ xbmkdir "cache"
|
|
||||||
|
|
||||||
for init_cmd in get_version set_env set_threads git_init child_exec; do
|
for init_cmd in get_version set_env set_threads git_init child_exec; do
|
||||||
xbmk_$init_cmd "$@" || \
|
xbmk_$init_cmd "$@" || \
|
||||||
@@ -67,8 +64,7 @@ xbmkpkg()
|
|||||||
printf "Updating package use...\n"
|
printf "Updating package use...\n"
|
||||||
printf "Writing into %s" "$pkg_use_file..."
|
printf "Writing into %s" "$pkg_use_file..."
|
||||||
|
|
||||||
[ ! -d "`dirname $pkg_use_file`" ] && \
|
x_ mkdir -p "`dirname $pkg_use_file`"
|
||||||
x_ mkdir -p "`dirname $pkg_use_file`"
|
|
||||||
|
|
||||||
printf "%s\n" "$pkg_use" >> "$pkg_use_file"
|
printf "%s\n" "$pkg_use" >> "$pkg_use_file"
|
||||||
fi
|
fi
|
||||||
@@ -110,7 +106,6 @@ xbmk_get_version()
|
|||||||
xbmk_set_env()
|
xbmk_set_env()
|
||||||
{
|
{
|
||||||
is_child="n"
|
is_child="n"
|
||||||
|
|
||||||
xbmkpath="$PATH"
|
xbmkpath="$PATH"
|
||||||
|
|
||||||
# unify all temporary files/directories in a single TMPDIR
|
# unify all temporary files/directories in a single TMPDIR
|
||||||
@@ -126,10 +121,8 @@ xbmk_set_env()
|
|||||||
if [ "$is_child" = "y" ]; then
|
if [ "$is_child" = "y" ]; then
|
||||||
xbmk_child_set_env
|
xbmk_child_set_env
|
||||||
return 1 # child instance. discontinue initialisation.
|
return 1 # child instance. discontinue initialisation.
|
||||||
else
|
|
||||||
xbmk_parent_set_env
|
|
||||||
return 0 # parent instance. continue initialisation.
|
|
||||||
fi
|
fi
|
||||||
|
xbmk_parent_set_env
|
||||||
}
|
}
|
||||||
|
|
||||||
xbmk_child_set_env()
|
xbmk_child_set_env()
|
||||||
@@ -262,10 +255,6 @@ xbmk_set_version()
|
|||||||
versiondate="$(git show --no-patch --no-notes \
|
versiondate="$(git show --no-patch --no-notes \
|
||||||
--pretty='%ct' HEAD)" || versiondate="$versiondate_"
|
--pretty='%ct' HEAD)" || versiondate="$versiondate_"
|
||||||
|
|
||||||
if [ -z "$version" ] || [ -z "$versiondate" ]; then
|
|
||||||
err "version and/or versiondate unset" "xbmk_set_version" "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
update_xbmkver "."
|
update_xbmkver "."
|
||||||
|
|
||||||
relname="$projectname-$version"
|
relname="$projectname-$version"
|
||||||
@@ -298,15 +287,12 @@ xbmk_set_pyver()
|
|||||||
err "Bad python version (must by 3.x)" "xbmk_set_pyver" "$@"
|
err "Bad python version (must by 3.x)" "xbmk_set_pyver" "$@"
|
||||||
|
|
||||||
# set up python in PATH (environmental variable):
|
# set up python in PATH (environmental variable):
|
||||||
|
|
||||||
(
|
(
|
||||||
x_ cd "$xbtmp/xbmkpath"
|
x_ cd "$xbtmp/xbmkpath"
|
||||||
|
|
||||||
x_ ln -s "`x_ pybin "$python"`" python || \
|
x_ ln -s "`x_ pybin "$python"`" python || \
|
||||||
err "can't make symlink" "xbmk_set_pyver" "$@"
|
err "can't make symlink" "xbmk_set_pyver" "$@"
|
||||||
|
|
||||||
) || \
|
) || err "Can't link Python in $xbtmp/xbmkpath" xbmk_set_pyver "$@"; :
|
||||||
err "Can't link Python in $xbtmp/xbmkpath" "xbmk_set_pyver" "$@"; :
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Use direct path, to prevent a hang if Python is using a virtual environment,
|
# Use direct path, to prevent a hang if Python is using a virtual environment,
|
||||||
|
|||||||
+8
-21
@@ -26,6 +26,10 @@ update_xbmkver()
|
|||||||
{
|
{
|
||||||
xbmk_sanitize_version
|
xbmk_sanitize_version
|
||||||
|
|
||||||
|
if [ -z "${version-}" ] || [ -z "${versiondate-}" ]; then
|
||||||
|
err "version and/or versiondate unset" "update_xbmkver" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
printf "%s\n" "$version" > "$1/.version" || \
|
printf "%s\n" "$version" > "$1/.version" || \
|
||||||
err "can't write '$1'" "update_xbmkver" "$@"; :
|
err "can't write '$1'" "update_xbmkver" "$@"; :
|
||||||
|
|
||||||
@@ -43,13 +47,8 @@ xbmk_sanitize_version()
|
|||||||
[ -z "$version" ] && \
|
[ -z "$version" ] && \
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
version="`printf "%s\n" "$version" | sed -e 's/\t//g'`"
|
version="`printf '%s\n' "$version" | sed \
|
||||||
version="`printf "%s\n" "$version" | sed -e 's/\ //g'`"
|
's/[[:space:]]//g; s/\.\.//g; s/\.\///g; s/\//-/g; s/^-//'`"
|
||||||
version="`printf "%s\n" "$version" | sed -e 's/\.\.//g'`"
|
|
||||||
version="`printf "%s\n" "$version" | sed -e 's/\.\///g'`"
|
|
||||||
version="`printf "%s\n" "$version" | sed -e 's/\//-/g'`"
|
|
||||||
|
|
||||||
version="${version#-}"
|
|
||||||
|
|
||||||
[ -z "$version" ] && \
|
[ -z "$version" ] && \
|
||||||
err "'version' empty after sanitization" \
|
err "'version' empty after sanitization" \
|
||||||
@@ -61,7 +60,7 @@ mktarball()
|
|||||||
printf "Creating tar archive '%s' from directory '%s'\n" "$2" "$1"
|
printf "Creating tar archive '%s' from directory '%s'\n" "$2" "$1"
|
||||||
|
|
||||||
[ "${2%/*}" != "$2" ] && \
|
[ "${2%/*}" != "$2" ] && \
|
||||||
x_ xbmkdir "${2%/*}"
|
x_ mkdir -p "${2%/*}"
|
||||||
|
|
||||||
x_ tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || \
|
x_ tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || \
|
||||||
err "can't make tarball '$1'" "mktarball" "$@"
|
err "can't make tarball '$1'" "mktarball" "$@"
|
||||||
@@ -82,7 +81,6 @@ e()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
eval "$estr"
|
eval "$estr"
|
||||||
|
|
||||||
printf "%s %s\n" "$1" "$es2" 1>&2
|
printf "%s %s\n" "$1" "$es2" 1>&2
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +107,6 @@ findpath()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
printf "%s\n" "$found"
|
printf "%s\n" "$found"
|
||||||
|
|
||||||
shift 1
|
shift 1
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -149,17 +146,7 @@ build_sbase()
|
|||||||
remkdir()
|
remkdir()
|
||||||
{
|
{
|
||||||
x_ rm -Rf "$@"
|
x_ rm -Rf "$@"
|
||||||
x_ xbmkdir "$@"
|
x_ mkdir -p "$@"
|
||||||
}
|
|
||||||
|
|
||||||
xbmkdir()
|
|
||||||
{
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
[ ! -d "$1" ] && \
|
|
||||||
x_ mkdir -p "$1"
|
|
||||||
|
|
||||||
shift 1
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fx_()
|
fx_()
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@ extract_refcode()
|
|||||||
[ -z "$cbfstoolref" ] && \
|
[ -z "$cbfstoolref" ] && \
|
||||||
err "cbfstoolref not set" "extract_refcode" "$@"
|
err "cbfstoolref not set" "extract_refcode" "$@"
|
||||||
|
|
||||||
x_ xbmkdir "${_pre_dest%/*}"
|
x_ mkdir -p "${_pre_dest%/*}"
|
||||||
|
|
||||||
x_ "$cbfstoolref" "$appdir/bios.bin" extract \
|
x_ "$cbfstoolref" "$appdir/bios.bin" extract \
|
||||||
-m x86 -n fallback/refcode -f "$appdir/ref" -r RO_SECTION
|
-m x86 -n fallback/refcode -f "$appdir/ref" -r RO_SECTION
|
||||||
|
|||||||
+6
-17
@@ -1,32 +1,22 @@
|
|||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
# Copyright (c) 2023-2025 Leah Rowe <leah@libreboot.org>
|
# Copyright (c) 2023-2026 Leah Rowe <leah@libreboot.org>
|
||||||
|
|
||||||
reldest=""
|
eval "`newvar reldest reldir relmode rsrc vdir`"
|
||||||
reldir=""
|
|
||||||
relmode=""
|
|
||||||
rsrc=""
|
|
||||||
vdir=""
|
|
||||||
|
|
||||||
release()
|
release()
|
||||||
{
|
{
|
||||||
export XBMK_RELEASE="y"
|
export XBMK_RELEASE="y"
|
||||||
|
|
||||||
reldir="release"
|
reldir="release"
|
||||||
|
|
||||||
while getopts m: option
|
while getopts m: option
|
||||||
do
|
do
|
||||||
[ -z "$OPTARG" ] && \
|
[ -z "$OPTARG" ] && \
|
||||||
err "empty argument not allowed" "release" "$@"
|
err "empty argument not allowed" "release" "$@"
|
||||||
|
[ "$option" != "m" ] && \
|
||||||
case "$option" in
|
|
||||||
m)
|
|
||||||
relmode="$OPTARG"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
err "invalid option '-$option'" "release" "$@"
|
err "invalid option '-$option'" "release" "$@"
|
||||||
;;
|
|
||||||
esac
|
relmode="$OPTARG"
|
||||||
done
|
done
|
||||||
|
|
||||||
reldest="$reldir/$version"
|
reldest="$reldir/$version"
|
||||||
@@ -36,7 +26,6 @@ release()
|
|||||||
vdir="`mktemp -d || err "can't make vdir"`" || \
|
vdir="`mktemp -d || err "can't make vdir"`" || \
|
||||||
err "can't make tmp vdir" "release" "$@"
|
err "can't make tmp vdir" "release" "$@"
|
||||||
vdir="$vdir/$version"
|
vdir="$vdir/$version"
|
||||||
|
|
||||||
rsrc="$vdir/${relname}_src"
|
rsrc="$vdir/${relname}_src"
|
||||||
|
|
||||||
remkdir "$vdir"
|
remkdir "$vdir"
|
||||||
@@ -50,7 +39,7 @@ release()
|
|||||||
|
|
||||||
x_ rm -Rf "$rsrc"
|
x_ rm -Rf "$rsrc"
|
||||||
|
|
||||||
x_ xbmkdir "$reldir"
|
x_ mkdir -p "$reldir"
|
||||||
x_ mv "$vdir" "$reldir"
|
x_ mv "$vdir" "$reldir"
|
||||||
x_ rm -Rf "${vdir%"/$version"}"
|
x_ rm -Rf "${vdir%"/$version"}"
|
||||||
|
|
||||||
|
|||||||
+4
-5
@@ -19,7 +19,7 @@ buildser()
|
|||||||
x_ make -C "$sersrc" BOARD=$2
|
x_ make -C "$sersrc" BOARD=$2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
x_ xbmkdir "bin/serprog_$1"
|
x_ mkdir -p "bin/serprog_$1"
|
||||||
x_ mv "$serx" "bin/serprog_$1/serprog_$2.${serx##*.}"
|
x_ mv "$serx" "bin/serprog_$1/serprog_$2.${serx##*.}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,8 +41,7 @@ copyps1bios()
|
|||||||
|
|
||||||
mkpayload_grub()
|
mkpayload_grub()
|
||||||
{
|
{
|
||||||
grub_modules=""
|
eval "`newvar grub_modules grub_install_modules`"
|
||||||
grub_install_modules=""
|
|
||||||
|
|
||||||
$if_dry_build \
|
$if_dry_build \
|
||||||
return 0
|
return 0
|
||||||
@@ -110,7 +109,7 @@ check_coreboot_util()
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
x_ xbmkdir "$utilelfdir"
|
x_ mkdir -p "$utilelfdir"
|
||||||
x_ cp "$utilsrcdir/$1" "$utilelfdir"
|
x_ cp "$utilsrcdir/$1" "$utilelfdir"
|
||||||
|
|
||||||
[ "$1" = "cbfstool" ] && \
|
[ "$1" = "cbfstool" ] && \
|
||||||
@@ -423,7 +422,7 @@ cprom()
|
|||||||
|
|
||||||
printf "Creating new %s image: '%s'\n" "$projectname" "$newrom"
|
printf "Creating new %s image: '%s'\n" "$projectname" "$newrom"
|
||||||
|
|
||||||
x_ xbmkdir "bin/$target"
|
x_ mkdir -p "bin/$target"
|
||||||
x_ $cpcmd "$irom" "$newrom"
|
x_ $cpcmd "$irom" "$newrom"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -333,7 +333,7 @@ project_up_to_date()
|
|||||||
|
|
||||||
shift 3
|
shift 3
|
||||||
|
|
||||||
x_ xbmkdir "$XBMK_CACHE/$hashdir"
|
x_ mkdir -p "$XBMK_CACHE/$hashdir"
|
||||||
|
|
||||||
if [ -f "$XBMK_CACHE/$hashdir/$project$hashname" ]; then
|
if [ -f "$XBMK_CACHE/$hashdir/$project$hashname" ]; then
|
||||||
read -r old_hash < "$XBMK_CACHE/$hashdir/$project$hashname" \
|
read -r old_hash < "$XBMK_CACHE/$hashdir/$project$hashname" \
|
||||||
@@ -382,7 +382,7 @@ check_cross_compiler()
|
|||||||
xgccargs="crossgcc-$xfix UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
|
xgccargs="crossgcc-$xfix UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
|
||||||
|
|
||||||
x_ ./mk -f coreboot "${cbdir#src/coreboot/}"
|
x_ ./mk -f coreboot "${cbdir#src/coreboot/}"
|
||||||
x_ xbmkdir "elf/coreboot/$tree" # TODO: is this needed?
|
x_ mkdir -p "elf/coreboot/$tree" # TODO: is this needed?
|
||||||
|
|
||||||
# tell build systems what cross-compiler to use
|
# tell build systems what cross-compiler to use
|
||||||
export PATH="$xbmkpwd/$cbdir/util/crossgcc/xgcc/bin:$PATH"
|
export PATH="$xbmkpwd/$cbdir/util/crossgcc/xgcc/bin:$PATH"
|
||||||
@@ -612,7 +612,7 @@ check_makefile()
|
|||||||
copy_elf()
|
copy_elf()
|
||||||
{
|
{
|
||||||
[ -f "$listfile" ] && \
|
[ -f "$listfile" ] && \
|
||||||
x_ xbmkdir "$dest_dir"
|
x_ mkdir -p "$dest_dir"
|
||||||
|
|
||||||
if [ -f "$listfile" ]; then
|
if [ -f "$listfile" ]; then
|
||||||
while read -r f; do
|
while read -r f; do
|
||||||
|
|||||||
+1
-1
@@ -152,7 +152,7 @@ fetch()
|
|||||||
[ -f "$_dest" ] && \
|
[ -f "$_dest" ] && \
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
x_ xbmkdir "${_dest%/*}"
|
x_ mkdir -p "${_dest%/*}"
|
||||||
|
|
||||||
if [ "$dl_type" != "fsp" ]; then
|
if [ "$dl_type" != "fsp" ]; then
|
||||||
extract_archive "$_dl" "$appdir" || \
|
extract_archive "$_dl" "$appdir" || \
|
||||||
|
|||||||
Reference in New Issue
Block a user