mirror of
https://github.com/Phantop/appdwarf.git
synced 2025-07-05 03:16:17 +00:00
Add folder mode, changeable lookback
This commit is contained in:
parent
913ad4ccee
commit
9a41bff158
22
appdwarf
22
appdwarf
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
|
VER=2
|
||||||
HERE=$(dirname $(readlink -f "${0}"))
|
HERE=$(dirname $(readlink -f "${0}"))
|
||||||
source $HERE/headers
|
source $HERE/headers
|
||||||
|
|
||||||
|
@ -12,7 +13,7 @@ usage(){
|
||||||
}
|
}
|
||||||
|
|
||||||
dwarf() {
|
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"
|
chmod +x "$(basename "$1").sh"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +32,12 @@ appimage() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
|
||||||
header
|
header
|
||||||
|
back=5
|
||||||
|
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -39,14 +45,24 @@ do
|
||||||
usage
|
usage
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
--version)
|
--version | -v)
|
||||||
echo "$version"
|
tput setaf 2
|
||||||
|
echo appdwarf v"$VER"
|
||||||
|
echo Maintained by phantop.
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
--appimage | -a)
|
--appimage | -a)
|
||||||
appimage "${@:2}"
|
appimage "${@:2}"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
--folder | -f)
|
||||||
|
header_folder $2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--lookback | -b)
|
||||||
|
back=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
--separate | -s)
|
--separate | -s)
|
||||||
header_separate
|
header_separate
|
||||||
shift
|
shift
|
||||||
|
|
26
headers
26
headers
|
@ -17,19 +17,33 @@ EOF
|
||||||
header() {
|
header() {
|
||||||
cat > $HEAD << 'EOF'
|
cat > $HEAD << 'EOF'
|
||||||
#!/bin/sh
|
#!/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")
|
export APPDWARF_CMD=$(basename "$0")
|
||||||
|
|
||||||
if [[ -d $DIR ]]; then
|
if [[ ! -d $DIR ]]; then
|
||||||
"$DIR/AppRun" "$@"
|
|
||||||
else
|
|
||||||
mkdir "$DIR"
|
mkdir "$DIR"
|
||||||
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
|
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
|
||||||
dwarfs $ARG "$0" "$DIR" 2>/dev/null
|
dwarfs $ARG "$0" "$DIR" 2>/dev/null
|
||||||
"$DIR/AppRun" "$@"
|
|
||||||
fi
|
fi
|
||||||
|
"$DIR/AppRun" "$@"
|
||||||
fusermount -qu "$DIR"
|
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
|
exit
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue