Hello community,

here is the log from the commit of package post-build-checks for 
openSUSE:Factory checked in at 2018-10-01 09:02:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/post-build-checks (Old)
 and      /work/SRC/openSUSE:Factory/.post-build-checks.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "post-build-checks"

Mon Oct  1 09:02:28 2018 rev:91 rq:636914 version:84.88+git20180920.ef3d8cb

Changes:
--------
--- /work/SRC/openSUSE:Factory/post-build-checks/post-build-checks.changes      
2018-08-28 09:18:35.387722696 +0200
+++ /work/SRC/openSUSE:Factory/.post-build-checks.new/post-build-checks.changes 
2018-10-01 09:02:30.388043980 +0200
@@ -1,0 +2,30 @@
+Thu Sep 20 15:31:19 UTC 2018 - r...@suse.de
+
+- Update to version 84.88+git20180920.ef3d8cb:
+  * 50-check-kernel-build-id
+    - add archs i686 ppc ppc64 s390 armv6l armv7l
+
+-------------------------------------------------------------------
+Thu Sep 20 13:36:08 UTC 2018 - r...@suse.de
+
+- Update to version 84.88+git20180920.51eb861:
+  * 50-check-kernel-build-id
+    - regroup checks for image and debuginfo
+    - make arch list a little more robust
+    - Handle i586. Also improve error handling when arch not found.
+    - Change err() to return 0. Only return 1 if we successfully
+      compared the id's and there was a discrepancy.
+    - change file mode to 755 for 50-check-kernel-build-id to match
+      all other checks
+  * make all OBS tex pdf builds reproducible by exporting
+    FORCE_SOURCE_DATE as 1
+
+-------------------------------------------------------------------
+Mon Sep 17 16:15:35 UTC 2018 - r...@suse.de
+
+- Update to version 84.88+git20180917.23b80ae:
+  * check for -fstack-clash-protection instead of -fmessage-length,
+    as that one will be removed from optflags
+  * Add kernel-build-id consistency check
+
+-------------------------------------------------------------------

Old:
----
  post-build-checks-84.88+git20180809.3be1b09.tar.xz

New:
----
  post-build-checks-84.88+git20180920.ef3d8cb.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ post-build-checks.spec ++++++
--- /var/tmp/diff_new_pack.aNXPO8/_old  2018-10-01 09:02:30.804043618 +0200
+++ /var/tmp/diff_new_pack.aNXPO8/_new  2018-10-01 09:02:30.804043618 +0200
@@ -16,13 +16,13 @@
 #
 
 
-%define version_unconverted 84.88+git20180809.3be1b09
+%define version_unconverted 84.88+git20180920.ef3d8cb
 
 Name:           post-build-checks
 Summary:        post checks for build after rpms have been created
 License:        GPL-2.0-or-later
 Group:          Development/Tools/Building
-Version:        84.88+git20180809.3be1b09
+Version:        84.88+git20180920.ef3d8cb
 Release:        0
 PreReq:         aaa_base permissions sed
 Requires:       aaa_base-malloccheck

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.aNXPO8/_old  2018-10-01 09:02:30.844043583 +0200
+++ /var/tmp/diff_new_pack.aNXPO8/_new  2018-10-01 09:02:30.844043583 +0200
@@ -1,5 +1,5 @@
 <servicedata>
   <service name="tar_scm">
     <param name="url">git://github.com/openSUSE/post-build-checks.git</param>
-  <param 
name="changesrevision">3be1b099402914cdfe62d7d82e80ab0742b7ebe8</param></service>
+  <param 
name="changesrevision">ef3d8cb349ac8062bd2b73502539a32f05be3a0a</param></service>
 </servicedata>
\ No newline at end of file

++++++ post-build-checks-84.88+git20180809.3be1b09.tar.xz -> 
post-build-checks-84.88+git20180920.ef3d8cb.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/post-build-checks-84.88+git20180809.3be1b09/checks/50-check-kernel-build-id 
new/post-build-checks-84.88+git20180920.ef3d8cb/checks/50-check-kernel-build-id
--- 
old/post-build-checks-84.88+git20180809.3be1b09/checks/50-check-kernel-build-id 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/post-build-checks-84.88+git20180920.ef3d8cb/checks/50-check-kernel-build-id 
    2018-09-20 17:30:03.000000000 +0200
@@ -0,0 +1,156 @@
+#!/bin/bash
+#set -x
+
+# Verify consistency of BuildID between vmlinux, image (vmlinuz etc - if 
+# supported) and vmlinux.debug (debuginfo). 
+# Tony Jones <to...@suse.de>, May 2018
+
+# This script uses following build environment vars:
+# -PNAME (package name)
+# -BUILD_DEBUG (are debuginfo's being built? aka osc build -d?)
+
+trap '[ -d "${_tmpdir}" ] && rm -rf ${_tmpdir}' EXIT
+function warn() { echo "... $*" >&2; }
+function err() { warn $*; echo "Giving up" >&2 ; exit 0; }
+function buildid() { eu-readelf --notes $1 | awk '/Build ID:/ {print $3}'; }
+function have_image { [ -n "${image_name}" ]; }
+function have_debuginfo { [ ${have_debugi} -eq 1 ]; }
+
+# Find the version#s for kernel and kernel rpm
+# This should be consistent across branches
+function findversion() {
+       local _rpm 
+
+       [ -d ${rpms} ] || err "Unable to find rpmbuild dir ${rpms}"
+
+       # find the "main" kernel rpm for $PNAME
+       _rpm=`cd ${rpms}; compgen -G "${PNAME}-[0-9]*.${arch}.rpm"`
+
+       [ -z "${_rpm}" -o ! -f "${rpms}/${_rpm}" ] && err "Unable to find base 
kernel rpm for ${PNAME}"
+
+       kernversion=`rpm -qp --provides ${rpms}/${_rpm} | awk '/^kernel-base =/ 
{print $3}'`
+       rpmversion=`rpm -qp --provides ${rpms}/${_rpm} | awk 
"/^${PNAME}\\(${rpm_prov_arch}\\) =/ {print \\$3}"`
+
+       [ -z "${kernversion}" -o -z "${rpmversion}" ] && err "Unable to 
validate kernel build versions from ${_rpm}"; 
+}
+
+TOPDIR=/usr/src/packages
+cpioflags="-icd --quiet"
+have_debugi=1
+image_name=""
+vmlinux_compression_suffix=""
+warnonly=0
+
+# only check for these flavors
+case "${PNAME}" in
+       kernel-default|kernel-debug|kernel-vanilla) 
+               flavor=${PNAME#kernel-};;
+       *) exit 0;;
+esac
+
+have_debugi=${BUILD_DEBUG}
+[ -z "${BUILD_DEBUG}" ] && have_debugi=0
+
+[ -h ${BUILD_ROOT}/.build.packages ] && TOPDIR=${BUILD_ROOT}/`readlink 
${BUILD_ROOT}/.build.packages`
+
+[ -f ${TOPDIR}/SOURCES/IGNORE_BUILDID_MISMATCH ] && warnonly=1
+
+# look for which arch was built, since this is kernel specific, there are
+# no biarch issues
+karchs="i586 i686 x86_64 ppc ppc64 ppc64le s390 s390x armv6l armv7l aarch64"
+rpm_prov_arch=""
+for arch in ${karchs}; do
+       if [ -d ${TOPDIR}/RPMS/${arch} ] ;then
+               case ${arch} in
+                       "i586"|"i686")    rpm_prov_arch="x86-32"
+                                  vmlinux_compression_suffix=".gz"
+                                  image_name="vmlinuz";;
+                       "x86_64")  rpm_prov_arch="x86-64";
+                                  vmlinux_compression_suffix=".gz"
+                                  image_name="vmlinuz";;
+                       "ppc")     rpm_prov_arch="ppc-32";;
+                       "ppc64"|"ppc64le")   rpm_prov_arch="ppc-64";;
+                       "s390")    rpm_prov_arch="s390-32"
+                                  vmlinux_compression_suffix=".gz"
+                                  #has Image but not ELF
+                                  ;;
+                       "s390x")   rpm_prov_arch="s390-64"
+                                  vmlinux_compression_suffix=".gz"
+                                  #has Image but not ELF
+                                  ;;
+                       "armv6l") rpm_prov_arch="armv6hl-32"
+                                  vmlinux_compression_suffix=".gz"
+                                  #has Image but not ELF
+                                  ;;
+                       "armv7l") rpm_prov_arch="armv7hl-32"
+                                  vmlinux_compression_suffix=".gz"
+                                  #has Image but not ELF
+                                  ;;
+                       "aarch64") rpm_prov_arch="aarch-64"
+                                  vmlinux_compression_suffix=".gz"
+                                  #has Image but not ELF
+                                  ;;
+                       *) err "karchs does not match case statement, please 
fixme!" ;;
+               esac
+               break
+       fi
+done
+
+[ -n "${rpm_prov_arch}" ] || { warn "No valid build arch in ${TOPDIR}/RPMS"; 
exit 0; }
+
+! have_image && ! have_debuginfo  && { warn "No BuildID consistency to verify 
(debuginfo disabled and arch has no kernel image fmt)"; exit 0; }
+
+rpm -q --quiet elfutils || { warn "Unable to verify BuildID (no elfutils). Add 
'BuildRequires: elfutils' to package"; exit 0; }
+
+rpms=${TOPDIR}/RPMS/${arch}
+findversion
+
+echo "... Verifying kernel build-ids for ${PNAME} ${kernversion} ${arch}"
+
+echo "... Processing kernel rpms in '${rpms}'"
+
+krpm=${rpms}/${PNAME}-${rpmversion}.${arch}.rpm
+[ -f ${krpm} ] || err "Unable to find kernel rpm '${krpm}'"
+
+_tmpdir=`mktemp -d`
+[ -d "${_tmpdir}" ] || err "Unable to make tempdir"
+
+vmlinux="./boot/vmlinux-${kernversion}-${flavor}${vmlinux_compression_suffix}"
+image=""
+have_image && image="./boot/${image_name}-${kernversion}-${flavor}"
+rpm2cpio ${krpm} | (cd ${_tmpdir} ; cpio ${cpioflags} ${vmlinux} ${image})
+
+[ ! -f ${_tmpdir}/${vmlinux} ] && err "Unable to extract ${vmlinux} from 
${krpm}"
+vmlinux_id=`buildid ${_tmpdir}/${vmlinux}`
+
+mismatch=0
+if have_image ;then
+       [ ! -f ${_tmpdir}/${image} ] && err "Unable to extract ${image} from 
${krpm}"
+       image_id=`buildid ${_tmpdir}/${image}`
+
+       if [ ${vmlinux_id} == "${image_id}" ] ;then
+               echo "... BuildID vmlinux/${image_name} OK - ${vmlinux_id}"
+       else
+               warn "BuildID Mismatch vmlinux=${vmlinux_id} 
${image_name}=${image_id}" ; mismatch=1
+       fi
+fi
+
+if have_debuginfo ;then
+       kdbgi_rpm=${rpms}/${PNAME}-debuginfo-${rpmversion}.${arch}.rpm
+       [ ! -f ${kdbgi_rpm} ] && err "Unable to find kernel debuginfo rpm 
'${kdbgi_rpm}'"
+
+       
vmlinux_dbgi="./usr/lib/debug/boot/vmlinux-${kernversion}-${flavor}.debug"
+       rpm2cpio ${kdbgi_rpm} | (cd ${_tmpdir} ; cpio ${cpioflags} 
${vmlinux_dbgi})
+
+       [ ! -f ${_tmpdir}/${vmlinux_dbgi} ] && err "Unable to extract 
${vmlinux} from ${kdbgi_rpm}"
+       vmlinux_dbgi_id=`buildid ${_tmpdir}/${vmlinux_dbgi}`
+
+       if [ ${vmlinux_id} == "${vmlinux_dbgi_id}" ] ;then
+               echo "... BuildID vmlinux/vmlinux_debuginfo OK - ${vmlinux_id}"
+       else
+               warn "BuildID Mismatch vmlinux=${vmlinux_id} 
vmlinux_debuginfo=${vmlinux_dbgi_id}" ; mismatch=1
+       fi
+fi
+
+[ ${warnonly} -eq 1 -a ${mismatch} -eq 1 ] && { mismatch=0; warn "Ignoring 
BuildID mismatch (IGNORE_BUILDID_MISMATCH exists in kernel source dir)"; }
+exit ${mismatch}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/post-build-checks-84.88+git20180809.3be1b09/checks-data/check_gcc_output 
new/post-build-checks-84.88+git20180920.ef3d8cb/checks-data/check_gcc_output
--- 
old/post-build-checks-84.88+git20180809.3be1b09/checks-data/check_gcc_output    
    2018-08-09 16:13:13.000000000 +0200
+++ 
new/post-build-checks-84.88+git20180920.ef3d8cb/checks-data/check_gcc_output    
    2018-09-20 17:30:03.000000000 +0200
@@ -226,9 +226,9 @@
     }
     # libtool needs some special love.
     $iscompilerline = 1 if (/libtool.*--mode=compile.*(gcc|cc|g\+\+)/i);
-    # If a line has -fmessage-length in it assume it uses RPM_OPT_FLAGS.
+    # If a line has -fstack-clash-protection in it assume it uses 
RPM_OPT_FLAGS.
     # If you avoid this check by adding -fml, we will hack your hands off.
-    if ($iscompilerline && ! /-fmessage-length/ && /\.c/i) {
+    if ($iscompilerline && ! /-fstack-clash-protection/ && /\.c/i) {
         # split away "foo.c" or foo.c; or similar too.
         foreach my $f(grep(/\.c(pp|c)?$/,split(/[ "';`]/))) {
             &add_warning("no-rpm-opt-flags", "<cmdline>:$f");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/post-build-checks-84.88+git20180809.3be1b09/suse-buildsystem.sh 
new/post-build-checks-84.88+git20180920.ef3d8cb/suse-buildsystem.sh
--- old/post-build-checks-84.88+git20180809.3be1b09/suse-buildsystem.sh 
2018-08-09 16:13:13.000000000 +0200
+++ new/post-build-checks-84.88+git20180920.ef3d8cb/suse-buildsystem.sh 
2018-09-20 17:30:03.000000000 +0200
@@ -1,6 +1,8 @@
 export SUSE_IGNORED_RPATHS=/etc/suse-ignored-rpaths.conf
 export SUSE_ASNEEDED=1
+
+# for reproducible builds
 export QT_HASH_SEED=0
 export PERL_HASH_SEED=42
 export PYTHONHASHSEED=0
-
+export FORCE_SOURCE_DATE=1 # for texlive to use SOURCE_DATE_EPOCH


Reply via email to