From d3a732a64db0f40a90648106436097373225d00a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 30 Dec 2024 21:53:55 +0000 Subject: [PATCH] lib.sh dependencies: support --reinstall argument ./mk dependencies debian --reinstall Add --reinstall and it'll do: apt-get install --reinstall This can be useful when updating from a stable release to a testing release. The variable, "reinstall" can be configured for other distros, but it's currently only configured for Debian-based distros. Also, it can be anything. For example, you could add -y; however, a 4th argument will not be accepted. For example, you cannot do: ./mk dependencies debian --reinstall -y If you do this, it'll only see --reinstall; similarly, if you did this command: ./mk dependencies debian -y --reinstall then -y would be passed, but not --reinstall. This is an intentional design decision, in case you accidentally pasted or subshelled something that outputted something undesirable, to prevent possible abuse. Signed-off-by: Leah Rowe --- config/dependencies/debian | 2 +- config/dependencies/trisquel | 2 +- config/dependencies/ubuntu2004 | 2 +- config/dependencies/ubuntu2404 | 2 +- include/lib.sh | 4 +++- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/config/dependencies/debian b/config/dependencies/debian index 94ff104c..48dab1c9 100755 --- a/config/dependencies/debian +++ b/config/dependencies/debian @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later -pkg_add="apt-get install" +pkg_add="apt-get install $reinstall" pkglist=" \ acpica-tools autoconf autogen automake autopoint autotools-dev bc \ binutils-arm-none-eabi bison build-essential cmake curl device-tree-compiler \ diff --git a/config/dependencies/trisquel b/config/dependencies/trisquel index e8110260..5575cd38 100755 --- a/config/dependencies/trisquel +++ b/config/dependencies/trisquel @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later -pkg_add="apt-get install" +pkg_add="apt-get install $reinstall" pkglist=" \ autoconf autogen automake autopoint autotools-dev bc binutils-arm-none-eabi \ bison build-essential cmake curl device-tree-compiler doxygen e2fsprogs efitools \ diff --git a/config/dependencies/ubuntu2004 b/config/dependencies/ubuntu2004 index d22cafdd..de4e3449 100755 --- a/config/dependencies/ubuntu2004 +++ b/config/dependencies/ubuntu2004 @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later -pkg_add="apt-get install" +pkg_add="apt-get install $reinstall" pkglist=" \ autoconf autogen automake autopoint autotools-dev bc binutils-arm-none-eabi \ bison build-essential cmake curl device-tree-compiler doxygen e2fsprogs efitools \ diff --git a/config/dependencies/ubuntu2404 b/config/dependencies/ubuntu2404 index cb44fbf5..4d9add19 100755 --- a/config/dependencies/ubuntu2404 +++ b/config/dependencies/ubuntu2404 @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later -pkg_add="apt-get install" +pkg_add="apt-get install $reinstall" pkglist=" \ autoconf autogen automake autopoint autotools-dev bc binutils-arm-none-eabi \ bison build-essential cmake curl device-tree-compiler doxygen e2fsprogs efitools \ diff --git a/include/lib.sh b/include/lib.sh index 2c86e37d..4911c34f 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -45,7 +45,7 @@ chkvars() } eval `setvars "" _nogit board xbmk_parent versiondate projectsite projectname \ - aur_notice configdir datadir version relname` + aur_notice configdir datadir version relname reinstall` for fv in projectname projectsite version versiondate; do eval "[ ! -f "$fv" ] || read -r $fv < \"$fv\" || :" @@ -72,6 +72,8 @@ e() install_packages() { [ $# -lt 2 ] && $err "fewer than two arguments" + [ $# -gt 2 ] && reinstall="$3" + eval `setcfg "config/dependencies/$2"` $pkg_add $pkglist || $err "Cannot install packages"