#! /bin/sh x="*.log" o="" if [ "$1" = "-r" ];then o="-r" shift fi if [ "$1" = "log" ];then x="*.sum" o="-r" shift fi if [ $# != 2 ];then echo >&2 "$0 hammock/xxxxyyzzname hammock/XXXXYYZZothername" exit 1 fi diffed=false function diffit { dir1=$1/out dir2=$2/out if [ ! -e "$dir2" ];then echo "MISSING: $dir1 $dir2" return fi diffgdb $o -x "$x" $dir1 $dir2 diffed=true } 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 ! $diffed;then echo "NOT FOUND: $1 $2" fi