#! /bin/sh x="*.log" x2="foobar" o="" while true;do if [ "$1" = "-r" ];then o="$o -r" shift continue fi if [ "$1" = "-N" ];then o="$o -N" shift continue fi if [ "$1" = "log" ];then x="*.sum" o="-r" shift continue fi if [ "$1" = "pie" ];then x2="*pie*" shift continue fi break done if [ $# != 2 ];then echo >&2 "$0 hammock/xxxxyyzzname hammock/XXXXYYZZothername" exit 1 fi diffed=false function diffitraw { dir1=$1 dir2=$2 if [ ! -e "$dir2" ];then echo "MISSING: $dir1 $dir2" return fi diffgdb $o -x rpm-qa -x "$x" -x "$x2" $dir1 $dir2 diffed=true } function diffit { diffitraw $1/out $2/out } if [ -f "$1" -a ! -e "${1%.tar.xz}" ];then ( cd "$(dirname "$1")" tar xJf "$(basename "$1")" ) set "${1%.tar.xz}" "$2" if [ ! -d "$1" ];then echo "! $1" exit 1 fi fi if [ -f "$2" -a ! -e "${2%.tar.xz}" ];then ( cd "$(dirname "$2")" tar xJf "$(basename "$2")" ) set "$1" "${2%.tar.xz}" if [ ! -d "$2" ];then echo "! $2" exit 1 fi fi for arch in x86_64 i386;do if [ -d $1-$arch ];then diffit $1-$arch $2-$arch fi if [ -d $1$arch ];then diffit $1$arch $2$arch fi if [ -d $1/*-$arch ];then diffit $1/*-$arch $2/*-$arch fi done if [ -d $1/out ];then diffit $1 $2 diffed=true fi if [ "$1" != "${1#tests/}" -a -d $1 ];then diffitraw $1 $2 diffed=true fi if ! $diffed;then diffitraw $1 $2 #echo "NOT FOUND: $1 $2" fi