[Reproducible-commits] [misc] 01/01: diffp: also support data.tar.bz2 and data.tar.gz
Jérémy Bobbio
lunar at moszumanska.debian.org
Fri Sep 19 21:44:51 UTC 2014
This is an automated email from the git hooks/post-receive script.
lunar pushed a commit to branch master
in repository misc.
commit fc6723db908bb43fd68ff81a3d0c727d45dc3893
Author: Jérémy Bobbio <lunar at debian.org>
Date: Fri Sep 19 23:42:24 2014 +0200
diffp: also support data.tar.bz2 and data.tar.gz
---
diffp | 31 +++++++++++++++++++++++--------
1 file changed, 23 insertions(+), 8 deletions(-)
diff --git a/diffp b/diffp
index 6903888..1b38dbc 100755
--- a/diffp
+++ b/diffp
@@ -17,7 +17,7 @@ get_ops() {
case "$file" in
*/bin/*|*/sbin/*)
- case "$(ar p $PACKAGE_A data.tar.xz | tar -JxOf - $file | file -)" in
+ case "$(ar p $PACKAGE_A $DATA_TAR | $DATA_COMPR | tar -xOf - $file | file -)" in
*ELF*)
echo "readelf -a FILE"
echo "readelf -w FILE"
@@ -66,8 +66,23 @@ paste <(dcmd "$CHANGES_A" | sort | grep '\.deb$') <(dcmd "$CHANGES_B" | sort | g
diffc "sha1sum < PACKAGE | sed -e 's,-$,$PACKAGE,'" && continue
+ DATA_TAR=
+ for file in data.tar.gz data.tar.bz2 data.tar.xz; do
+ if [ "$file" = "$(ar t "$PACKAGE_A" "$file" 2>/dev/null)" ]; then
+ DATA_TAR="$file"
+ case "$file" in *.gz) DATA_COMPR="zcat" ;;
+ *.bz2) DATA_COMPR="bzcat" ;;
+ *.xz) DATA_COMPR="xzcat" ;;
+ esac
+ fi
+ done
+ if [ -z "$DATA_TAR" ]; then
+ echo "Unable to find data.tar in $PACKAGE"
+ continue
+ fi
+
MISMATCH=
- for file in debian-binary control.tar.gz data.tar.xz; do
+ for file in debian-binary control.tar.gz "$DATA_TAR"; do
if diffc "ar p PACKAGE $file | sha1sum | sed -e s/-$/$file/"; then
MISMATCH=1
fi
@@ -82,16 +97,16 @@ paste <(dcmd "$CHANGES_A" | sort | grep '\.deb$') <(dcmd "$CHANGES_B" | sort | g
diffc "ar p PACKAGE control.tar.gz | tar -zxOf - $file"
done
- echo "===== data.tar.xz"
- diffc 'hachoir-metadata --raw --quality=1 --maxlen=0 <(ar p PACKAGE data.tar.xz | xzcat)'
+ echo "===== $DATA_TAR"
+ diffc "hachoir-metadata --raw --quality=1 --maxlen=0 <(ar p PACKAGE $DATA_TAR | $DATA_COMPR)"
if ar p "$PACKAGE_A" control.tar.gz | tar -ztf - ./md5sums >/dev/null; then
FILES="$(diffc "ar p PACKAGE control.tar.gz | tar -zxOf - ./md5sums" | awk '/^-/ { print "./" $2 }')"
else
- FILES="$(ar p $PACKAGE_A data.tar.xz | tar -Jvtf - | awk '/^-/ { print $6 }')"
+ FILES="$(ar p $PACKAGE_A $DATA_TAR | $DATA_COMPR | tar -vtf - | awk '/^-/ { print $6 }')"
fi
echo "$FILES" | while read file; do
echo "----- $file"
- diffc "ar p PACKAGE data.tar.xz | tar -JxOf - $file" |
+ diffc "ar p PACKAGE $DATA_TAR | $DATA_COMPR | tar -xOf - $file" |
sed -e "s,Binary files [^ ]* and [^ ]* differ,Binary file $file differ,"
OPS="$(get_ops "$file")"
@@ -99,8 +114,8 @@ paste <(dcmd "$CHANGES_A" | sort | grep '\.deb$') <(dcmd "$CHANGES_B" | sort | g
TMP_A=$(mktemp)
TMP_B=$(mktemp)
- ar p $PACKAGE_A data.tar.xz | tar -JxOf - $file > "$TMP_A"
- ar p $PACKAGE_B data.tar.xz | tar -JxOf - $file > "$TMP_B"
+ ar p $PACKAGE_A $DATA_TAR | tar -${DATA_TAR}xOf - $file > "$TMP_A"
+ ar p $PACKAGE_B $DATA_TAR | tar -${DATA_TAR}xOf - $file > "$TMP_B"
echo "$OPS" | while read op; do
diff -u0 <(echo "$op" | sed -e "s,FILE,$TMP_A," | sh | sed -e "s,$TMP_A,$file,g") \
<(echo "$op" | sed -e "s,FILE,$TMP_B," | sh | sed -e "s,$TMP_B,$file,g") | trim_diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/misc.git
More information about the Reproducible-commits
mailing list