#! /bin/sh x="*.log" 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" -o "$1" = "-l" ];then x="*.sum" o="-r" 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" $dir1 $dir2 diffed=true } function diffit { diffitraw $1/out $2/out } if [ -f "$1" ];then if [ ! -e "${1%.tar.xz}" ];then ( cd "$(dirname "$1")" tar xJf "$(basename "$1")" ) fi set "${1%.tar.xz}" "$2" if [ ! -d "$1" ];then echo "! $1" exit 1 fi fi if [ -f "$2" ];then if [ ! -e "${2%.tar.xz}" ];then ( cd "$(dirname "$2")" tar xJf "$(basename "$2")" ) fi 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 echo "NOT FOUND: $1 $2" fi