#!/bin/sh -efu . tmpdir.sh cd $TMPDIR repo1=$1 repo2=$2 ls $repo1/files/SRPMS/ |perl -pe 's/(.+)-(.+)-(.+)/$1\t$1-$2-$3/' >NF1 ls $repo2/files/SRPMS/ |perl -pe 's/(.+)-(.+)-(.+)/$1\t$1-$2-$3/' >NF2 sort -u -o NF1{,} sort -u -o NF2{,} join NF1 NF2 |awk '$2!=$3{print$2,$3}' >check changelog() { rpmquery --qf '[%{CHANGELOGTIME:day}\t%{CHANGELOGNAME}\n]' -p "$1" | perl -pe 's/\t.*<(\S+)(?:\@| at )([\w-]+).*>[ \t]*/\t$1\@$2\t/' } check() { changelog "$1" >c1 changelog "$2" >c2 lastchange=$(head -1 c1) if ! fgrep -qs -x -e "${lastchange:?}" c2; then rpm -q --changelog -p "$1" >${1##*/}.changelog rpm -q --changelog -p "$2" >${2##*/}.changelog diff -u {${1##*/},${2##*/}}.changelog || [ $? = 1 ] fi } while read -r F1 F2; do F1=$repo1/files/SRPMS/$F1 F2=$repo2/files/SRPMS/$F2 check $F1 $F2 done