Skip to content
This repository was archived by the owner on Jan 9, 2026. It is now read-only.

Commit 733237a

Browse files
committed
fix dwarfs
1 parent e5e24b1 commit 733237a

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

scripts/runner/functions.sh

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,16 @@ if [[ "${CONTINUE_SBUILD}" == "YES" ]]; then
409409
unset DWARFS_PKGS ; DWARFS_PKGS=()
410410
mapfile -t "DWARFS_PKGS" < <(find "${SBUILD_OUTDIR}" -maxdepth 1 -type f -exec bash -c 'dwarfsck --input "$1" --quiet 2>/dev/null && realpath "$1"' _ "{}" \;)
411411
if [[ ${#DWARFS_PKGS[@]} -ne 0 ]]; then
412+
echo -e "\n[+] Extracting Media from ${SBUILD_PKG} (Dwarfs)"
413+
if [[ -s "${SBUILD_OUTDIR}/.DirIcon" ]]; then
414+
rsync -achL "${SBUILD_OUTDIR}/.DirIcon" "${SBUILD_TMPDIR}/.DirIcon.bak"
415+
fi
416+
if [[ -s "${SBUILD_OUTDIR}/${PKG}.png" ]]; then
417+
rsync -achL "${SBUILD_OUTDIR}/${PKG}.png" "${SBUILD_TMPDIR}/${PKG}.png.bak"
418+
fi
419+
if [[ -s "${SBUILD_OUTDIR}/${PKG}.svg" ]]; then
420+
rsync -achL "${SBUILD_OUTDIR}/${PKG}.svg" "${SBUILD_TMPDIR}/${PKG}.svg.bak"
421+
fi
412422
pushd "${SBUILD_TMPDIR}" &>/dev/null &&\
413423
for D_PKG in "${DWARFS_PKGS[@]}"; do
414424
dwarfsextract -i "${D_PKG}" --format="ustar" | tar -x \
@@ -420,20 +430,13 @@ if [[ "${CONTINUE_SBUILD}" == "YES" ]]; then
420430
'*.DirIcon' '*.png' '*.svg'
421431
done
422432
pushd "${SBUILD_OUTDIR}" &>/dev/null
423-
if [[ -s "${SBUILD_OUTDIR}/.DirIcon" ]]; then
424-
rsync -achL "${SBUILD_OUTDIR}/.DirIcon" "${SBUILD_TMPDIR}/.DirIcon.bak"
425-
fi
426-
if [[ -s "${SBUILD_OUTDIR}/${PKG}.png" ]]; then
427-
rsync -achL "${SBUILD_OUTDIR}/${PKG}.png" "${SBUILD_TMPDIR}/${PKG}.png.bak"
428-
fi
429-
if [[ -s "${SBUILD_OUTDIR}/${PKG}.svg" ]]; then
430-
rsync -achL "${SBUILD_OUTDIR}/${PKG}.svg" "${SBUILD_TMPDIR}/${PKG}.svg.bak"
431-
fi
432433
find -L "${SBUILD_TMPDIR}" -type f,l -regex '.*\.\(DirIcon\|png\)' \
433434
-not -regex '.*\(favicon\|/\(16x16\|22x22\|24x24\|32x32\|36x36\|48x48\|64x64\|72x72\|96x96\)/\).*' \
434435
| awk '{print length, $0}' | sort -n | awk 'NR==1 {print $2}' | xargs -I "{}" rsync -achLv "{}" "${SBUILD_TMPDIR}/${PKG}.png"
435436
if [[ ! -f "${SBUILD_TMPDIR}/${PKG}.png" || $(stat -c%s "${SBUILD_TMPDIR}/${PKG}.png") -le 3 ]]; then
436-
find -L "${SBUILD_TMPDIR}" -regex ".*\(128x128/apps\|256x256\)/.*${PKG}.*\.\(png\)" -printf "%s %p\n" -quit | sort -n | awk 'NR==1 {print $2}' | xargs -I "{}" rsync -achLv "{}" "${SBUILD_OUTDIR}/${PKG}.png"
437+
find -L "${SBUILD_TMPDIR}" -regex ".*\(128x128/apps\|256x256\)/.*${PKG}.*\.\(png\)" -printf "%s %p\n" -quit | sort -n | awk 'NR==1 {print $2}' | xargs -I "{}" rsync -achLv "{}" "${SBUILD_OUTDIR}/${PKG}.png"
438+
elif [[ -s "${SBUILD_TMPDIR}/${PKG}.png" ]]; then
439+
cp -fv "${SBUILD_TMPDIR}/${PKG}.png" "${SBUILD_OUTDIR}/${PKG}.png"
437440
fi
438441
if [[ ! -s "${SBUILD_OUTDIR}/${PKG}.png" || $(stat -c%s "${SBUILD_TMPDIR}/${PKG}.png") -le 3 ]]; then
439442
if [[ -s "${SBUILD_TMPDIR}/.DirIcon.bak" ]]; then
@@ -447,14 +450,20 @@ if [[ "${CONTINUE_SBUILD}" == "YES" ]]; then
447450
-not -regex '.*\(favicon\|/\(16x16\|22x22\|24x24\|32x32\|36x36\|48x48\|64x64\|72x72\|96x96\)/\).*' \
448451
| awk '{print length, $0}' | sort -n | awk 'NR==1 {print $2}' | xargs -I "{}" rsync -achLv "{}" "${SBUILD_TMPDIR}/${PKG}.svg"
449452
if [[ ! -f "${SBUILD_TMPDIR}/${PKG}.svg" || $(stat -c%s "${SBUILD_TMPDIR}/${PKG}.svg") -le 3 ]]; then
450-
find -L "${SBUILD_TMPDIR}" -regex ".*\(128x128/apps\|256x256\)/.*${PKG}.*\.\(svg\)" -printf "%s %p\n" -quit | sort -n | awk 'NR==1 {print $2}' | xargs -I "{}" rsync -achLv "{}" "${SBUILD_OUTDIR}/${PKG}.svg"
453+
find -L "${SBUILD_TMPDIR}" -regex ".*\(128x128/apps\|256x256\)/.*${PKG}.*\.\(svg\)" -printf "%s %p\n" -quit | sort -n | awk 'NR==1 {print $2}' | xargs -I "{}" rsync -achLv "{}" "${SBUILD_OUTDIR}/${PKG}.svg"
454+
elif [[ -s "${SBUILD_TMPDIR}/${PKG}.svg" ]]; then
455+
cp -fv "${SBUILD_TMPDIR}/${PKG}.svg" "${SBUILD_OUTDIR}/${PKG}.svg"
451456
fi
452457
if [[ ! -s "${SBUILD_OUTDIR}/${PKG}.png" || $(stat -c%s "${SBUILD_TMPDIR}/${PKG}.png") -le 3 ]]; then
453458
if [[ -s "${SBUILD_TMPDIR}/${PKG}.svg.bak" ]]; then
454459
cp -fv "${SBUILD_TMPDIR}/${PKG}.svg.bak" "${SBUILD_OUTDIR}/${PKG}.svg"
455460
fi
456461
fi
457462
fi
463+
#Icons [Display using Chafa]
464+
if command -v chafa &>/dev/null; then
465+
timeout -k 10s 60s find -L "${SBUILD_OUTDIR}" -maxdepth 1 -type f,l -regex '.*\.\(DirIcon\|png\|svg\)' -exec bash -c 'basename "{}" && chafa "{}"' \;
466+
fi
458467
#License
459468
if jq --exit-status . "${TMPJSON}" >/dev/null 2>&1; then
460469
if [[ ! -s "${SBUILD_OUTDIR}/LICENSE" || $(stat -c%s "${SBUILD_OUTDIR}/LICENSE") -le 10 ]]; then

0 commit comments

Comments
 (0)