[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lbwww-build][PATCH v2 3/4] build.sh: Add --with-lbwww-path to use a loc
|
From: |
Adrien Bourmault |
|
Subject: |
[lbwww-build][PATCH v2 3/4] build.sh: Add --with-lbwww-path to use a local lbwww git repository |
|
Date: |
Wed, 29 Mar 2023 15:40:20 +0200 |
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
The ideal situation would be to move integrate all the files of this
repository inside lbwww to be able to easily test local changes.
However that doesn't work as untitled expect lbwww to be in
untitled/www/lbwww and there is no way to configure that.
Using symlinks doesn't work either as untitled doesn't trust symlinks
as there are TOCTU attacks with it if the distribution doesn't
fs.protected_hardlinks and fs.protected_symlinks in sysctl.
Patching untitled is also not the best option here as it could
potentially add extra maintenance in the long run.
So we add the configuration inside lbwww-build instead.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
---
build.sh | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/build.sh b/build.sh
index 8b5fbb4..0c34029 100755
--- a/build.sh
+++ b/build.sh
@@ -17,6 +17,9 @@
# For compatibility with sysexits.h (see man 3 sysexits.h for more details)
EX_USAGE=64
+lbwww_uri="https://git.sr.ht/~libreboot/lbwww"
+lbwww_path=""
+
help()
{
echo "Usage: $0 [options]"
@@ -24,11 +27,17 @@ help()
echo "Available options:"
echo -e "\t-h, --help"
echo -e "\t\tDisplay this help and exit."
+ echo -e "\t--with-lbwww-path PATH"
+ echo -e "\t\tUse a local lbwww directory from PATH\n" \
+ "\t\tinstead of downloading the latest version from\n" \
+ "\t\t${lbwww_uri}"
}
if [ $# -eq 1 ] && [ "$1" = "-h" -o "$1" == "--help" ] ; then
help
exit 0
+elif [ $# -eq 2 ] && [ "$1" = "--with-lbwww-path" ] ; then
+ lbwww_path="$(realpath $2)"
elif [ $# -ne 0 ] ; then
help
exit ${EX_USAGE}
@@ -45,11 +54,17 @@ fi
cd untitled && mkdir -p www && cd www
-if [ ! -d lbwww ] ; then
- git clone https://git.sr.ht/~libreboot/lbwww
-else
+if [ -z "${lbwww_path}" ] && [ ! -d lbwww ] ; then
+ git clone "${lbwww_uri}"
+elif [ ! -d lbwww ] ; then
+ cp -a "${lbwww_path}" lbwww
+elif [ -z "${lbwww_path}" ] ; then
+ git -C lbwww remote set-url origin "${lbwww_uri}"
git -C lbwww clean -dfx
git -C lbwww pull --rebase
+else
+ rm -rf lbwww
+ cp -a "${lbwww_path}" lbwww
fi
if [ ! -d lbwww-img ] ; then
--
2.39.2