release-compare/obsgendiff

44 lines
1.2 KiB
Bash

#!/bin/bash
out=/.build.packages/obsgendiff
outreleased=/.build.packages/obsgendiff.released
echo "Running obsgendiff data differ..."
# extract released obsgendiff aggregates
for obsgendiff in /.build.packages/SOURCES/*.obsgendiff; do
[ -e "$obsgendiff" ] || continue
mkdir -p "${outreleased}"
tar xfv "$obsgendiff" -C "${outreleased}"
done
# create changelogs based on the packaged rpms
mkdir -p $out/{changelogs,disturl}
for packages in /.build.packages/KIWI/*.packages; do
cat "$packages" | while read line; do
IFS='|' read -r -a a <<< "$line"
name="${a[0]}"
rpm="${name}.rpm"
# only the worker knows where it was downloaded from....
file=`find /.build.packages/SOURCES/repos/ -name $rpm`
rpm -qp "$file" --changelog 2>/dev/null > $out/changelogs/${name}
rpm -qp "$file" --qf '%{DISTURL}\n' 2>/dev/null > $out/disturl/${name}
done
# create archive
cd $out
gendiff=${packages%.packages}.obsgendiff
tar cfJ /.build.packages/OTHER/${gendiff##*/} *
cd -
done
# create diff to released archive
# NOTE: it had to be published or it won't exist
if [ -d "${outreleased}" ]; then
diff -urN "${outreleased}/" "$out/" > /.build.packages/OTHER/changelog.diff
fi
exit 0