Add folder mode, changeable lookback

This commit is contained in:
Phantop 2021-12-31 14:24:04 -05:00
parent 913ad4ccee
commit 9a41bff158
2 changed files with 39 additions and 9 deletions

View File

@ -1,6 +1,7 @@
#!/bin/bash
set -eo pipefail
IFS=$'\n\t'
VER=2
HERE=$(dirname $(readlink -f "${0}"))
source $HERE/headers
@ -12,7 +13,7 @@ usage(){
}
dwarf() {
mkdwarfs -i "$1" -o "$(basename "$1").sh" -B5 "${@:2}" --header $HEAD
mkdwarfs -i "$1" -o "$(basename "$1").sh" -B$back "${@:2}" --header $HEAD
chmod +x "$(basename "$1").sh"
}
@ -31,7 +32,12 @@ appimage() {
fi
}
################################################################
header
back=5
while true
do
case "$1" in
@ -39,14 +45,24 @@ do
usage
exit 0
;;
--version)
echo "$version"
--version | -v)
tput setaf 2
echo appdwarf v"$VER"
echo Maintained by phantop.
exit 0
;;
--appimage | -a)
appimage "${@:2}"
exit 0
;;
--folder | -f)
header_folder $2
shift 2
;;
--lookback | -b)
back=$2
shift 2
;;
--separate | -s)
header_separate
shift

26
headers
View File

@ -17,19 +17,33 @@ EOF
header() {
cat > $HEAD << 'EOF'
#!/bin/sh
DIR="/tmp/dwarf_$(echo "$0" | md5sum | head -c5)$(basename "$0")"
DIR="/tmp/dwarf_$(basename "$0")$(echo "$0" | md5sum | head -c5)"
export APPDWARF_CMD=$(basename "$0")
if [[ -d $DIR ]]; then
"$DIR/AppRun" "$@"
else
if [[ ! -d $DIR ]]; then
mkdir "$DIR"
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
dwarfs $ARG "$0" "$DIR" 2>/dev/null
"$DIR/AppRun" "$@"
fi
"$DIR/AppRun" "$@"
fusermount -qu "$DIR"
rmdir "$DIR"
rmdir "$DIR" 2> /dev/null
exit
EOF
}
header_folder() {
echo '#!/bin/sh' > $HEAD
echo DIR=\"$1\" >> $HEAD
cat >> $HEAD << 'EOF'
if [ ! -d "$DIR" ]; then
mkdir "$DIR"
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
dwarfs $ARG "$0" "$DIR" 2>/dev/null
else
fusermount -u "$DIR"
rmdir "$DIR"
fi
exit
EOF
}