File compareoldnew of Package ca-certificates-mozilla.25640

#!/bin/bash
# print fingerprints of new or changed certificates
set -e
cleanup()
{
	rm -rf new{,.files} old{,.files}
}
showcert()
{
	openssl x509 -in "$1" -noout -subject -fingerprint -nameopt multiline,utf8,-esc_msb \
	| sed -ne 's/ *commonName *= /  CN=/p; s/.*Fingerprint=/  sha1=/p'
	sed -ne '/^# \(openssl\|distrust\|alias\)/s/^#/ /p' < "$1"
}
cleanup
trap cleanup EXIT
mkdir old new
cd old
echo old...
ln -s ../.osc/certdata.txt
python3 ../certdata2pem.py > stdout 2> stderr
ls -1 cert-* | sort > ../old.files
cd ..
cd new
echo new...
ln -s ../certdata.txt
python3 ../certdata2pem.py > stdout 2> stderr
ls -1 cert-* | sort > ../new.files
cd ..
echo '----------------------------'
while read line; do
	IFS='#' eval set -- \$line
	old="$1"
	new="$2"
	common="$3"
	if [ -n "$old" ]; then
		echo "- $old"
		showcert old/$old
	elif [ -n "$new" ]; then
		echo "+ $new"
		showcert new/$new
	elif ! cmp "old/$common" "new/$common"; then
		echo "~ $common"
		showcert old/$common
		showcert new/$common
		diff -u old/$common new/$common || true
	fi
done < <(comm --output-delimiter='#' old.files new.files)
openSUSE Build Service is sponsored by