summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/dependencies/arch2
-rw-r--r--config/dependencies/debian2
-rwxr-xr-xconfig/dependencies/fedora382
-rwxr-xr-xconfig/dependencies/fedora402
-rwxr-xr-xconfig/dependencies/fedora412
-rw-r--r--config/dependencies/fedora422
-rwxr-xr-xconfig/dependencies/ubuntu24042
-rw-r--r--config/dependencies/void2
-rw-r--r--include/get.sh8
-rw-r--r--include/init.sh6
-rw-r--r--include/lib.sh26
-rw-r--r--include/mrc.sh2
-rw-r--r--include/release.sh2
-rw-r--r--include/rom.sh6
-rw-r--r--include/tree.sh6
-rw-r--r--include/vendor.sh2
16 files changed, 45 insertions, 29 deletions
diff --git a/config/dependencies/arch b/config/dependencies/arch
index 727659c5..79819bda 100644
--- a/config/dependencies/arch
+++ b/config/dependencies/arch
@@ -8,7 +8,7 @@ dtc e2fsprogs flex freetype2 fuse2 gawk gcc-ada gdb gettext git \
help2man innoextract libftdi libgpiod libjaylink libpciaccess libusb nasm \
ncurses openssl p7zip ccache less libx86 \
pandoc parted pciutils perl perl-libwww python python-setuptools rsync \
-sharutils subversion swig texinfo ttf-dejavu unzip wget xz zlib mtools \
+sharutils subversion swig texinfo ttf-dejavu unarchiver unzip wget xz zlib mtools \
"
aur_notice="bdf-unifont pcf-unifont psf-unifont mipsel-linux-gnu-binutils mipsel-linux-gnu-gcc"
diff --git a/config/dependencies/debian b/config/dependencies/debian
index d426300d..c7de8be0 100644
--- a/config/dependencies/debian
+++ b/config/dependencies/debian
@@ -12,7 +12,7 @@ libncurses-dev libnewlib-arm-none-eabi libopts25 libopts25-dev libpci-dev libpyt
libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0-0 libusb-1.0-0-dev \
libusb-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted pciutils \
perl pkg-config python3 python3-distutils-extra python3-pkg-resources python3-pycryptodome \
-python3-pyelftools python3-setuptools python-is-python3 sharutils swig \
+python3-pyelftools python3-setuptools python-is-python3 sharutils swig unar \
unifont unifont-bin unzip uuid-dev wget xfonts-unifont zlib1g-dev ccache \
g++-mipsel-linux-gnu make genisoimage mtools libx86-1 libx86-dev libstdc++-arm-none-eabi-newlib \
"
diff --git a/config/dependencies/fedora38 b/config/dependencies/fedora38
index 3892edc5..a34bbbf0 100755
--- a/config/dependencies/fedora38
+++ b/config/dependencies/fedora38
@@ -9,6 +9,6 @@ gawk gcc gcc-gnat gdb gettext gettext-devel git gprbuild help2man \
innoextract intltool libftdi-devel libselinux-devel libusb1 libusb1-devel \
nasm ncurses-devel openssl-devel p7zip p7zip-plugins pandoc parted \
pciutils-devel perl perl-libwww-perl python-unversioned-command python3 \
-python3-setuptools rsync sharutils subversion texinfo unifont \
+python3-setuptools rsync sharutils subversion texinfo unar unifont \
unifont-fonts unifont-ttf-fonts unzip wget xz zlib-devel ccache swig \
"
diff --git a/config/dependencies/fedora40 b/config/dependencies/fedora40
index b9bc5198..3ca84aa0 100755
--- a/config/dependencies/fedora40
+++ b/config/dependencies/fedora40
@@ -10,6 +10,6 @@ innoextract intltool libftdi-devel libgpiod-devel libjaylink-devel \
libselinux-devel libusb1 libusb1-devel nasm ncurses-devel openssl-devel \
p7zip p7zip-plugins pandoc parted pciutils-devel perl perl-libwww-perl \
python-unversioned-command python3 python3-setuptools rsync sharutils \
-subversion systemd-devel texinfo unifont unifont-fonts \
+subversion systemd-devel texinfo unar unifont unifont-fonts \
unifont-ttf-fonts unzip wget xz zlib-devel ccache swig python3-devel \
"
diff --git a/config/dependencies/fedora41 b/config/dependencies/fedora41
index 73585aab..e49a50b2 100755
--- a/config/dependencies/fedora41
+++ b/config/dependencies/fedora41
@@ -10,7 +10,7 @@ innoextract intltool libftdi-devel libgpiod-devel libjaylink-devel \
libselinux-devel libusb1 libusb1-devel nasm ncurses-devel openssl-devel openssl-devel-engine \
p7zip p7zip-plugins pandoc parted pciutils-devel perl perl-libwww-perl \
python-unversioned-command python3 python3-setuptools rsync sharutils \
-subversion systemd-devel texinfo unifont unifont-fonts uuid-devel \
+subversion systemd-devel texinfo unar unifont unifont-fonts uuid-devel \
unifont-ttf-fonts unzip wget xz zlib-devel ccache swig python3-devel \
libuuid-devel gnutls-devel \
"
diff --git a/config/dependencies/fedora42 b/config/dependencies/fedora42
index 426bf739..c7e34aad 100644
--- a/config/dependencies/fedora42
+++ b/config/dependencies/fedora42
@@ -12,5 +12,5 @@ p7zip p7zip-plugins pandoc parted pciutils-devel perl perl-libwww-perl \
python-unversioned-command python3 python3-setuptools rsync sharutils \
subversion systemd-devel texinfo unifont unifont-fonts uuid-devel \
unifont-ttf-fonts unzip wget xz zlib-devel ccache swig python3-devel \
-libuuid-devel gnutls-devel tar \
+libuuid-devel gnutls-devel tar unar \
"
diff --git a/config/dependencies/ubuntu2404 b/config/dependencies/ubuntu2404
index 59695c03..a54a3177 100755
--- a/config/dependencies/ubuntu2404
+++ b/config/dependencies/ubuntu2404
@@ -12,6 +12,6 @@ libpython3-dev libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0-0 \
libusb-1.0-0-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted \
pciutils perl pkg-config python3 python3-pkg-resources python3-pycryptodome \
python3-pyelftools python3-setuptools python-is-python3 sharutils swig \
-fonts-unifont unifont unzip uuid-dev wget zlib1g-dev ccache \
+fonts-unifont unar unifont unzip uuid-dev wget zlib1g-dev ccache \
g++-mipsel-linux-gnu make genisoimage mtools \
"
diff --git a/config/dependencies/void b/config/dependencies/void
index c7656b32..a02d706e 100644
--- a/config/dependencies/void
+++ b/config/dependencies/void
@@ -10,5 +10,5 @@ freetype freetype-devel fuse gawk gcc-ada gdb gettext gettext-devel git \
help2man innoextract libftdi1 libpciaccess libusb nasm ncurses \
ncurses-devel openssl openssl-devel p7zip parted pciutils perl perl-LWP \
python python3 python3-setuptools rsync sharutils subversion texinfo \
-unzip wget xz zlib ccache \
+unar unzip wget xz zlib ccache \
"
diff --git a/include/get.sh b/include/get.sh
index 3c30b6d3..0d430abe 100644
--- a/include/get.sh
+++ b/include/get.sh
@@ -81,7 +81,7 @@ git_prep()
fi
if [ "$_loc" != "${_loc%/*}" ]; then
- x_ mkdir -p "${_loc%/*}"
+ x_ xbmkdir "${_loc%/*}"
fi
x_ mv "$tmpgit" "$_loc"
}
@@ -198,7 +198,7 @@ try_fetch_git()
cached="${cached%.git}"
cached="$XBMK_CACHE/$cached"
- x_ mkdir -p "${5%/*}" "${cached%/*}"
+ x_ xbmkdir "${5%/*}" "${cached%/*}"
if ! try_$2 "$cached" "$@"; then
return 1
@@ -221,7 +221,7 @@ try_fetch_file()
cached="file/$6"
cached="$XBMK_CACHE/$cached"
- x_ mkdir -p "${5%/*}" "${cached%/*}"
+ x_ xbmkdir "${5%/*}" "${cached%/*}"
if bad_checksum "$6" "$cached" 2>/dev/null; then
x_ rm -f "$cached"
@@ -284,7 +284,7 @@ try_git()
if [ ! -d "$gitdest" ]; then
( x_ git clone "$2" "$tmpgitcache" ) || return 1
- x_ mkdir -p "${gitdest%/*}"
+ x_ xbmkdir "${gitdest%/*}"
x_ mv "$tmpgitcache" "$gitdest"
fi
diff --git a/include/init.sh b/include/init.sh
index 72af26c3..96247908 100644
--- a/include/init.sh
+++ b/include/init.sh
@@ -58,7 +58,11 @@ xbmk_init()
fi
export PWD="$xbmkpwd"
- x_ mkdir -p "$basetmp"
+ x_ xbmkdir "$basetmp"
+
+ if [ ! -e "cache" ]; then
+ x_ xbmkdir "cache"
+ fi
for init_cmd in get_version set_env set_threads git_init child_exec; do
if ! xbmk_$init_cmd "$@"; then
diff --git a/include/lib.sh b/include/lib.sh
index 3d205fa9..feb411e0 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -8,12 +8,6 @@
cbfstool="elf/coreboot/default/cbfstool"
rmodtool="elf/coreboot/default/rmodtool"
-remkdir()
-{
- x_ rm -Rf "$@"
- x_ mkdir -p "$@"
-}
-
mkrom_tarball()
{
update_xbmkver "$1"
@@ -58,7 +52,7 @@ mktarball()
printf "Creating tar archive '%s' from directory '%s'\n" "$2" "$1"
if [ "${2%/*}" != "$2" ]; then
- x_ mkdir -p "${2%/*}"
+ x_ xbmkdir "${2%/*}"
fi
x_ tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || \
@@ -169,6 +163,24 @@ build_sbase()
fi
}
+remkdir()
+{
+ x_ rm -Rf "$@"
+ x_ xbmkdir "$@"
+}
+
+xbmkdir()
+{
+ while [ $# -gt 0 ]
+ do
+ if [ ! -d "$1" ]; then
+ x_ mkdir -p "$1"
+ fi
+
+ shift 1
+ done
+}
+
fx_()
{
xchk fx_ "$@"
diff --git a/include/mrc.sh b/include/mrc.sh
index 92241b22..9d4566be 100644
--- a/include/mrc.sh
+++ b/include/mrc.sh
@@ -22,7 +22,7 @@ extract_refcode()
err "cbfstoolref not set" "extract_refcode" "$@"
fi
- x_ mkdir -p "${_pre_dest%/*}"
+ x_ xbmkdir "${_pre_dest%/*}"
x_ "$cbfstoolref" "$appdir/bios.bin" extract \
-m x86 -n fallback/refcode -f "$appdir/ref" -r RO_SECTION
diff --git a/include/release.sh b/include/release.sh
index 35a9c711..339ab3f5 100644
--- a/include/release.sh
+++ b/include/release.sh
@@ -52,7 +52,7 @@ release()
fi
x_ rm -Rf "$rsrc"
- x_ mkdir -p "$reldir"
+ x_ xbmkdir "$reldir"
x_ mv "$vdir" "$reldir"
x_ rm -Rf "${vdir%"/$version"}"
diff --git a/include/rom.sh b/include/rom.sh
index 4de49eee..2efe4919 100644
--- a/include/rom.sh
+++ b/include/rom.sh
@@ -19,7 +19,7 @@ buildser()
x_ make -C "$sersrc" BOARD=$2
fi
- x_ mkdir -p "bin/serprog_$1"
+ x_ xbmkdir "bin/serprog_$1"
x_ mv "$serx" "bin/serprog_$1/serprog_$2.${serx##*.}"
}
@@ -119,7 +119,7 @@ check_coreboot_util()
return 0
fi
- x_ mkdir -p "$utilelfdir"
+ x_ xbmkdir "$utilelfdir"
x_ cp "$utilsrcdir/$1" "$utilelfdir"
if [ "$1" = "cbfstool" ]; then
@@ -453,7 +453,7 @@ cprom()
printf "Creating new %s image: '%s'\n" "$projectname" "$newrom"
- x_ mkdir -p "bin/$target"
+ x_ xbmkdir "bin/$target"
x_ $cpcmd "$irom" "$newrom"
}
diff --git a/include/tree.sh b/include/tree.sh
index 254f738d..19060110 100644
--- a/include/tree.sh
+++ b/include/tree.sh
@@ -432,7 +432,7 @@ project_up_to_date()
shift 3
- x_ mkdir -p "$XBMK_CACHE/$hashdir"
+ x_ xbmkdir "$XBMK_CACHE/$hashdir"
if [ -f "$XBMK_CACHE/$hashdir/$project$hashname" ]; then
read -r old_hash < "$XBMK_CACHE/$hashdir/$project$hashname" \
@@ -485,7 +485,7 @@ check_cross_compiler()
xgccargs="crossgcc-$xfix UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
x_ ./mk -f coreboot "${cbdir#src/coreboot/}"
- x_ mkdir -p "elf/coreboot/$tree" # TODO: is this needed?
+ x_ xbmkdir "elf/coreboot/$tree" # TODO: is this needed?
export PATH="$xbmkpwd/$cbdir/util/crossgcc/xgcc/bin:$PATH"
export CROSS_COMPILE="${xarch% *}-"
@@ -748,7 +748,7 @@ check_makefile()
copy_elf()
{
if [ -f "$listfile" ]; then
- x_ mkdir -p "$dest_dir"
+ x_ xbmkdir "$dest_dir"
fi
if [ -f "$listfile" ]; then
diff --git a/include/vendor.sh b/include/vendor.sh
index a6b9fd27..7fb4d9ea 100644
--- a/include/vendor.sh
+++ b/include/vendor.sh
@@ -217,7 +217,7 @@ fetch()
return 0
fi
- x_ mkdir -p "${_dest%/*}"
+ x_ xbmkdir "${_dest%/*}"
if [ "$dl_type" != "fsp" ]; then
extract_archive "$_dl" "$appdir" || \