mirror of https://github.com/Phantop/appdwarf.git
Mount all instances of an appdwarf to one folder
Old method still exists under the -s/--separate option Not sure if there's any reason to still use it; we'll see
This commit is contained in:
parent
2f810ade3e
commit
913ad4ccee
25
appdwarf
25
appdwarf
|
@ -1,7 +1,8 @@
|
|||
#!/bin/bash
|
||||
set -eo pipefail
|
||||
IFS=$'\n\t'
|
||||
version=1.2
|
||||
HERE=$(dirname $(readlink -f "${0}"))
|
||||
source $HERE/headers
|
||||
|
||||
usage(){
|
||||
echo "Usage: $(basename "$0") [option] [FILE/FOLDER/URL]"
|
||||
|
@ -11,20 +12,8 @@ usage(){
|
|||
}
|
||||
|
||||
dwarf() {
|
||||
mkdwarfs -i "$1" -o "$(basename "$1").sh" -B5 "${@:2}" --header <(cat << 'EOF'
|
||||
#!/bin/sh
|
||||
DIR="$(mktemp -td dwarf_$(basename "$0")XXXXX)"
|
||||
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
|
||||
dwarfs $ARG "$0" "$DIR" 2>/dev/null
|
||||
export APPDWARF_CMD=$(basename "$0")
|
||||
"$DIR/AppRun" "$@"
|
||||
fusermount -u "$DIR"
|
||||
rmdir "$DIR"
|
||||
exit
|
||||
EOF
|
||||
)
|
||||
|
||||
chmod +x "$(basename "$1").sh"
|
||||
mkdwarfs -i "$1" -o "$(basename "$1").sh" -B5 "${@:2}" --header $HEAD
|
||||
chmod +x "$(basename "$1").sh"
|
||||
}
|
||||
|
||||
appimage() {
|
||||
|
@ -42,7 +31,7 @@ appimage() {
|
|||
fi
|
||||
}
|
||||
|
||||
|
||||
header
|
||||
while true
|
||||
do
|
||||
case "$1" in
|
||||
|
@ -58,6 +47,10 @@ do
|
|||
appimage "${@:2}"
|
||||
exit 0
|
||||
;;
|
||||
--separate | -s)
|
||||
header_separate
|
||||
shift
|
||||
;;
|
||||
--url | -u)
|
||||
file=$(basename "$2")
|
||||
wget "$2" -O "$file" || exit 1
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
#!/bin/bash
|
||||
HEAD=/tmp/dwarfhead
|
||||
header_separate() {
|
||||
cat > $HEAD << 'EOF'
|
||||
#!/bin/sh
|
||||
DIR="$(mktemp -td dwarf_$(basename "$0")XXXXX)"
|
||||
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
|
||||
dwarfs $ARG "$0" "$DIR" 2>/dev/null
|
||||
export APPDWARF_CMD=$(basename "$0")
|
||||
"$DIR/AppRun" "$@"
|
||||
fusermount -u "$DIR"
|
||||
rmdir "$DIR"
|
||||
exit
|
||||
EOF
|
||||
}
|
||||
|
||||
header() {
|
||||
cat > $HEAD << 'EOF'
|
||||
#!/bin/sh
|
||||
DIR="/tmp/dwarf_$(echo "$0" | md5sum | head -c5)$(basename "$0")"
|
||||
export APPDWARF_CMD=$(basename "$0")
|
||||
|
||||
if [[ -d $DIR ]]; then
|
||||
"$DIR/AppRun" "$@"
|
||||
else
|
||||
mkdir "$DIR"
|
||||
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
|
||||
dwarfs $ARG "$0" "$DIR" 2>/dev/null
|
||||
"$DIR/AppRun" "$@"
|
||||
fi
|
||||
fusermount -qu "$DIR"
|
||||
rmdir "$DIR"
|
||||
exit
|
||||
EOF
|
||||
}
|
Loading…
Reference in New Issue