diff options
author | B. Watson <yalhcru@gmail.com> | 2020-07-05 21:51:38 -0400 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2020-07-05 21:51:38 -0400 |
commit | e1011ac39bcda2ecf00173269d443037d5f74d93 (patch) | |
tree | 769712d59a157d0d3fb9d4d762b04ff153fd6a13 /deb2tarball | |
parent | f4bb1ffe4cb5b5cfacca4fddbc4929e6a11ef9f2 (diff) | |
download | misc-scripts-e1011ac39bcda2ecf00173269d443037d5f74d93.tar.gz |
Rename deb2tgz => deb2tarball
Diffstat (limited to 'deb2tarball')
-rwxr-xr-x | deb2tarball | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/deb2tarball b/deb2tarball new file mode 100755 index 0000000..145f58d --- /dev/null +++ b/deb2tarball @@ -0,0 +1,26 @@ +#!/bin/sh + +INPUT="$1" + +if [ -z "$INPUT" -o "$INPUT" = "--help" ]; then + echo "deb2tarball by B. Watson <yalhcru@gmail.com>, WTFPL" + echo "Usage: `basename $0` filename.deb" + exit 0 +fi + +# used to always be data.tar.gz, newer debs might have data.tar.xz, +# so we have to check. ar doesn't support wildcards like tar does, so +# we can't just say "data.tar.*". + +DATA="$( ar t "$INPUT" 2>/dev/null | grep '^data\.tar\.' )" + +if [ -z "$DATA" ]; then + echo "Can't find any data.tar.* file(s) in the archive, invalid deb?" 2>&1 + exit 1 +fi + +EXT="$( echo $DATA | cut -d. -f2- )" +OUTPUT="`basename $1 .deb`".$EXT + +echo "$OUTPUT" +ar p "$INPUT" "$DATA" > "$OUTPUT" |