forked from pool/kernel-source
This commit is contained in:
parent
5a313385c0
commit
e73ee51e1f
@ -1,2 +1,2 @@
|
||||
2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
@ -21,14 +21,14 @@ built_in_exports() {
|
||||
for obj in $(find -name built-in.o -printf '%d %P\n' \
|
||||
| sort -r \
|
||||
| awk '{ print $2 }'); do
|
||||
$sourcedir/list-exported-symbols -n ${obj%.o} $obj
|
||||
$sourcedir/symsets.pl --list-exported-symbols $obj
|
||||
done
|
||||
|
||||
# We could go through the libraries as well, but those functions
|
||||
# are so unlikely to change that this wouldn't help.
|
||||
# (All remaining symbols will end up in the vmlinux set.)
|
||||
#for archive in $(find -name '*.a'); do
|
||||
# $sourcedir/list-exported-symbols -n ${archive%.a} $archive
|
||||
# $sourcedir/symsets.pl --list-exported-symbols $archive
|
||||
#done
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c470ea05dd6571fe53400908fba191d935ee539de199754e60ac8330e7383fb1
|
||||
size 138642
|
||||
oid sha256:e1b0edb65a7bb6996cd82ed63b362a08d55ccb6ee5f5ed5a4ad932fcb6947cda
|
||||
size 135207
|
||||
|
@ -5,27 +5,30 @@ filelist=($(cat))
|
||||
|
||||
printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/find-provides "$@"
|
||||
|
||||
# these two are updated by the spec file
|
||||
sourcedir=${0%/*}
|
||||
builddir="$sourcedir/../BUILD"
|
||||
|
||||
flavor=${1##*-}
|
||||
|
||||
tmpdir=$(mktemp -dt ${0##*/}.XXXXXXXXXX)
|
||||
trap "rm -rf $tmpdir" EXIT
|
||||
modlist=$(mktemp -t ${0##*/}.XXXXXXXXXX)
|
||||
trap "rm -rf $modlist" EXIT
|
||||
|
||||
symvers=
|
||||
for file in "${filelist[@]}"; do
|
||||
case "$file" in
|
||||
*/boot/symvers-*.gz)
|
||||
zcat "$file" \
|
||||
| awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }'
|
||||
*/Module.symvers)
|
||||
symvers="--symvers-file=$file"
|
||||
;;
|
||||
*.ko)
|
||||
$sourcedir/list-exported-symbols $file
|
||||
echo "$file" >>"$modlist"
|
||||
;;
|
||||
esac
|
||||
done \
|
||||
| $sourcedir/split-into-symsets $tmpdir
|
||||
|
||||
shopt -s nullglob
|
||||
for symset in $tmpdir/*; do
|
||||
class=${symset##*/} ; class=${class%.*}
|
||||
echo "kernel($flavor:$class) = ${symset##*.}"
|
||||
done
|
||||
|
||||
reference=
|
||||
# TODO
|
||||
# reference="--reference=$builddir/kabi/..."
|
||||
$sourcedir/symsets.pl --list-symsets --modules=$modlist $symvers $reference |\
|
||||
sed -rn 's/^(.+)\.([a-z0-9]{16})/kernel('$flavor':\1) = \2/p'
|
||||
|
||||
|
235
kabi-checks
235
kabi-checks
@ -1,235 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Tool to do kABI checks.
|
||||
# (c) Kurt Garloff <garloff@suse.de>, GNU GPL, 11/2005
|
||||
# $Id$
|
||||
#
|
||||
# This tool looks at the generated symvers and compares it to the
|
||||
# reference file (if existent). It prints warnings for changed symbol
|
||||
# versions.
|
||||
#
|
||||
# Return value:
|
||||
# 0 -- no changes
|
||||
# 1 -- usage/input error
|
||||
# 2 -- internal error
|
||||
# 4 -- only additions
|
||||
# >= 8 -- removed or changed symbols (see below)
|
||||
#
|
||||
# Severity classification:
|
||||
# - 8 -- 15: if it's not found in a list (commonsyms or usedsyms)
|
||||
# The score depends on the source; symbols in vmlinux are more
|
||||
# likely to be used by anyone.
|
||||
# - 16 -- 23: symbol is found in the list usedsyms
|
||||
# - 24 -- 31: symbol is found in the list commonsyms
|
||||
|
||||
severities="
|
||||
# unimportant ---. .--- important
|
||||
# v v
|
||||
|
||||
drivers/base/* 13
|
||||
drivers/char/ipmi/* 10
|
||||
drivers/char/tpm/tpm 9
|
||||
drivers/hwmon/* 10
|
||||
drivers/i2c/i2c-core 9
|
||||
drivers/md/* 13
|
||||
drivers/message/fusion/* 6
|
||||
drivers/pci/* 12
|
||||
drivers/pci/hotplug/pci_hotplug 10
|
||||
drivers/scsi/libata 12
|
||||
drivers/scsi/scsi* 12
|
||||
drivers/scsi/*/scsi_transport_* 12
|
||||
drivers/scsi/libiscsi* 12
|
||||
drivers/ide/ide-core 11
|
||||
drivers/usb/core/usbcore 10
|
||||
drivers/usb/serial/usbserial 9
|
||||
fs/dmapi/dmapi 11
|
||||
fs/fat/fat 11
|
||||
fs/jbd/jbd 11
|
||||
net/ipv4/netfilter/ip_tables 9
|
||||
vmlinux 15
|
||||
"
|
||||
|
||||
# Turning off UTF-8 processing provides a major speedup.
|
||||
export LC_ALL=C
|
||||
|
||||
echo "${0##*/} $@"
|
||||
|
||||
unset quiet verbose
|
||||
if [ "$1" = "-q" ]; then
|
||||
shift
|
||||
quiet=1
|
||||
fi
|
||||
if [ "$1" = "-v" ]; then
|
||||
shift
|
||||
verbose=1
|
||||
fi
|
||||
|
||||
if [ $# -lt 2 -o $# -gt 4 ]; then
|
||||
echo "Usage: ${0##*/} [-q] [-v] reference symvers [commonsyms [usedsyms]]" >&2
|
||||
exit 1
|
||||
fi
|
||||
for file in "$@"; do
|
||||
[ -r "$file" ] && continue
|
||||
echo "Cannot read from '$file'" >&2
|
||||
exit 1
|
||||
done
|
||||
|
||||
declare_symbol_severity() {
|
||||
declare severity=$1
|
||||
|
||||
while [ $# -ge 2 ]; do
|
||||
if ! eval "severity_of_${2//[^a-zA-Z0-9_]/_}=$severity"; then
|
||||
echo "Internal error" >&2
|
||||
exit 2
|
||||
fi
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
consistency_check() {
|
||||
declare_symbol_severity 16 consistency_check_foo
|
||||
check_modified_symbols >/dev/null <<-EOF
|
||||
consistency_check_foo -0x12345678 consistency/check/foo +0x98765432 consistency/check/foo
|
||||
EOF
|
||||
if [ $? -ne 31 ]; then
|
||||
echo "Internal error" >&2
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
|
||||
#set -x
|
||||
eval '
|
||||
severity() {
|
||||
case $2 in
|
||||
'"$(
|
||||
|
||||
( echo "$severities"
|
||||
echo "consistency/check/* 15" # For the consistency test
|
||||
) \
|
||||
| sed -e '/^#/d' -e '/^$/d' \
|
||||
| while read glob severity; do
|
||||
echo " ($glob) _rc=$severity ;;"
|
||||
done
|
||||
|
||||
)"'
|
||||
(*) _rc=8 ;;
|
||||
esac
|
||||
|
||||
# Is a particular severity defined for this symbol?
|
||||
declare severity=severity_of_$1
|
||||
if [ -n "${!severity}" ]; then
|
||||
((_rc += ${!severity}))
|
||||
fi
|
||||
|
||||
return $_rc
|
||||
}'
|
||||
#set +x
|
||||
|
||||
grab_symvers_from_rpm() {(
|
||||
# (Run in subshell to make trap work.)
|
||||
|
||||
tmpdir=$(mktemp -t -d ${0##*/}.XXXXXX)
|
||||
trap "cd /; rm -rf $tmpdir" EXIT
|
||||
cd $tmpdir
|
||||
rpm2cpio "$file" \
|
||||
| cpio -dim --quiet './boot/symvers-*.gz'
|
||||
set -- boot/symvers-*.gz
|
||||
if ! [ -e "$1" ]; then
|
||||
echo "Failed to extract symvers-*.gz from $file" >&2
|
||||
exit 1
|
||||
fi
|
||||
zcat "$1"
|
||||
)}
|
||||
|
||||
grab_symvers() {
|
||||
declare tag=$1 file=$2 pwd tmpdir
|
||||
|
||||
case "$(file -b - <"$file")" in
|
||||
gzip*)
|
||||
zcat "$file"
|
||||
;;
|
||||
RPM*)
|
||||
grab_symvers_from_rpm "$file"
|
||||
;;
|
||||
*)
|
||||
cat "$file"
|
||||
;;
|
||||
esac \
|
||||
| sed -e "/^#/d" -e "s/^/$tag/" \
|
||||
| sort -k 2
|
||||
}
|
||||
|
||||
filter_out_identical_symbols() {
|
||||
# This expression works no matter how many columns the files have.
|
||||
grep -v -P '^\S+ -(\S+)( \S+)+ \+\1( \S+)+$'
|
||||
}
|
||||
|
||||
check_modified_symbols() {
|
||||
declare -i RC=0 _rc
|
||||
declare ignored
|
||||
|
||||
while read symbol tail; do
|
||||
# Split in half no matter how many columns the files have.
|
||||
set -- $tail ; half=$(($#/2+1))
|
||||
version1=$1 ; version2=${!half} ; shift
|
||||
source1=$1 ; source2=${!half} ; shift
|
||||
|
||||
case "$version1$version2" in
|
||||
-\#*)
|
||||
continue
|
||||
;;
|
||||
-*+* | -*)
|
||||
ignored=
|
||||
case "$version1" in
|
||||
*=\>*)
|
||||
if [ "${version1#*=>}" = "${version2#+}" ]; then
|
||||
version1="${version1%=>*}"
|
||||
ignored="; ignored"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
severity $symbol $source1 && continue
|
||||
_rc=$?
|
||||
if [ -z "$quiet" ]; then
|
||||
echo -n "Warning: $source1: $symbol(${version1#-}) "
|
||||
if [ -n "$version2" ]; then
|
||||
echo -n "changed to $symbol(${version2#+})"
|
||||
[ "$source1" != "$source2" ] &&
|
||||
echo -n " and moved to $source2"
|
||||
else
|
||||
echo -n "removed"
|
||||
fi
|
||||
echo " (badness ${_rc}$ignored)"
|
||||
fi
|
||||
[ -n "$ignored" ] && _rc=0
|
||||
;;
|
||||
*)
|
||||
if [ -n "$verbose" ]; then
|
||||
echo " new symbol $symbol: ${version1#+}"
|
||||
fi
|
||||
_rc=4
|
||||
;;
|
||||
esac
|
||||
if [ ${_rc} -gt $RC ]; then RC=${_rc}; fi
|
||||
done
|
||||
return $RC
|
||||
}
|
||||
|
||||
sort_by_badness() {
|
||||
sed -e 's/.*(badness \([0-9]\+\)).*/\1 &/' -e 't' -e 's/^/0 /' \
|
||||
| sort -n -r \
|
||||
| sed -e 's/^[0-9]* //'
|
||||
}
|
||||
|
||||
consistency_check
|
||||
|
||||
[ -n "$4" ] && declare_symbol_severity 8 $(< $4)
|
||||
[ -n "$3" ] && declare_symbol_severity 16 $(< $3)
|
||||
|
||||
join -j 2 -a 1 -a 2 <(grab_symvers - $1) <(grab_symvers + $2) \
|
||||
| filter_out_identical_symbols \
|
||||
| check_modified_symbols \
|
||||
| sort_by_badness
|
||||
|
||||
RC=${PIPESTATUS[2]}
|
||||
echo "kABI verdict: $RC"
|
||||
exit $RC
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06dc16bcf243d23dd1d0ebb0ae961a714108769196a67fb4033e1219c59821c4
|
||||
size 2274
|
||||
oid sha256:870770cdcde4eb01d819adbe6f319721074ff8fecc58902cfc87534796fae656
|
||||
size 2758
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-debug kernel-debug $(case debug in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/debug$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-debug
|
||||
Summary: A Debug Version of the Kernel
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -139,14 +139,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -196,7 +194,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -210,8 +208,8 @@ Only use this kernel when investigating problems.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -279,6 +277,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -305,7 +307,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -485,34 +487,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-debug ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-debug \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-debug -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -584,31 +558,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-debug/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-debug.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-debug -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -616,7 +600,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -716,8 +699,8 @@ This package contains only the base modules, required in all installs.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -758,8 +741,8 @@ This package contains additional modules not supported by Novell.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -787,8 +770,8 @@ Only use this kernel when investigating problems.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-debug-man
|
||||
%defattr(-,root,root)
|
||||
@ -797,6 +780,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-default kernel-default $(case default in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/default$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-default
|
||||
Summary: The Standard Kernel
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -158,14 +158,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -215,7 +213,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -228,8 +226,8 @@ The standard kernel for both uniprocessor and multiprocessor systems.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -297,6 +295,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -323,7 +325,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -503,34 +505,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-default ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-default \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-default -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -602,31 +576,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-default/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-default.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-default -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -634,7 +618,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -733,8 +716,8 @@ This package contains only the base modules, required in all installs.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -774,8 +757,8 @@ This package contains additional modules not supported by Novell.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -802,8 +785,8 @@ The standard kernel for both uniprocessor and multiprocessor systems.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-default-man
|
||||
%defattr(-,root,root)
|
||||
@ -812,6 +795,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -23,7 +23,7 @@ Url: http://www.kernel.org/
|
||||
Name: kernel-dummy
|
||||
Summary: Internal dummy package for synchronizing release numbers
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
AutoReqProv: off
|
||||
@ -36,8 +36,8 @@ Authors:
|
||||
--------
|
||||
Andreas Gruenbacher <agruen@suse.de>
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%install
|
||||
rm -rf %buildroot
|
||||
@ -49,6 +49,35 @@ echo dummy > %buildroot/etc/dummy
|
||||
/etc/dummy
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-kdump kernel-kdump $(case kdump in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/kdump$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-kdump
|
||||
Summary: kernel for kdump
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -136,14 +136,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -193,7 +191,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -209,8 +207,8 @@ crashed kernel.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -278,6 +276,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -304,7 +306,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -484,34 +486,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-kdump ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-kdump \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-kdump -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -583,31 +557,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-kdump/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-kdump.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-kdump -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -615,7 +599,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -717,8 +700,8 @@ This package contains only the base modules, required in all installs.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -761,8 +744,8 @@ This package contains additional modules not supported by Novell.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -792,8 +775,8 @@ crashed kernel.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-kdump-man
|
||||
%defattr(-,root,root)
|
||||
@ -802,6 +785,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-maxcpus kernel-maxcpus $(case maxcpus in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/maxcpus$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-maxcpus
|
||||
Summary: Kernel With Support For Many Processors
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -131,14 +131,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -188,7 +186,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -201,8 +199,8 @@ Kernel for multiprocessor systems with more than 128 processors.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -270,6 +268,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -296,7 +298,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -476,34 +478,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-maxcpus ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-maxcpus \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-maxcpus -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -575,31 +549,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-maxcpus/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-maxcpus.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-maxcpus -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -607,7 +591,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -704,8 +687,8 @@ Kernel for multiprocessor systems with more than 128 processors.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -743,8 +726,8 @@ Kernel for multiprocessor systems with more than 128 processors.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -771,8 +754,8 @@ Kernel for multiprocessor systems with more than 128 processors.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-maxcpus-man
|
||||
%defattr(-,root,root)
|
||||
@ -781,6 +764,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
144
kernel-pae.spec
144
kernel-pae.spec
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-pae kernel-pae $(case pae in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/pae$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-pae
|
||||
Summary: Kernel with PAE Support
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -133,14 +133,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -190,7 +188,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -210,8 +208,8 @@ that support it, regardless of the amount of main memory.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -279,6 +277,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -305,7 +307,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -485,34 +487,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-pae ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-pae \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-pae -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -584,31 +558,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-pae/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-pae.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-pae -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -616,7 +600,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -722,8 +705,8 @@ This package contains only the base modules, required in all installs.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -770,8 +753,8 @@ This package contains additional modules not supported by Novell.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -805,8 +788,8 @@ that support it, regardless of the amount of main memory.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-pae-man
|
||||
%defattr(-,root,root)
|
||||
@ -815,6 +798,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-ppc64 kernel-ppc64 $(case ppc64 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ppc64$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-ppc64
|
||||
Summary: Kernel for ppc64 Systems
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -138,14 +138,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -195,7 +193,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -222,8 +220,8 @@ Authors:
|
||||
Tom Gall <tom_gall@vnet.ibm.com>
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -291,6 +289,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -317,7 +319,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -497,34 +499,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-ppc64 ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-ppc64 \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-ppc64 -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -596,31 +570,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-ppc64/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-ppc64.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-ppc64 -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -628,7 +612,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -741,8 +724,8 @@ Authors:
|
||||
Tom Gall <tom_gall@vnet.ibm.com>
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -796,8 +779,8 @@ Authors:
|
||||
Tom Gall <tom_gall@vnet.ibm.com>
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -838,8 +821,8 @@ Authors:
|
||||
Tom Gall <tom_gall@vnet.ibm.com>
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-ppc64-man
|
||||
%defattr(-,root,root)
|
||||
@ -848,6 +831,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
144
kernel-ps3.spec
144
kernel-ps3.spec
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-ps3 kernel-ps3 $(case ps3 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/ps3$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-ps3
|
||||
Summary: kernel for ps3 bootloader
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -131,14 +131,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -188,7 +186,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -204,8 +202,8 @@ final system.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -273,6 +271,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -299,7 +301,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -479,34 +481,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-ps3 ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-ps3 \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-ps3 -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -578,31 +552,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-ps3/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-ps3.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-ps3 -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -610,7 +594,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -709,8 +692,8 @@ needs to be as small as possible.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -750,8 +733,8 @@ needs to be as small as possible.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -781,8 +764,8 @@ final system.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-ps3-man
|
||||
%defattr(-,root,root)
|
||||
@ -791,6 +774,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
144
kernel-s390.spec
144
kernel-s390.spec
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-s390 kernel-s390 $(case s390 in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/s390$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-s390
|
||||
Summary: The Standard Kernel
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -133,14 +133,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -190,7 +188,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -203,8 +201,8 @@ The standard kernel.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -272,6 +270,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -298,7 +300,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -478,34 +480,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-s390 ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-s390 \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-s390 -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -577,31 +551,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-s390/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-s390.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-s390 -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -609,7 +593,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -708,8 +691,8 @@ This package contains only the base modules, required in all installs.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -749,8 +732,8 @@ This package contains additional modules not supported by Novell.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -777,8 +760,8 @@ The standard kernel.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-s390-man
|
||||
%defattr(-,root,root)
|
||||
@ -787,6 +770,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -30,7 +30,7 @@ Url: http://www.kernel.org/
|
||||
Name: kernel-source
|
||||
Summary: The Linux Kernel Sources
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: Development/Sources
|
||||
AutoReqProv: off
|
||||
@ -63,17 +63,15 @@ Source30: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source37: README.SUSE
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: extract-modaliases
|
||||
Source48: macros.kernel-source
|
||||
Source49: kernel-module-subpackage
|
||||
Source50: symsets.pl
|
||||
Source50: kernel-syms.spec
|
||||
Source51: kernel-debug.spec
|
||||
Source52: kernel-default.spec
|
||||
@ -105,7 +103,7 @@ Prefix: /usr/src
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
%define my_builddir %_builddir/%{name}-%{version}
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,symsets.pl})
|
||||
%define symbols %(set -- $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
|
||||
@ -120,8 +118,8 @@ Authors:
|
||||
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -277,6 +275,35 @@ sed -e "s:@KERNELRELEASE@:$KERNELRELEASE:g" \
|
||||
%files -f kernel-source.files
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -29,7 +29,7 @@ Url: http://www.kernel.org/
|
||||
Name: kernel-syms
|
||||
Summary: Kernel Symbol Versions (modversions)
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: Development/Sources
|
||||
AutoReqProv: off
|
||||
@ -94,8 +94,8 @@ Authors:
|
||||
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
echo "Architecture symbol(s):" %symbols
|
||||
@ -152,6 +152,35 @@ done
|
||||
/lib/modules/*/build
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-trace kernel-trace $(case trace in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/trace$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-trace
|
||||
Summary: The Realtime Linux Kernel
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -139,14 +139,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -196,7 +194,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -215,8 +213,8 @@ Authors:
|
||||
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -284,6 +282,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -310,7 +312,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -490,34 +492,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-trace ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-trace \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-trace -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -589,31 +563,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-trace/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-trace.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-trace -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -621,7 +605,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -724,8 +707,8 @@ Authors:
|
||||
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -769,8 +752,8 @@ Authors:
|
||||
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -803,8 +786,8 @@ Authors:
|
||||
|
||||
see /usr/src/linux/CREDITS for more details.
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-trace-man
|
||||
%defattr(-,root,root)
|
||||
@ -813,6 +796,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-vanilla kernel-vanilla $(case vanilla in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/vanilla$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-vanilla
|
||||
Summary: The Standard Kernel - without any SUSE patches
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -155,14 +155,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -212,7 +210,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -225,8 +223,8 @@ The standard kernel - without any SUSE patches
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -294,6 +292,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -320,7 +322,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -500,34 +502,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-vanilla ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-vanilla \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-vanilla -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -599,31 +573,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-vanilla/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-vanilla.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-vanilla -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -631,7 +615,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -728,8 +711,8 @@ The standard kernel - without any SUSE patches
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -767,8 +750,8 @@ The standard kernel - without any SUSE patches
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -795,8 +778,8 @@ The standard kernel - without any SUSE patches
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-vanilla-man
|
||||
%defattr(-,root,root)
|
||||
@ -805,6 +788,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,3 +1,53 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:17:09 CET 2008 - agruen@suse.de
|
||||
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:06:08 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:04:05 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 20:03:17 CET 2008 - agruen@suse.de
|
||||
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 18:13:58 CET 2008 - mmarek@suse.cz
|
||||
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de
|
||||
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 21 16:10:08 CET 2008 - jjolly@suse.de
|
||||
|
||||
|
144
kernel-xen.spec
144
kernel-xen.spec
@ -38,7 +38,7 @@
|
||||
%if %{build_flavor} == "vanilla"
|
||||
%define build_vanilla 1
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,find-provides,list-exported-symbols,split-into-symsets,modversions,kabi-checks})
|
||||
%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,check-supported-list,built-in-where,modversions,symsets.pl})
|
||||
%define symbols %(set -- kernel-xen kernel-xen $(case xen in (rt|rt_*) echo RT ;; esac) $(%_sourcedir/arch-symbols %_target_cpu) $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
|
||||
%define cpu_arch_flavor %(%_sourcedir/guards %symbols < %_sourcedir/config.conf | grep '/xen$')
|
||||
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
|
||||
@ -59,7 +59,7 @@
|
||||
Name: kernel-xen
|
||||
Summary: The Xen Kernel
|
||||
Version: 2.6.27.7
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
@ -136,14 +136,12 @@ Source31: guards
|
||||
Source32: config-subst
|
||||
Source33: check-for-config-changes
|
||||
Source34: check-supported-list
|
||||
Source38: kabi-checks
|
||||
Source40: build-source-timestamp
|
||||
Source41: built-in-where
|
||||
Source42: list-exported-symbols
|
||||
Source43: split-into-symsets
|
||||
Source44: find-provides
|
||||
Source45: module-renames
|
||||
Source46: modversions
|
||||
Source47: symsets.pl
|
||||
Source100: config.tar.bz2
|
||||
Source101: patches.arch.tar.bz2
|
||||
Source102: patches.drivers.tar.bz2
|
||||
@ -193,7 +191,7 @@ Obsoletes: ralink-rt2860-kmp
|
||||
# extensions like <(...).
|
||||
%define _buildshell /bin/bash
|
||||
# Provide the exported symbols as "ksym(symbol) = hash"
|
||||
%define __find_provides %_sourcedir/find-provides %name
|
||||
%define __find_provides %my_builddir/find-provides %name
|
||||
# Will modules not listed in supported.conf abort the kernel build (0/1)?
|
||||
%define supported_modules_check 0
|
||||
%define tolerate_unknown_new_config_options 0
|
||||
@ -209,8 +207,8 @@ unprivileged ("xenU") kernel.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-2.6.27.tar.bz2 ]; then
|
||||
@ -278,6 +276,10 @@ MAKE_ARGS="\$MAKE_ARGS CONFIG_DEBUG_INFO=y"
|
||||
EOF
|
||||
%endif
|
||||
echo CONFIG_MODULES=%CONFIG_MODULES >> ../.rpm-defs
|
||||
sed 's:^sourcedir=.*:sourcedir="%_sourcedir":;
|
||||
s:^builddir=.*:builddir="%my_builddir":' \
|
||||
%_sourcedir/find-provides >%my_builddir/find-provides
|
||||
chmod +x %my_builddir/find-provides
|
||||
|
||||
%build
|
||||
source .rpm-defs
|
||||
@ -304,7 +306,7 @@ export KBUILD_BUILD_VERSION="$(grep SHA1_ID %_sourcedir/build-source-timestamp |
|
||||
export KBUILD_BUILD_TIMESTAMP="$(head -n 1 %_sourcedir/build-source-timestamp)"
|
||||
# The following branch/timestamp will end up in Oopses.
|
||||
export OOPS_TIMESTAMP="$(
|
||||
echo -n $(sed -ne 's/^CVS Branch: \(.*\)/\1-/p' \
|
||||
echo -n $(sed -ne 's/^GIT Branch: \(.*\)/\1-/p' \
|
||||
%_sourcedir/build-source-timestamp)
|
||||
head -n 1 %_sourcedir/build-source-timestamp \
|
||||
| tr -dc 0-9)"
|
||||
@ -484,34 +486,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
# $(uname -m) to the ARCH directory.
|
||||
[ -e %buildroot/$obj_dir/%_target_cpu ] \
|
||||
|| ln -sf $cpu_arch %buildroot/$obj_dir/%_target_cpu
|
||||
# Check for kABI changes
|
||||
KABI=0
|
||||
if [ -e %my_builddir/kabi/$cpu_arch/symvers-xen ]; then
|
||||
%_sourcedir/kabi-checks \
|
||||
%my_builddir/kabi/$cpu_arch/symvers-xen \
|
||||
Module.symvers \
|
||||
%my_builddir/kabi/commonsyms \
|
||||
%my_builddir/kabi/usedsyms \
|
||||
|| KABI=$?
|
||||
fi
|
||||
if [ $KABI -gt %tolerate_kabi_changes ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-xen -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
if [ $KABI -ge 8 ]; then
|
||||
echo "To find out which types have changed relative to the reference" \
|
||||
"symbols, diff the symtypes.gz files of the reference kernel" \
|
||||
"against the symtypes.gz file from this build."
|
||||
fi
|
||||
# We were building in %my_builddir/linux-2.6.27, but the sources will
|
||||
# later be installed in /usr/src/linux-2.6.27-%source_rel. Fix up the
|
||||
# build symlink.
|
||||
@ -583,31 +557,41 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
find lib/modules/$KERNELRELEASE -type f -name '*.ko' -printf '/%%p\n'
|
||||
) > %my_builddir/base-modules
|
||||
%endif
|
||||
exported_by_modules() {
|
||||
local module
|
||||
while read module; do
|
||||
%_sourcedir/list-exported-symbols $RPM_BUILD_ROOT$module
|
||||
done
|
||||
}
|
||||
# generate symsets and check for kabi changes
|
||||
KABI=0
|
||||
mkdir %my_builddir/{base,main,extra}
|
||||
( awk '$3 == "vmlinux" || $3 ~ /\/built-in$/ { print }' Module.symvers
|
||||
exported_by_modules < %my_builddir/base-modules
|
||||
) | %_sourcedir/split-into-symsets %my_builddir/base
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--symvers=Module.symvers \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/base-modules) \
|
||||
--output-dir=%my_builddir/base
|
||||
# TODO:
|
||||
# --reference=%my_builddir/kabi/$cpu_arch/symsets-xen/base \
|
||||
# --check-kabi \
|
||||
# --commonsyms=%my_builddir/kabi/commonsyms \
|
||||
# --usedsyms=%my_builddir/kabi/usedsyms
|
||||
# --severities=%my_builddir/kabi/severities \
|
||||
# --max-badness=%tolerate_kabi_changes || KABI=?
|
||||
%if %split_packages
|
||||
exported_by_modules < %my_builddir/main-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/main
|
||||
exported_by_modules < %my_builddir/unsupported-modules \
|
||||
| %_sourcedir/split-into-symsets %my_builddir/extra
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/main-modules) \
|
||||
--output-dir=%my_builddir/main
|
||||
%_sourcedir/symsets.pl --generate-symsets \
|
||||
--modules=<(sed 's:^/:%buildroot/:' %my_builddir/unsupported-modules) \
|
||||
--output-dir=%my_builddir/extra
|
||||
%endif
|
||||
# Notes:
|
||||
# - We rely on list-exported-symbols to correctly extract all exported
|
||||
# symbols from modules; Module.symvers is disregarded for that.
|
||||
# - We recompute the symsets in find-provides. Take care to keep the
|
||||
# algorithm the same in both places.
|
||||
## Preserve exports from previous kernels when possible.
|
||||
#old_symsets=%my_builddir/kabi/$cpu_arch/symsets-xen.tar.gz
|
||||
#[ -e $old_symsets ] || old_symsets=
|
||||
# FIXME: implement
|
||||
if [ $KABI -ne 0 ]; then
|
||||
echo "kABI changes of badness $KABI exceed the maximum allowed badness" \
|
||||
"of %tolerate_kabi_changes. Please try to avoid the kABI changes."
|
||||
if [ ! -e %my_builddir/kabi/$cpu_arch/ignore-xen -a \
|
||||
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
|
||||
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
|
||||
"directory to build this kernel even though its badness is" \
|
||||
"higher than allowed for an official kernel."
|
||||
exit 1
|
||||
fi
|
||||
# Indicate the ABI badness in build result emails.
|
||||
echo "KABI BADNESS $KABI" > %_rpmdir/%_arch/mbuild_subject.tag
|
||||
fi
|
||||
symsets=%my_builddir/symsets-$KERNELRELEASE
|
||||
mkdir $symsets
|
||||
find %my_builddir/{base,main,extra} -type f \
|
||||
@ -615,7 +599,6 @@ if [ $CONFIG_MODULES = y ]; then
|
||||
tar c -C ${symsets%/*} ${symsets##*/} \
|
||||
| gzip -9 \
|
||||
> %buildroot/boot/symsets-$KERNELRELEASE.tar.gz
|
||||
# FIXME: check for abi changes
|
||||
# Set up some module aliases
|
||||
install -d -m 755 %buildroot/etc/modprobe.d/
|
||||
install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
|
||||
@ -717,8 +700,8 @@ This package contains only the base modules, required in all installs.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun base -f preun-base.sh
|
||||
|
||||
@ -761,8 +744,8 @@ This package contains additional modules not supported by Novell.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%preun extra -f preun-extra.sh
|
||||
|
||||
@ -792,8 +775,8 @@ unprivileged ("xenU") kernel.
|
||||
|
||||
|
||||
|
||||
Source Timestamp: 2008-11-21 16:10:15 +0100
|
||||
GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
Source Timestamp: 2008-11-21 20:17:17 +0100
|
||||
GIT Revision: f4a5381e7e6b435efbcac2ec00c00b4fbb6a3294
|
||||
|
||||
%files -n kernel-xen-man
|
||||
%defattr(-,root,root)
|
||||
@ -802,6 +785,35 @@ GIT Revision: 35d2d1415e587dd675f7c51c926f445d468b7639
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- config/x86_64/maxcpus: Delete.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/kernel-binary.spec.in: s/CVS/GIT/
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: fix module names in export lists
|
||||
(kernel/irq/built-in was printed as irq/built-in)
|
||||
* Fri Nov 21 2008 agruen@suse.de
|
||||
- Update x86_64/{debug,default,trace,vanilla} config files:
|
||||
increase NR_CPUS to 512.
|
||||
* Fri Nov 21 2008 mmarek@suse.cz
|
||||
- rpm/symsets.pl: Replace the bash and awk scripts around symsets
|
||||
and kabi checking with a single script that generates symsets,
|
||||
reuses symsets from older kernels and checks for kabi changes for
|
||||
each of the split packages (kabi checking and symset reuse
|
||||
require a set of reference files, which does not exist yet)
|
||||
- rpm/list-exported-symbols: Delete.
|
||||
- rpm/split-into-symsets: Delete.
|
||||
- scripts/kabi-checks: Delete.
|
||||
- kabi/severities: table of kabi change severities
|
||||
- rpm/built-in-where, rpm/find-provides,
|
||||
rpm/kernel-binary.spec.in, rpm/kernel-source.spec.in,
|
||||
scripts/tar-up.sh: update to use symsets.pl
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.drivers/ixgbe-sfp.patch: include additional fixes from
|
||||
Intel (bnc#442411)
|
||||
* Fri Nov 21 2008 kkeil@suse.de
|
||||
- patches.fixes/igb_ethtool.patch: add missing ethtool hooks
|
||||
(bnc#435551)
|
||||
* Fri Nov 21 2008 jjolly@suse.de
|
||||
- patches.arch/s390-04-08-cio-ungroup-race-fix.patch:
|
||||
cio: ccwgroup online vs. ungroup race condition
|
||||
|
@ -1,57 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Generate a Module.symvers-like list of symbols a module exports.
|
||||
|
||||
usage() {
|
||||
echo "USAGE: ${0##*/} [-n name] objfile" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
options=`getopt -o n: -- "$@"`
|
||||
[ $? -eq 0 ] || usage
|
||||
|
||||
eval set -- "$options"
|
||||
while :; do
|
||||
case "$1" in
|
||||
-n)
|
||||
opt_n=$2
|
||||
shift
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
[ $# -eq 1 ] || usage
|
||||
|
||||
if [ -z "$opt_n" ]; then
|
||||
opt_n=${1%.ko}
|
||||
opt_n=${opt_n#*/kernel/}
|
||||
fi
|
||||
|
||||
objdump -t "$1" | awk '
|
||||
BEGIN { known_types["__ksymtab"] = "EXPORT_SYMBOL"
|
||||
known_types["__ksymtab_unused"] = "EXPORT_UNUSED_SYMBOL"
|
||||
known_types["__ksymtab_gpl"] = "EXPORT_SYMBOL_GPL"
|
||||
known_types["__ksymtab_unused_gpl"] = "EXPORT_UNUSED_SYMBOL_GPL"
|
||||
known_types["__ksymtab_gpl_future"] = "EXPORT_SYMBOL_GPL_FUTURE"
|
||||
}
|
||||
{ if (NF < 3)
|
||||
next
|
||||
if (substr($0, index($0, " ") + 6, 1) == "d")
|
||||
next # debug symbol
|
||||
if (gsub(/^__crc_/, "", $NF))
|
||||
crcs[$NF] = gensub(/^00000000(.+)/, "\\1", "", $1)
|
||||
else if (gsub(/^__ksymtab_/, "", $NF) &&
|
||||
($(NF-2) in known_types))
|
||||
types[$NF] = known_types[$(NF-2)]
|
||||
}
|
||||
END { for (sym in types) {
|
||||
crc = (sym in crcs ? crcs[sym] : "00000000")
|
||||
print "0x" crc "\t" sym "\t" module "\t" types[sym]
|
||||
}
|
||||
}
|
||||
' module="$opt_n"
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1b7a237b3386769eae29230cf80cea6ff884c76435e155e8d4fa86a8f535cd02
|
||||
size 128
|
||||
oid sha256:c40a2498823161152c6b51ef64055d302030cee0c0bfaceb0bde4d050698b236
|
||||
size 127
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cde325934227947db4563f307a05b3201ca845b3f6508e03ce0a093f9168414c
|
||||
size 2629961
|
||||
oid sha256:f50ec42a93db8ed935d709ac41ecb8cde9f6205706f4822703a8f1c7f5af4424
|
||||
size 2630411
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:08dac944f2cc606076845eaf2b84da3ad7010f206f874a2650f6cc21c8a4ed52
|
||||
size 126317
|
||||
oid sha256:a2d04feadb5354ec358ed49f2147635e717330fb6b808e3a664aa06ad8876907
|
||||
size 126477
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:416118ba6f0ee0393c30d6972cbffea9b122f6312b6fe94d58f3474e7c185c15
|
||||
size 124
|
||||
oid sha256:e3de70b1fdf28facb1d2cabbd292b162ba34e26d742c584b395c4435a00a4915
|
||||
size 122
|
||||
|
@ -736,6 +736,8 @@
|
||||
|
||||
patches.drivers/e1000e_add_ECC
|
||||
|
||||
patches.fixes/igb_ethtool.patch
|
||||
|
||||
patches.drivers/tg3-Add-57780-ASIC-revision.patch
|
||||
patches.drivers/broadcom-Add-support-for-the-57780-integrated-PHY.patch
|
||||
patches.drivers/bnx2x-eeh.patch
|
||||
|
@ -1,40 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
usage() {
|
||||
echo "Usage: ${0##*/} {dir} < Module.symvers"
|
||||
exit $1
|
||||
}
|
||||
|
||||
[ $# -eq 1 ] || usage 1
|
||||
dir=$1
|
||||
|
||||
tmpdir=$(mktemp -dt ${0##*/}.XXXXXXXXXX)
|
||||
trap "rm -rf $tmpdir" EXIT
|
||||
|
||||
split_into_sets() {
|
||||
local dir=$1
|
||||
|
||||
awk '
|
||||
{ set = gensub(/\/[^\/]+$/, "", "", $3)
|
||||
sets[set] = sets[set] $0 "\n"
|
||||
}
|
||||
END {
|
||||
for (set in sets) {
|
||||
filename = gensub(/\//, "_", "g", set)
|
||||
printf "%s", sets[set] > dir "/" filename
|
||||
}
|
||||
}
|
||||
' dir="$dir"
|
||||
}
|
||||
|
||||
sort -k2 \
|
||||
| split_into_sets "$tmpdir"
|
||||
|
||||
shopt -s nullglob
|
||||
set -- $tmpdir/*
|
||||
if [ $# -ne 0 ]; then
|
||||
md5sum "$@" \
|
||||
| while read md5sum set; do
|
||||
cp $set $dir/${set##*/}.${md5sum:0:16}
|
||||
done
|
||||
fi
|
392
symsets.pl
Normal file
392
symsets.pl
Normal file
@ -0,0 +1,392 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use diagnostics;
|
||||
|
||||
use Digest::MD5 qw(md5_hex);
|
||||
use Getopt::Long;
|
||||
use Data::Dumper;
|
||||
|
||||
|
||||
our $usage =
|
||||
"Usage:
|
||||
$0 --list-exported-symbols ...
|
||||
$0 --generate-symsets [--reference=DIR] --output-dir=DIR ...
|
||||
$0 --list-symsets [--reference=DIR] ...
|
||||
$0 --check-kabi --reference=DIR ...
|
||||
";
|
||||
our ($opt_verbose);
|
||||
our $kabi_badness = 0;
|
||||
our (%commonsyms, %usedsyms, @severities);
|
||||
our ($opt_list_exp, $opt_gen_sets, $opt_list_sets, $opt_check_kabi) = (0,0,0,0);
|
||||
our ($opt_max_badness, $opt_commonsyms, $opt_usedsyms, $opt_severities);
|
||||
our ($opt_output_dir, $opt_reference, $opt_modules, $opt_symvers_file);
|
||||
|
||||
sub main {
|
||||
my $res = GetOptions(
|
||||
'list-exported-symbols' => \$opt_list_exp,
|
||||
'generate-symsets' => \$opt_gen_sets,
|
||||
'list-symsets' => \$opt_list_sets,
|
||||
'check-kabi' => \$opt_check_kabi,
|
||||
|
||||
'max-badness=i' => \$opt_max_badness,
|
||||
'commonsyms|common-syms=s' => \$opt_commonsyms,
|
||||
'usedsyms|used-syms=s' => \$opt_usedsyms,
|
||||
'severities=s' => \$opt_severities,
|
||||
|
||||
'symvers-file=s' => \$opt_symvers_file,
|
||||
'modules=s' => \$opt_modules,
|
||||
'reference=s' => \$opt_reference,
|
||||
|
||||
'output-dir=s' => \$opt_output_dir,
|
||||
'verbose|v' => \$opt_verbose,
|
||||
);
|
||||
# boring option checking
|
||||
my $opt_err = sub {
|
||||
print STDERR "ERROR: @_\n";
|
||||
$res = 0;
|
||||
};
|
||||
&$opt_err("Please choose one of --list-exported-symbols, --generate-symsets, --list-symsets or --check-kabi")
|
||||
if ($opt_list_exp + $opt_gen_sets + $opt_list_sets > 1 ||
|
||||
!($opt_list_exp + $opt_gen_sets + $opt_list_sets + $opt_check_kabi));
|
||||
&$opt_err("--check-kabi doesn't work with --list-exported-symbols")
|
||||
if ($opt_list_exp && $opt_check_kabi);
|
||||
&$opt_err("--check-kabi requires --reference")
|
||||
if ($opt_check_kabi && !$opt_reference);
|
||||
&$opt_err("--output-dir only makes sense with --generate-symsets")
|
||||
if ($opt_output_dir && !$opt_gen_sets);
|
||||
&$opt_err("--generate-symsets requires --output-dir")
|
||||
if ($opt_gen_sets && !$opt_output_dir);
|
||||
if (!$opt_check_kabi) {
|
||||
for my $opt qw(max-badness commonsyms usedsyms severities) {
|
||||
no strict 'refs';
|
||||
my $var = "opt_$opt";
|
||||
$var =~ s/-/_/g;
|
||||
if (defined(${$var})) {
|
||||
&$opt_err("--$opt only makes sense with --check-kabi");
|
||||
}
|
||||
}
|
||||
}
|
||||
# get list of modules
|
||||
my @modules;
|
||||
if (defined($opt_modules)) {
|
||||
my $fh;
|
||||
if ($opt_modules eq '-') {
|
||||
open($fh, '<&STDIN');
|
||||
} else {
|
||||
open($fh, '<', $opt_modules) or die "Can't open module list $opt_modules: $!\n";
|
||||
}
|
||||
@modules = <$fh>;
|
||||
chomp(@modules);
|
||||
close($fh);
|
||||
} else {
|
||||
@modules = @ARGV;
|
||||
}
|
||||
if (@modules == 0) {
|
||||
&$opt_err("No modules supplied");
|
||||
}
|
||||
if (!$res) {
|
||||
print STDERR $usage;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# get list of exports
|
||||
my @exports;
|
||||
for my $file (@modules) {
|
||||
push(@exports, module_exports($file));
|
||||
}
|
||||
if (defined($opt_symvers_file)) {
|
||||
push(@exports, builtin_exports(parse_symset($opt_symvers_file)));
|
||||
}
|
||||
if ($opt_list_exp) {
|
||||
print format_exports(@exports);
|
||||
exit 0;
|
||||
}
|
||||
|
||||
# generate symsets and optionally check kabi
|
||||
my (@ref, @sets);
|
||||
@sets = split_into_symsets(@exports);
|
||||
if (defined($opt_reference)) {
|
||||
@ref = load_symsets($opt_reference);
|
||||
if ($opt_check_kabi) {
|
||||
load_kabi_files($opt_commonsyms, $opt_usedsyms, $opt_severities);
|
||||
}
|
||||
# records kabi breakage if $opt_check_kabi is set
|
||||
preserve_symsets(\@ref, \@sets);
|
||||
}
|
||||
if ($opt_gen_sets) {
|
||||
write_symsets($opt_output_dir, @sets);
|
||||
} elsif ($opt_list_sets) {
|
||||
write_symsets(undef, @sets);
|
||||
}
|
||||
if ($kabi_badness) {
|
||||
print STDERR "KABI: badness is $kabi_badness";
|
||||
if (!defined($opt_max_badness) || $kabi_badness <= $opt_max_badness) {
|
||||
print STDERR " (tolerated)\n";
|
||||
} else {
|
||||
print STDERR " (exceeds threshold $opt_max_badness), aborting\n";
|
||||
exit 1;
|
||||
}
|
||||
}
|
||||
exit 0;
|
||||
}
|
||||
|
||||
# structures used:
|
||||
# %export:
|
||||
# (crc => $crc, sym => $sym, mod => $module, type => $type)
|
||||
# @exportlist
|
||||
# ({crc => $crc, sym => $sym, mod => $module, type => $type}, ...)
|
||||
# @symset:
|
||||
# ($name, [{crc => $crc, sym => $sym, mod => $module, type => $type}, ...])
|
||||
# @symsetlist:
|
||||
# (
|
||||
# [$name, [{crc => $crc, sym => $sym, mod => $module, type => $type}, ...],
|
||||
# ...
|
||||
# )
|
||||
#
|
||||
|
||||
# parse a Modules.symvers-style file
|
||||
# returns an exportlist
|
||||
sub parse_symset {
|
||||
my ($file) = @_;
|
||||
my @res;
|
||||
|
||||
open(my $fh, '<', $file) or die "Error opening $file: $!\n";
|
||||
while (<$fh>) {
|
||||
my @l = split(/\s+/);
|
||||
if (@l < 4) {
|
||||
print STDERR "$file:$.: unknown line\n";
|
||||
next;
|
||||
}
|
||||
$l[0] =~ s/^0x//;
|
||||
push(@res, {crc => $l[0], sym => $l[1], mod => $l[2], type => $l[3]});
|
||||
}
|
||||
close($fh);
|
||||
return @res;
|
||||
}
|
||||
|
||||
# greps an exportlist for built-in symbols
|
||||
sub builtin_exports {
|
||||
return grep { $_->{mod} =~ /(^vmlinux$)|(\/built-in$)/ } @_;
|
||||
}
|
||||
|
||||
my %export_types = (
|
||||
__ksymtab => "EXPORT_SYMBOL",
|
||||
__ksymtab_unused => "EXPORT_UNUSED_SYMBOL",
|
||||
__ksymtab_gpl => "EXPORT_SYMBOL_GPL",
|
||||
__ksymtab_unused_gpl => "EXPORT_UNUSED_SYMBOL_GPL",
|
||||
__ksymtab_gpl_future => "EXPORT_SYMBOL_GPL_FUTURE"
|
||||
);
|
||||
# returns an exportlist for a given module
|
||||
sub module_exports {
|
||||
my ($file) = @_;
|
||||
my (%crcs, %types, @res);
|
||||
my $mod = $file;
|
||||
$mod =~ s/.*\/lib\/modules\/[^\/]*\/kernel\///;
|
||||
$mod =~ s/\.(k?o|a)$//;
|
||||
|
||||
open(my $pipe, '-|', 'objdump', '-t', $file) or die "objdump -t $file: $!\n";
|
||||
while (<$pipe>) {
|
||||
my $l = $_;
|
||||
my @l = split(/\s+/);
|
||||
next if (@l < 3);
|
||||
next if ($l =~ /^[^ ]* .....d/); # debug symbol
|
||||
my $sym = $l[$#l];
|
||||
my $sec = $l[$#l - 2];
|
||||
if ($sym =~ /^__crc_(.*)/) {
|
||||
$crcs{$1} = $l[0];
|
||||
$crcs{$1} =~ s/^0{8}//;
|
||||
} elsif ($sym =~ /^__ksymtab_(.*)/ && exists($export_types{$sec})) {
|
||||
$types{$1} = $export_types{$sec};
|
||||
}
|
||||
}
|
||||
close($pipe);
|
||||
if ($? != 0) {
|
||||
die "objdump returned an error\n";
|
||||
}
|
||||
for my $sym (keys(%types)) {
|
||||
push(@res, {sym => $sym, crc => $crcs{$sym} || "0"x8, mod => $mod,
|
||||
type => $types{$sym}});
|
||||
}
|
||||
return @res;
|
||||
}
|
||||
|
||||
# format an exportlist for output
|
||||
sub format_exports {
|
||||
my $res = "";
|
||||
for my $exp (sort { $a->{sym} cmp $b->{sym} } @_) {
|
||||
$res .= "0x$exp->{crc}\t$exp->{sym}\t$exp->{mod}\t$exp->{type}\n";
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
# splits exports by directories, returns a symsetlist
|
||||
sub split_into_symsets {
|
||||
my %sets;
|
||||
|
||||
for my $exp (@_) {
|
||||
my $set = $exp->{mod};
|
||||
$set =~ s/\/[^\/]+$//;
|
||||
$set =~ s/\//_/g;
|
||||
$sets{$set} ||= [];
|
||||
push(@{$sets{$set}}, $exp);
|
||||
}
|
||||
return map { [$_, $sets{$_}] } keys(%sets)
|
||||
}
|
||||
|
||||
# loads symsets from a directory created by write_symsets
|
||||
# returns symsetlist
|
||||
# FIXME: multiple versions of a symset
|
||||
sub load_symsets {
|
||||
my ($dir) = @_;
|
||||
my @sets;
|
||||
|
||||
opendir(my $dh, $dir) or die "Error reading directory $dir: $!\n";
|
||||
for my $file (readdir($dh)) {
|
||||
next if $file =~ /^\.\.?$/;
|
||||
if (!-f "$dir/$file" || $file !~ /^(\w+)\.[0-9a-f]{16}$/) {
|
||||
print STDERR "Ignoring unknown file $dir/$file\n";
|
||||
next;
|
||||
}
|
||||
my $set = $1;
|
||||
push(@sets, [$set, [parse_symset("$dir/$file")]]);
|
||||
}
|
||||
closedir($dh);
|
||||
return @sets;
|
||||
}
|
||||
|
||||
sub hash {
|
||||
return substr(md5_hex(@_), 0, 16);
|
||||
}
|
||||
|
||||
# writes symsets as returned by split_into_symsets/load_symsets into $dir
|
||||
sub write_symsets {
|
||||
my $dir = shift;
|
||||
my @sets = @_;
|
||||
|
||||
my $print_only = (!defined($dir));
|
||||
for my $set (@sets) {
|
||||
my $name = $set->[0];
|
||||
my $exports = $set->[1];
|
||||
my $data = format_exports(@$exports);
|
||||
my $hash = hash($data);
|
||||
if ($print_only) {
|
||||
print "$name.$hash\n";
|
||||
} else {
|
||||
my $f = "$dir/$name.$hash";
|
||||
open(my $fh, '>', $f) or die "error creating $f: $!\n";
|
||||
print $fh $data;
|
||||
close($fh);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# loads kabi check configurations into %commonsyms, %usedsyms and %severities
|
||||
sub load_kabi_files {
|
||||
my ($csfile, $usfile, $sevfile) = @_;
|
||||
|
||||
if (defined($csfile)) {
|
||||
open(my $fh, '<', $csfile) or die "Can't open $csfile: $!\n";
|
||||
%commonsyms = map { s/\s+//g; ; $_ => 1 } <$fh>;
|
||||
close($fh);
|
||||
}
|
||||
if (defined($usfile)) {
|
||||
open(my $fh, '<', $usfile) or die "Can't open $usfile: $!\n";
|
||||
%usedsyms = map { s/\s+//g; $_ => 1 } <$fh>;
|
||||
close($fh);
|
||||
}
|
||||
if (defined($sevfile)) {
|
||||
open(my $fh, '<', $sevfile) or die "Can't open $sevfile: $!\n";
|
||||
while (<$fh>) {
|
||||
chomp;
|
||||
s/#.*//;
|
||||
next if /^\s*$/;
|
||||
my @f = split(/\s+/);
|
||||
if (@f != 2) {
|
||||
print STDERR "$sevfile:$.: unknown line\n";
|
||||
next;
|
||||
}
|
||||
if ($f[1] !~ /^\d+$/) {
|
||||
print STDERR "$sevfile:$.: invalid severity $f[1]\n";
|
||||
next;
|
||||
}
|
||||
# simple glob -> regexp conversion
|
||||
$f[0] =~ s/\*/.*/g;
|
||||
$f[0] =~ s/\?/./g;
|
||||
$f[0] =~ s/.*/^$&\$/;
|
||||
push(@severities, [@f]);
|
||||
}
|
||||
close($fh);
|
||||
}
|
||||
}
|
||||
|
||||
# record kabi changes
|
||||
sub kabi_change {
|
||||
my $exp = shift;
|
||||
my $sev;
|
||||
|
||||
return if !$opt_check_kabi;
|
||||
|
||||
$sev = 8;
|
||||
for my $rule (@severities) {
|
||||
if ($exp->{mod} =~ $rule->[0]) {
|
||||
$sev = $rule->[1];
|
||||
last;
|
||||
}
|
||||
}
|
||||
if (exists($usedsyms{$exp->{sym}})) {
|
||||
$sev += 16;
|
||||
} elsif (exists($commonsyms{$exp->{sym}})) {
|
||||
$sev += 8;
|
||||
}
|
||||
print STDERR "KABI: symbol $exp->{sym}.$exp->{crc} (badness $sev): @_\n";
|
||||
$kabi_badness = $sev if ($sev > $kabi_badness);
|
||||
}
|
||||
|
||||
# check if all symbols from $old symsetlist are provided by $new symsetlist,
|
||||
# add compatible symsets to $new
|
||||
sub preserve_symsets {
|
||||
my ($old, $new) = @_;
|
||||
my (%symcrcs, %symsethashes);
|
||||
|
||||
for my $set (@$new) {
|
||||
my $name = $set->[0];
|
||||
my $exports = $set->[1];
|
||||
$symsethashes{$name} = hash(format_exports(@$exports));
|
||||
for my $exp (@$exports) {
|
||||
$symcrcs{$exp->{sym}} = $exp->{crc};
|
||||
}
|
||||
}
|
||||
for my $set (@$old) {
|
||||
my $name = $set->[0];
|
||||
my $exports = $set->[1];
|
||||
my $hash = hash(format_exports(@$exports));
|
||||
if (exists($symsethashes{$name}) && $symsethashes{$name} eq $hash) {
|
||||
next;
|
||||
}
|
||||
my $compatible = 1;
|
||||
for my $exp (@$exports) {
|
||||
if (!exists($symcrcs{$exp->{sym}})) {
|
||||
kabi_change($exp, "missing");
|
||||
$compatible = 0;
|
||||
next;
|
||||
}
|
||||
if ($symcrcs{$exp->{sym}} ne $exp->{crc}) {
|
||||
kabi_change($exp, "crc changed to $symcrcs{$exp->{sym}}\n");
|
||||
$compatible = 0;
|
||||
}
|
||||
}
|
||||
if ($compatible) {
|
||||
print STDERR "KABI: symset $name.$hash preserved\n" if $opt_verbose;
|
||||
push(@$new, $set);
|
||||
} else {
|
||||
print STDERR "KABI: symset $name.$hash is NOT preserved\n" if $opt_verbose;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
main();
|
||||
|
||||
# vim: sw=4:et:sts=4
|
Loading…
Reference in New Issue
Block a user