summaryrefslogtreecommitdiff
path: root/debian/sanitize-gdb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'debian/sanitize-gdb.sh')
-rw-r--r--debian/sanitize-gdb.sh84
1 files changed, 84 insertions, 0 deletions
diff --git a/debian/sanitize-gdb.sh b/debian/sanitize-gdb.sh
new file mode 100644
index 0000000..9526678
--- /dev/null
+++ b/debian/sanitize-gdb.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+
+set -e
+
+tarball=$1
+if ! test -f "$tarball"; then
+ echo "Could not open $tarball"
+ exit 1
+fi
+
+tardir=$(dirname "$tarball")
+tardir=$(cd "$tardir" && pwd)
+version=$(basename "$tarball" | sed "s/^gdb-//; s/\.tar\.\(gz\|xz\|bz2\)\$//")
+debversion=${version}
+tarball="$tardir"/$(basename "$tarball")
+dfsg="$tardir/gdb_$debversion.orig.tar.xz"
+doc="$tardir/gdb-doc_$version.orig.tar.xz"
+
+dir=`cd $(dirname "$0") && pwd`
+
+temp=$(mktemp -d)
+olddir=`pwd`
+
+cd "$temp"
+mkdir src
+cd src
+tar -xf "$tarball"
+cd ..
+
+src=src/gdb-$version
+dest=gdb-$debversion
+destdoc=gdb-doc-$debversion
+
+if ! test -d "$src"; then
+ echo "Could not find source directory $src"
+ exit 1
+fi
+
+if test -z "$dest" || test -e "$dest"; then
+ echo "Could not create dest directory $dest"
+ exit 1
+fi
+
+src=`cd "$src" && pwd`
+
+cp -a "$src" "$dest"
+cp -a "$src" "$destdoc"
+
+pushd "$dest" > /dev/null
+
+# All of the gdb manpages are GFDL'd now
+rm -f $(find gdb \( -name '*.[1-9]' \))
+
+# Almost all of the texinfo documentation is GFDL. PSIM's is not, but
+# we don't need that manual especially anyway. Special care must be taken
+# with observer.texi, which is necessary for the build process. Remove
+# all pregenerated info files, then replace all texinfo files with dummy
+# versions.
+
+rm -f $(find . \( -name \*.info -o -name \*.info-\* \))
+rm -f $(find . \( -name \*.chm \))
+
+for f in $(find . \( -name \*.texinfo -o -name \*.texi \)); do
+ if test $(basename $f) = observer.texi; then
+ sed -ne '/@c This/,/@c any later/p; /@deftype/p' "$src/$f" > $f
+ continue
+ fi
+
+ echo > "$f"
+done
+
+popd > /dev/null
+
+tar --auto-compress -cf "$dfsg" gdb-$debversion
+
+pushd "$destdoc" > /dev/null
+rm -f $(find . \( -name \*.chm \))
+popd > /dev/null
+
+tar --auto-compress -cf "$doc" gdb-doc-$debversion
+
+# XXX maybe we should install this as an exit handler?
+cd "$olddir"
+rm -rf $temp