From 6081afc9343da7d4ca0571d2b9e799d456c9b344 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Apr 10 2018 05:33:40 +0000 Subject: import redhat-rpm-config-9.1.0-80.el7 --- diff --git a/SOURCES/redhat-rpm-config-9.1.0-centos.dist.patch b/SOURCES/redhat-rpm-config-9.1.0-centos.dist.patch deleted file mode 100644 index bdb0ee2..0000000 --- a/SOURCES/redhat-rpm-config-9.1.0-centos.dist.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNrp redhat-rpm-config-9.1.0.orig/dist.sh redhat-rpm-config-9.1.0/dist.sh ---- redhat-rpm-config-9.1.0.orig/dist.sh 2010-02-02 03:24:04.000000000 -0600 -+++ redhat-rpm-config-9.1.0/dist.sh 2014-06-19 09:29:04.064790458 -0500 -@@ -25,7 +25,7 @@ function check_rhl { - } - - function check_rhel { -- egrep -q "(Enterprise|Advanced)" $RELEASEFILE && echo $DISTNUM -+ egrep -q "(Enterprise|Advanced|CentOS)" $RELEASEFILE && echo $DISTNUM - } - - function check_fedora { diff --git a/SOURCES/redhat-rpm-config-9.1.0-ksym-requires-multifile.patch b/SOURCES/redhat-rpm-config-9.1.0-ksym-requires-multifile.patch new file mode 100644 index 0000000..2487186 --- /dev/null +++ b/SOURCES/redhat-rpm-config-9.1.0-ksym-requires-multifile.patch @@ -0,0 +1,58 @@ +--- redhat-rpm-config-9.1.0/find-requires.ksyms.old 2017-07-24 13:41:12.836294124 +0200 ++++ redhat-rpm-config-9.1.0/find-requires.ksyms 2017-07-24 13:42:09.445228749 +0200 +@@ -25,17 +25,15 @@ all_requires() { + {printf("0x%08x\t%s\n", $1, $2)}' \ + | sed -r -e 's:$:\t'"$1"':' + done \ +- | LANG=C sort -k2,2 -u ++ | LC_ALL=C sort -k2,2 -u + } + + # Filter out requirements fulfilled by the module itself. + mod_requires() { +- module=$1 +- +- LANG=C join -t $'\t' -j 2 -v 1 \ +- <(all_requires "$module") \ +- <(all_provides "$module") \ +- | LANG=C sort -k1,1 -u ++ LC_ALL=C join -t $'\t' -j 2 -v 1 \ ++ <(all_requires "$@") \ ++ <(all_provides "$@") \ ++ | LC_ALL=C sort -k1,1 -u + } + + if ! [ -e /sbin/modinfo -a -e /sbin/modprobe ]; then +@@ -89,6 +87,8 @@ check_kabi() { + modules=($(grep -E '/lib/modules/.+\.ko$')) + if [ ${#modules[@]} -gt 0 ]; then + kernel=$(/sbin/modinfo -F vermagic "${modules[0]}" | sed -e 's: .*::' -e q) ++ ++ # get all that kernel provides + symvers=$(mktemp -t ${0##*/}.XXXXX) + + cat /usr/src/kernels/$kernel/Module.symvers | awk ' +@@ -96,19 +96,19 @@ if [ ${#modules[@]} -gt 0 ]; then + { print $2 "\t" $1 } + ' \ + | sed -r -e 's:$:\t'"$kernel"':' \ +- | LANG=C sort -k1,1 -u > $symvers ++ | LC_ALL=C sort -k1,1 -u > $symvers + + # Symbols matching with the kernel get a "kernel" dependency +- LANG=C join -t '\t' -j 1 $symvers <(mod_requires "${modules[@]}") | LANG=C sort -u \ ++ LC_ALL=C join -t $'\t' -j 1 $symvers <(mod_requires "${modules[@]}") | LC_ALL=C sort -u \ + | awk '{ FS = "\t" ; OFS = "\t" } { print "kernel(" $1 ") = " $2 }' + + # Symbols from elsewhere get a "ksym" dependency +- LANG=C join -t '\t' -j 1 -v 2 $symvers <(mod_requires "${modules[@]}") | LANG=C sort -u \ ++ LC_ALL=C join -t $'\t' -j 1 -v 2 $symvers <(mod_requires "${modules[@]}") | LC_ALL=C sort -u \ + | awk '{ FS = "\t" ; OFS = "\t" } { print "ksym(" $1 ") = " $2 }' + + # Check kABI if the kabi-whitelists package is installed + # Do this last so we can try to output this error at the end +- kabi_check_symbols=($(LANG=C join -t '\t' -j 1 $symvers <(mod_requires "${modules[@]}") | LANG=C sort -u \ ++ kabi_check_symbols=($(LC_ALL=C join -t $'\t' -j 1 $symvers <(mod_requires "${modules[@]}") | LC_ALL=C sort -u \ + | awk '{ FS = "\t" ; OFS = "\t" } { print $1 }')) + check_kabi "${kabi_check_symbols[@]}" + fi diff --git a/SOURCES/redhat-rpm-config-9.1.0-ksyms-2.patch b/SOURCES/redhat-rpm-config-9.1.0-ksyms-2.patch new file mode 100644 index 0000000..6f85d10 --- /dev/null +++ b/SOURCES/redhat-rpm-config-9.1.0-ksyms-2.patch @@ -0,0 +1,31 @@ +--- redhat-rpm-config-9.1.0/find-requires.ksyms.old 2017-11-14 10:18:23.231861697 +0100 ++++ redhat-rpm-config-9.1.0/find-requires.ksyms 2017-11-14 10:51:09.064436672 +0100 +@@ -9,10 +9,24 @@ IFS=$'\n' + + # Extract all of the symbols provided by this module. + all_provides() { +- nm "$@" \ +- | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ +- | awk --non-decimal-data '{printf("0x%08x\t%s\n", $1, $2)}' \ +- | LANG=C sort -k2,2 -u ++ if [[ -n $(nm "$@" | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p') ]]; then ++ nm "$@" \ ++ | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ ++ | awk --non-decimal-data '{printf("0x%08x\t%s\n", $1, $2)}' \ ++ | LC_ALL=C sort -k2,2 -u ++ else ++ ELFRODATA=$(readelf -R .rodata "$@" | awk '/0x/{printf $2$3$4$5}') ++ if [[ -n $(readelf -h "$@" | grep "little endian") ]]; then ++ RODATA=$(echo $ELFRODATA | sed 's/\(..\)\(..\)\(..\)\(..\)/\4\3\2\1/g') ++ else ++ RODATA=$ELFRODATA ++ fi ++ for sym in $(nm "$@" | sed -r -ne 's:^0*([0-9a-f]+) R __crc_(.+):0x\1 \2:p'); do ++ echo $sym $RODATA ++ done \ ++ | awk --non-decimal-data '{printf("0x%08s\t%s\n", substr($3,($1*2)+1,8), $2)}' \ ++ | LC_ALL=C sort -k2,2 -u ++ fi + } + + # Extract all of the requirements of this module. diff --git a/SOURCES/redhat-rpm-config-9.1.0-ksyms.patch b/SOURCES/redhat-rpm-config-9.1.0-ksyms.patch new file mode 100644 index 0000000..8883279 --- /dev/null +++ b/SOURCES/redhat-rpm-config-9.1.0-ksyms.patch @@ -0,0 +1,33 @@ +--- current/find-provides.ksyms.orig 2017-10-04 15:25:12.448353956 +0200 ++++ current/find-provides.ksyms 2017-10-04 15:29:10.086785421 +0200 +@@ -1,10 +1,24 @@ +-#! /bin/sh ++#! /bin/bash + + IFS=$'\n' + + for module in $(grep -E '/lib/modules/.+\.ko$'); do +- nm $module \ +- | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ +- | awk --non-decimal-data '{printf("ksym(%s) = 0x%08x\n", $2, $1)}' +-done \ +-| sort -u ++ if [[ -n $(nm $module | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p') ]]; then ++ nm $module \ ++ | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ ++ | awk --non-decimal-data '{printf("ksym(%s) = 0x%08x\n", $2, $1)}' \ ++ | LC_ALL=C sort -u ++ else ++ ELFRODATA=$(readelf -R .rodata $module | awk '/0x/{printf $2$3$4$5}') ++ if [[ -n $(readelf -h $module | grep "little endian") ]]; then ++ RODATA=$(echo $ELFRODATA | sed 's/\(..\)\(..\)\(..\)\(..\)/\4\3\2\1/g') ++ else ++ RODATA=$ELFRODATA ++ fi ++ for sym in $(nm $module | sed -r -ne 's:^0*([0-9a-f]+) R __crc_(.+):0x\1 \2:p'); do ++ echo $sym $RODATA ++ done \ ++ | awk --non-decimal-data '{printf("ksym(%s) = 0x%08s\n", $2, substr($3,($1*2)+1,8))}' \ ++ | LC_ALL=C sort -u ++ fi ++done diff --git a/SOURCES/redhat-rpm-config-9.1.0.Remove-hardcoded-limit-of-16-CPUs.patch b/SOURCES/redhat-rpm-config-9.1.0.Remove-hardcoded-limit-of-16-CPUs.patch new file mode 100644 index 0000000..c74473c --- /dev/null +++ b/SOURCES/redhat-rpm-config-9.1.0.Remove-hardcoded-limit-of-16-CPUs.patch @@ -0,0 +1,16 @@ +--- current/macros.orig 2017-10-11 13:34:32.288393926 +0200 ++++ current/macros 2017-10-11 13:34:44.519416133 +0200 +@@ -74,7 +74,12 @@ + install + + # Maximum number of CPU's to use when building, 0 for unlimited. +-%_smp_ncpus_max 16 ++# ++# This was for some time capped at 16. Please see ++# https://bugzilla.redhat.com/show_bug.cgi?id=669638 and ++# https://bugzilla.redhat.com/show_bug.cgi?id=1384938 for the situation ++# surrounding this. ++#%_smp_ncpus_max 0 + %_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\ + && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ + ncpus_max=%{?_smp_ncpus_max}; \\\ diff --git a/SPECS/redhat-rpm-config.spec b/SPECS/redhat-rpm-config.spec index 1f887ab..e75521c 100644 --- a/SPECS/redhat-rpm-config.spec +++ b/SPECS/redhat-rpm-config.spec @@ -1,7 +1,7 @@ -Summary: CentOS specific rpm configuration files +Summary: Red Hat specific rpm configuration files Name: redhat-rpm-config Version: 9.1.0 -Release: 76%{?dist} +Release: 80%{?dist} # No version specified. License: GPL+ Group: Development/System @@ -97,9 +97,18 @@ Patch37: redhat-rpm-config-9.0.3-latest-kernel.patch Patch38: redhat-rpm-config-9.1.0-Add-_pkgdocdir.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1324003 Patch39: redhat-rpm-config-9.1.0-find-requires-fix-detection.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1494262 +Patch40: redhat-rpm-config-9.1.0-ksyms.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1386840 +Patch41: redhat-rpm-config-9.1.0.Remove-hardcoded-limit-of-16-CPUs.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1494262 +Patch42: redhat-rpm-config-9.1.0-ksyms-2.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1467319 +Patch43: redhat-rpm-config-9.1.0-ksym-requires-multifile.patch + # ppc64 little endian support Patch99: redhat-rpm-config-9.1.0-ppc64le.patch -Patch100: redhat-rpm-config-9.1.0-centos.dist.patch + BuildArch: noarch Requires: coreutils @@ -110,7 +119,7 @@ Requires: zip Provides: system-rpm-config = %{version}-%{release} %description -CentOS specific rpm configuration files. +Red Hat specific rpm configuration files. %prep %setup -q @@ -154,9 +163,12 @@ CentOS specific rpm configuration files. %patch37 -p1 %patch38 -p1 %patch39 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 %patch99 -p2 -%patch100 -p1 %build @@ -185,8 +197,17 @@ rm -rf ${RPM_BUILD_ROOT} %{_sysconfdir}/rpm/* %changelog -* Mon Jul 31 2017 CentOS Sources - 9.1.0-76.el7.centos -- update check_rhl function in dist.sh +* Thu Nov 30 2017 Florian Festi - 9.1.0-80 +- More support for CONFIG_MODULE_REL_CRCS style kernel symbols (#1494262) + +* Mon Oct 30 2017 Panu Matilainen - 9.1.0-79 +- Fix ksym dependency generator for more than one .ko per package (#1467319) + +* Wed Oct 11 2017 Florian Festi - 9.1.0-78 +- Remove hardcoded limit of 16 CPUs for makefile parallelism (#1386840) + +* Wed Oct 04 2017 Florian Festi - 9.1.0-77 +- Add support for CONFIG_MODULE_REL_CRCS style kernel symbols (#1494262) * Tue Feb 14 2017 Yaakov Selkowitz - 9.1.0-76 - Add aarch64/ppc64le/s390x to nodejs_arches (#1417800)