mirror of
https://github.com/Phantop/appdwarf.git
synced 2025-12-02 09:38:03 +00:00
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
|
#!/bin/bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
version=1.2
|
HERE=$(dirname $(readlink -f "${0}"))
|
||||||
|
source $HERE/headers
|
||||||
|
|
||||||
usage(){
|
usage(){
|
||||||
echo "Usage: $(basename "$0") [option] [FILE/FOLDER/URL]"
|
echo "Usage: $(basename "$0") [option] [FILE/FOLDER/URL]"
|
||||||
|
|
@ -11,20 +12,8 @@ usage(){
|
||||||
}
|
}
|
||||||
|
|
||||||
dwarf() {
|
dwarf() {
|
||||||
mkdwarfs -i "$1" -o "$(basename "$1").sh" -B5 "${@:2}" --header <(cat << 'EOF'
|
mkdwarfs -i "$1" -o "$(basename "$1").sh" -B5 "${@:2}" --header $HEAD
|
||||||
#!/bin/sh
|
chmod +x "$(basename "$1").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"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
appimage() {
|
appimage() {
|
||||||
|
|
@ -42,7 +31,7 @@ appimage() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
header
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
|
@ -58,6 +47,10 @@ do
|
||||||
appimage "${@:2}"
|
appimage "${@:2}"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
--separate | -s)
|
||||||
|
header_separate
|
||||||
|
shift
|
||||||
|
;;
|
||||||
--url | -u)
|
--url | -u)
|
||||||
file=$(basename "$2")
|
file=$(basename "$2")
|
||||||
wget "$2" -O "$file" || exit 1
|
wget "$2" -O "$file" || exit 1
|
||||||
|
|
|
||||||
35
headers
Normal file
35
headers
Normal file
|
|
@ -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 a new issue