sync from Jump
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/release-compare?expand=0&rev=7
This commit is contained in:
parent
de1d5e4aea
commit
71bef62079
80
obsgendiff
80
obsgendiff
@ -30,6 +30,7 @@ echo "Running obsgendiff data differ..."
|
||||
# extract released obsgendiff aggregates
|
||||
for obsgendiff in /.build.packages/SOURCES/*.obsgendiff; do
|
||||
[ -e "$obsgendiff" ] || continue
|
||||
echo "Extracting $obsgendiff"
|
||||
mkdir -p "${outreleased}"
|
||||
tar xfv "$obsgendiff" -C "${outreleased}"
|
||||
done
|
||||
@ -37,6 +38,11 @@ done
|
||||
# create changelogs based on the packaged rpms
|
||||
mkdir -p $out/{changelogs,disturl}
|
||||
for report in /.build.packages/OTHER/*.report; do
|
||||
|
||||
# skip source and debug media
|
||||
[ "$report" = "${report/-Media2/}" ] || continue
|
||||
[ "$report" = "${report/-Media3/}" ] || continue
|
||||
|
||||
sed -n -e 's,.*<binary .*obs://\(.*\)</binary>,\1,p' "$report" | while read binary; do
|
||||
|
||||
rpm="${binary##*/}"
|
||||
@ -52,42 +58,44 @@ for report in /.build.packages/OTHER/*.report; do
|
||||
done
|
||||
|
||||
# create archive
|
||||
cd $out
|
||||
gendiff=${packages%.packages}.obsgendiff
|
||||
tar cfJ /.build.packages/OTHER/${gendiff##*/} *
|
||||
cd -
|
||||
pushd $out
|
||||
gendiff=${report%.report}.obsgendiff
|
||||
tar cfJ /.build.packages/OTHER/${gendiff##*/} .
|
||||
popd
|
||||
|
||||
# create diff to released archive
|
||||
# NOTE: it had to be published or it won't exist
|
||||
if [ -d "${outreleased}" ]; then
|
||||
changelog=/.build.packages/OTHER/ChangeLog.${report##*/}
|
||||
changelog=${changelog%.report}.txt
|
||||
echo ""> $changelog
|
||||
|
||||
# removed packages
|
||||
echo "Removed packages">> $changelog
|
||||
echo "================">> $changelog
|
||||
echo "">> $changelog
|
||||
|
||||
find "$outreleased/changelogs/" -type f | sort | sed "s,^$outreleased/changelogs/,," | while read file; do
|
||||
[ -e "${out}/changelogs/$file" ] || echo " - ${file##*::}" >> $changelog
|
||||
done
|
||||
echo "">> $changelog
|
||||
|
||||
# new packages
|
||||
echo "New packages">> $changelog
|
||||
echo "============">> $changelog
|
||||
echo "">> $changelog
|
||||
find "$out/changelogs/" -type f | sort | sed "s,^$out/changelogs/,," | while read file; do
|
||||
[ -e "${outreleased}/changelogs/$file" ] || echo " - ${file##*::}" >> $changelog
|
||||
done
|
||||
echo "">> $changelog
|
||||
|
||||
# changed packages
|
||||
echo "Package updates">> $changelog
|
||||
echo "===============">> $changelog
|
||||
echo "">> $changelog
|
||||
diff -ur "${outreleased}/changelogs/" "$out/changelogs/" | grep -v '^Only in ' | grep '^[+-]' | grep -v '^--- ' | sed 's,^+++ .*/\([^\t]*\).*$,\1,' >> $changelog
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# create diff to released archive
|
||||
# NOTE: it had to be published or it won't exist
|
||||
if [ -d "${outreleased}" ]; then
|
||||
changelog=/.build.packages/OTHER/ChangeLog.txt
|
||||
echo ""> $changelog
|
||||
echo "Removed packages">> $changelog
|
||||
echo "================">> $changelog
|
||||
echo "">> $changelog
|
||||
|
||||
# new packages
|
||||
find "$outreleased/" -type f | sort | sed "s,^$outreleased/,," | while read file; do
|
||||
[ -e "${out}/$file" ] || echo " - $file" >> $changelog
|
||||
done
|
||||
|
||||
# new packages
|
||||
echo "">> $changelog
|
||||
echo "New packages">> $changelog
|
||||
echo "============">> $changelog
|
||||
echo "">> $changelog
|
||||
find "$out/" -type f | sort | sed "s,^$out/,," | while read file; do
|
||||
[ -e "${outreleased}/$file" ] || echo " - $file" >> $changelog
|
||||
done
|
||||
|
||||
# changed packages
|
||||
echo "">> $changelog
|
||||
echo "Package updates">> $changelog
|
||||
echo "===============">> $changelog
|
||||
echo "">> $changelog
|
||||
diff -ur "${outreleased}/" "$out/" >> $changelog
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user