@@ -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