47 lines
794 B
Bash
47 lines
794 B
Bash
#!/bin/bash
|
|
|
|
REMOVE_DIRS=(
|
|
admin
|
|
appl
|
|
etc
|
|
kadmin
|
|
kcm
|
|
kpasswd
|
|
kuser
|
|
packages
|
|
po
|
|
tests
|
|
tools
|
|
windows
|
|
)
|
|
|
|
set -o errexit
|
|
|
|
CMDNAME=${0##*/}
|
|
SOURCEDIR=${0%$CMDNAME}
|
|
|
|
BASENAME=${1%.tar.gz}
|
|
|
|
trap "rm -rf \"$BASENAME-patched.tar\" \"$BASENAME-patched.tar.bz2\"" ERR
|
|
|
|
for (( N=0; N<${#REMOVE_DIRS[@]}; N++ )) ; do
|
|
REMOVE_DIRS[N]="*/${REMOVE_DIRS[N]}"
|
|
done
|
|
|
|
cd "$SOURCEDIR" > /dev/null
|
|
|
|
if [ ! -f "$BASENAME.tar.gz" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
if [ -f "$BASENAME-patched.tar.bz2" ] && [ "$BASENAME.tar.gz" -ot "$BASENAME-patched.tar.bz2" ]; then
|
|
if [ $CMDNAME -ot "$BASENAME-patched.tar.bz2" ]; then
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
gzip -d "$BASENAME.tar.gz"
|
|
mv -f "$BASENAME.tar" "$BASENAME-patched.tar"
|
|
tar --wildcards --delete -f "$BASENAME-patched.tar" "${REMOVE_DIRS[@]}"
|
|
bzip2 "$BASENAME-patched.tar"
|