Hello community,
here is the log from the commit of package release-compare for openSUSE:Factory
checked in at 2020-08-28 21:21:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/release-compare (Old)
and /work/SRC/openSUSE:Factory/.release-compare.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "release-compare"
Fri Aug 28 21:21:43 2020 rev:2 rq:830269 version:0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/release-compare/release-compare.changes
2020-03-25 23:48:39.296046639 +0100
+++
/work/SRC/openSUSE:Factory/.release-compare.new.3399/release-compare.changes
2020-08-28 21:22:30.548357633 +0200
@@ -1,0 +2,15 @@
+Wed Aug 26 13:44:48 UTC 2020 - Adrian Schröter <[email protected]>
+
+- write changelogs in UTF-8 encoding
+
+-------------------------------------------------------------------
+Tue Aug 25 07:34:24 UTC 2020 - Adrian Schröter <[email protected]>
+
+- speedup it a lot to avoid timeout errors
+
+-------------------------------------------------------------------
+Wed Aug 19 09:13:35 UTC 2020 - Adrian Schröter <[email protected]>
+
+- running based on .report instead of .packages files
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ release-compare.spec ++++++
--- /var/tmp/diff_new_pack.7IiIPr/_old 2020-08-28 21:22:31.036357870 +0200
+++ /var/tmp/diff_new_pack.7IiIPr/_new 2020-08-28 21:22:31.040357872 +0200
@@ -44,6 +44,9 @@
mkdir -p $RPM_BUILD_ROOT/usr/lib/build/ $RPM_BUILD_ROOT/%_defaultdocdir/%name
install -m 0755 %SOURCE2 $RPM_BUILD_ROOT/usr/lib/build/
+%check
+bash -n $RPM_BUILD_ROOT/usr/lib/build/obsgendiff || exit 1
+
%files
/usr/lib/build
++++++ obsgendiff ++++++
--- /var/tmp/diff_new_pack.7IiIPr/_old 2020-08-28 21:22:31.092357898 +0200
+++ /var/tmp/diff_new_pack.7IiIPr/_new 2020-08-28 21:22:31.092357898 +0200
@@ -25,41 +25,84 @@
out=/.build.packages/obsgendiff
outreleased=/.build.packages/obsgendiff.released
-echo "Running obsgendiff data differ..."
+eol=$'\n'
-# extract released obsgendiff aggregates
-for obsgendiff in /.build.packages/SOURCES/*.obsgendiff; do
- [ -e "$obsgendiff" ] || continue
- mkdir -p "${outreleased}"
- tar xfv "$obsgendiff" -C "${outreleased}"
-done
+echo "Running obsgendiff data differ..."
# 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}
+for report in /.build.packages/OTHER/*.report; do
+
+ # skip source and debug media
+ [ "$report" = "${report/-Media2/}" ] || continue
+ [ "$report" = "${report/-Media3/}" ] || continue
+
+ # find and extract right obsgendiff archive
+ oldobsgendiff=${report%.report}.obsgendiff
+ oldobsgendiff=/.build.packages/SOURCES/${oldobsgendiff##*/}
+ oldobsgendiff=`echo ${oldobsgendiff/-Build*-/-Build*-}` # find old build
number
+ if [ -e "$oldobsgendiff" ]; then
+ echo "Extracting $oldobsgendiff"
+ mkdir -p "${outreleased}"
+ tar xf "$oldobsgendiff" -C "${outreleased}"
+ else
+ echo "WARNING no old obsgendiff found: $oldobsgendiff"
+ fi
+
+ sed -n -e 's,.*<binary .*obs:\(//.*\)</binary>,\1,p' "$report" | while read
disturl; do
+
+ rpm="${disturl##*/}"
+ name="${rpm%-*}"
+ name="${name%-*}"
+
+ # only the worker knows where it was downloaded from....
+ # the disturl may contained a different build repo
+ file=`echo /.build.packages/SOURCES/repos/*/*/*/$rpm`
+ file="${file//${eol}*/}" # bash internal "head -n 1"
+
+ LC_ALL=C.UTF-8 rpm -qp "$file" --changelog --nodigest --nosignature
2>/dev/null > $out/changelogs/${name}
+ echo "$disturl" > $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
+ 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
exit 0