remove build symlink, rename lbmk to build
re-link update to build build/update are the only two build modes now i'm on a crusade to reduce the number of files and directories, and reduce the number of source lines, while not reducing functionality Signed-off-by: Leah Rowe <leah@libreboot.org>btrfsvols
parent
2d16e1ee47
commit
863081c369
|
@ -0,0 +1,123 @@
|
|||
#!/usr/bin/env sh
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-FileCopyrightText: 2015 Patrick "P. J." McDermott <pj@pehjota.net>
|
||||
# SPDX-FileCopyrightText: 2015, 2016 Klemens Nanni <contact@autoboot.org>
|
||||
# SPDX-FileCopyrightText: 2022, Caleb La Grange <thonkpeasant@protonmail.com>
|
||||
|
||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
. "include/err.sh"
|
||||
. "include/export.sh"
|
||||
. "include/option.sh"
|
||||
|
||||
linkpath="${0}"
|
||||
linkname="${linkpath##*/}"
|
||||
buildpath="./script/${linkname}"
|
||||
eval "$(setvars "" mode option project version versiondate)"
|
||||
|
||||
main()
|
||||
{
|
||||
xx_ id -u 1>/dev/null 2>/dev/null
|
||||
initialise_command $@
|
||||
shift 2
|
||||
|
||||
check_git
|
||||
check_project "fail"
|
||||
|
||||
execute_command $@
|
||||
lbmk_exit 0
|
||||
}
|
||||
|
||||
initialise_command()
|
||||
{
|
||||
[ $# -lt 1 ] && fail "Too few arguments. Try: ${0} help"
|
||||
|
||||
mode="${1}"
|
||||
[ "${mode}" != "dependencies" ] || xx_ install_packages $@
|
||||
[ "$(id -u)" != "0" ] || fail "this command as root is not permitted"
|
||||
|
||||
[ "${mode}" = "help" ] && usage ${0} && lbmk_exit 0
|
||||
if [ "${mode}" = "list" ]; then
|
||||
listitems "${buildpath}"
|
||||
lbmk_exit 0
|
||||
elif [ $# -lt 2 ]; then
|
||||
usage ${0}
|
||||
lbmk_exit 1
|
||||
fi
|
||||
|
||||
option="${2}"
|
||||
}
|
||||
|
||||
install_packages()
|
||||
{
|
||||
if [ $# -lt 2 ]; then
|
||||
printf "You must specify a distro, namely:\n" 1>&2
|
||||
printf "Look at files under config/dependencies/\n" 1>&2
|
||||
printf "Example: ./build dependencies debian\n" 1>&2
|
||||
fail "install_packages: target not specified"
|
||||
fi
|
||||
|
||||
[ -f "config/dependencies/${2}" ] || fail "Unsupported target"
|
||||
|
||||
aur_notice=""
|
||||
. "config/dependencies/${2}"
|
||||
|
||||
xx_ ${pkg_add} ${pkglist}
|
||||
[ "${aur_notice}" = "" ] || \
|
||||
printf "You must install AUR packages: %s\n" "${aur_notice}" 1>&2
|
||||
|
||||
lbmk_exit 0
|
||||
}
|
||||
|
||||
execute_command()
|
||||
{
|
||||
if [ "${option}" = "list" ]; then
|
||||
xx_ listitems "${buildpath}/${mode}"
|
||||
lbmk_exit 0
|
||||
fi
|
||||
[ -f "${buildpath}/${mode}/${option}" ] || \
|
||||
fail "Invalid command. Run: ${linkpath} help"
|
||||
"${buildpath}/${mode}/${option}" $@ || \
|
||||
fail "execute_command: ${buildpath}/${mode}/${option} ${@}"
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
progname=${0}
|
||||
cat <<- EOF
|
||||
USAGE: ${progname} <MODE> <OPTION>
|
||||
|
||||
possible values for 'mode':
|
||||
$(listitems "${buildpath}")
|
||||
|
||||
For each of the above modes, you may also do:
|
||||
${progname} <MODE> list
|
||||
|
||||
Example: ./build coreboot list, which would yield:
|
||||
$(./build coreboot list)
|
||||
|
||||
Refer to ${project} documentation for more info.
|
||||
EOF
|
||||
}
|
||||
|
||||
lbmk_exit()
|
||||
{
|
||||
tmp_cleanup || err "lbmk_exit: can't rm tmpdir upon exit $1: ${tmpdir}"
|
||||
exit $1
|
||||
}
|
||||
|
||||
fail()
|
||||
{
|
||||
tmp_cleanup || printf "WARNING: can't rm tmpdir: %s\n" "${tmpdir}" 1>&2
|
||||
err "${1}"
|
||||
}
|
||||
|
||||
tmp_cleanup()
|
||||
{
|
||||
[ "${tmpdir_was_set}" = "n" ] || return 0
|
||||
rm -Rf "${tmpdir}" || return 1
|
||||
}
|
||||
|
||||
main $@
|
124
lbmk
124
lbmk
|
@ -1,124 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe <leah@libreboot.org>
|
||||
# SPDX-FileCopyrightText: 2015 Patrick "P. J." McDermott <pj@pehjota.net>
|
||||
# SPDX-FileCopyrightText: 2015, 2016 Klemens Nanni <contact@autoboot.org>
|
||||
# SPDX-FileCopyrightText: 2022, Caleb La Grange <thonkpeasant@protonmail.com>
|
||||
|
||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
. "include/err.sh"
|
||||
. "include/export.sh"
|
||||
. "include/option.sh"
|
||||
|
||||
linkpath="${0}"
|
||||
linkname="${linkpath##*/}"
|
||||
buildpath="./script/${linkname}"
|
||||
eval "$(setvars "" mode option project version versiondate)"
|
||||
|
||||
main()
|
||||
{
|
||||
xx_ id -u 1>/dev/null 2>/dev/null
|
||||
initialise_command $@
|
||||
shift 2
|
||||
|
||||
check_git
|
||||
check_project "fail"
|
||||
|
||||
execute_command $@
|
||||
lbmk_exit 0
|
||||
}
|
||||
|
||||
initialise_command()
|
||||
{
|
||||
[ "${linkname}" = "lbmk" ] && fail "Don't run this script directly."
|
||||
[ $# -lt 1 ] && fail "Too few arguments. Try: ${0} help"
|
||||
|
||||
mode="${1}"
|
||||
[ "${mode}" != "dependencies" ] || xx_ install_packages $@
|
||||
[ "$(id -u)" != "0" ] || fail "this command as root is not permitted"
|
||||
|
||||
[ "${mode}" = "help" ] && usage ${0} && lbmk_exit 0
|
||||
if [ "${mode}" = "list" ]; then
|
||||
listitems "${buildpath}"
|
||||
lbmk_exit 0
|
||||
elif [ $# -lt 2 ]; then
|
||||
usage ${0}
|
||||
lbmk_exit 1
|
||||
fi
|
||||
|
||||
option="${2}"
|
||||
}
|
||||
|
||||
install_packages()
|
||||
{
|
||||
if [ $# -lt 2 ]; then
|
||||
printf "You must specify a distro, namely:\n" 1>&2
|
||||
printf "Look at files under config/dependencies/\n" 1>&2
|
||||
printf "Example: ./build dependencies debian\n" 1>&2
|
||||
fail "install_packages: target not specified"
|
||||
fi
|
||||
|
||||
[ -f "config/dependencies/${2}" ] || fail "Unsupported target"
|
||||
|
||||
aur_notice=""
|
||||
. "config/dependencies/${2}"
|
||||
|
||||
xx_ ${pkg_add} ${pkglist}
|
||||
[ "${aur_notice}" = "" ] || \
|
||||
printf "You must install AUR packages: %s\n" "${aur_notice}" 1>&2
|
||||
|
||||
lbmk_exit 0
|
||||
}
|
||||
|
||||
execute_command()
|
||||
{
|
||||
if [ "${option}" = "list" ]; then
|
||||
xx_ listitems "${buildpath}/${mode}"
|
||||
lbmk_exit 0
|
||||
fi
|
||||
[ -f "${buildpath}/${mode}/${option}" ] || \
|
||||
fail "Invalid command. Run: ${linkpath} help"
|
||||
"${buildpath}/${mode}/${option}" $@ || \
|
||||
fail "execute_command: ${buildpath}/${mode}/${option} ${@}"
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
progname=${0}
|
||||
cat <<- EOF
|
||||
USAGE: ${progname} <MODE> <OPTION>
|
||||
|
||||
possible values for 'mode':
|
||||
$(listitems "${buildpath}")
|
||||
|
||||
For each of the above modes, you may also do:
|
||||
${progname} <MODE> list
|
||||
|
||||
Example: ./build coreboot list, which would yield:
|
||||
$(./build coreboot list)
|
||||
|
||||
Refer to ${project} documentation for more info.
|
||||
EOF
|
||||
}
|
||||
|
||||
lbmk_exit()
|
||||
{
|
||||
tmp_cleanup || err "lbmk_exit: can't rm tmpdir upon exit $1: ${tmpdir}"
|
||||
exit $1
|
||||
}
|
||||
|
||||
fail()
|
||||
{
|
||||
tmp_cleanup || printf "WARNING: can't rm tmpdir: %s\n" "${tmpdir}" 1>&2
|
||||
err "${1}"
|
||||
}
|
||||
|
||||
tmp_cleanup()
|
||||
{
|
||||
[ "${tmpdir_was_set}" = "n" ] || return 0
|
||||
rm -Rf "${tmpdir}" || return 1
|
||||
}
|
||||
|
||||
main $@
|
Loading…
Reference in New Issue