mirror of https://github.com/Phantop/appdwarf.git
Add folder mode, changeable lookback
This commit is contained in:
parent
913ad4ccee
commit
9a41bff158
22
appdwarf
22
appdwarf
|
@ -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
26
headers
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue