appdwarf/headers

51 lines
1,016 B
Bash
Executable file

#!/bin/sh
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"
export APPDWARF_CMD="$(basename "$0")"
dwarfs $ARG "$0" "$DIR" 2>/dev/null
"$DIR/AppRun" "$@"
fusermount -uz "$DIR"
rmdir "$DIR"
exit
EOF
}
header() {
cat > $HEAD << 'EOF'
#!/bin/sh
DIR="/tmp/dwarf_$(basename "$0")$(echo "$0" | md5sum | head -c5)"
export APPDWARF_CMD="$(basename "$0")"
if [ ! -d "$DIR" ]; then
mkdir "$DIR"
ARG="-o offset=auto -o tidy_strategy=swap -o workers=4"
dwarfs $ARG "$0" "$DIR" 2>/dev/null
fi
"$DIR/AppRun" "$@"
fusermount -qu "$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
}