libreboot-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lbwww-build][ v1 3/4] build.sh: Add --with-lbwww-path to use a local lb


From: Denis 'GNUtoo' Carikli
Subject: [lbwww-build][ v1 3/4] build.sh: Add --with-lbwww-path to use a local lbwww git repository
Date: Wed, 22 Mar 2023 13:09:07 +0100

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>
---
 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.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]