commit d4bcf2abd85a8d69da9d3f3e4e5dc57c556bca61

OBS-URL: https://build.opensuse.org/package/show/Kernel:stable/kernel-source?expand=0&rev=546
This commit is contained in:
Jiri Slaby 2016-06-26 14:47:43 +00:00 committed by Git OBS Bridge
parent 4250b75f6f
commit 8236c75d57
52 changed files with 161714 additions and 276356 deletions

View File

@ -4,10 +4,9 @@
<conditions>
<package>kernel-debug</package>
<package>kernel-default</package>
<package>kernel-ec2</package>
<package>kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-xen</package>
<package>kernel-zfcpdump</package>
</conditions>
<hardware>
<disk>
@ -21,10 +20,9 @@
<arch>s390x</arch>
<package>kernel-debug</package>
<package>kernel-default</package>
<package>kernel-ec2</package>
<package>kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-xen</package>
<package>kernel-zfcpdump</package>
</conditions>
<hardware>
<disk>
@ -39,10 +37,9 @@
<arch>x86_64</arch>
<package>kernel-debug</package>
<package>kernel-default</package>
<package>kernel-ec2</package>
<package>kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-xen</package>
<package>kernel-zfcpdump</package>
</conditions>
<hardware>
<processors>8</processors>
@ -56,10 +53,9 @@
<arch>ppc64le</arch>
<package>kernel-debug</package>
<package>kernel-default</package>
<package>kernel-ec2</package>
<package>kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-xen</package>
<package>kernel-zfcpdump</package>
</conditions>
<hardware>
<processors>4</processors>

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Fri Sep 25 20:35:38 UTC 2015 - mmarek@suse.com
- Drop the -desktop flavors and merge these settings back to
i386/pae and x86_64/default, respectively:
- CONFIG_PREEMPT=y
- vm.dirty_ratio=20
The builtin driver choices of the desktop configs were discarded
and CONFIG_HZ is 250 (fate#319416).
-------------------------------------------------------------------
Fri Feb 13 14:58:32 CET 2015 - jdelvare@suse.de
- On x86 and ppc*:
- CONFIG_I2C_SLAVE=n
There is currently no known use case for this feature on these
architectures, and it has a small build time and size cost.
-------------------------------------------------------------------
Fri May 23 10:04:27 UTC 2014 - ddiss@suse.com
@ -9,13 +27,6 @@ Fri May 23 10:04:27 UTC 2014 - ddiss@suse.com
(fate#317480).
- CONFIG_CIFS_SMB2=y
-------------------------------------------------------------------
Tue May 20 08:30:56 CEST 2014 - jdelvare@suse.de
- drbd will be shipped as a KMP in SLE12 HA only (not SLES nor
SLED).
- CONFIG_BLK_DEV_DRBD=n
-------------------------------------------------------------------
Thu Mar 6 10:48:07 CET 2014 - jdelvare@suse.de
@ -28,20 +39,7 @@ Thu Mar 6 10:48:07 CET 2014 - jdelvare@suse.de
- CONFIG_THERMAL=y
-------------------------------------------------------------------
Tue Mar 4 11:14:43 CET 2014 - jdelvare@suse.de
- The core leds module is small (14 kB on x86_64) and many drivers
depend on it or even select it, in particular laptop-specific
drivers and wireless network drivers. So the core leds module
will end up being loaded on most laptop systems, where boot time
matters. On top of that, different architectures have different
dependencies, some of them requiring that the core leds module is
built-in. So the easiest way forward is to just keep the core
leds module built into the kernel on all architectures.
- CONFIG_LEDS_CLASS=y
-------------------------------------------------------------------
Fri Feb 28 10:17:34 CET 2014 - jdelvare@suse.de
Fri Feb 28 18:38:01 CET 2014 - jdelvare@suse.de
- The msr driver creates /dev/cpu/*/msr through which you can poke
at all the MSRs if you have CAP_SYS_RAWIO. We prefer to be able
@ -49,13 +47,21 @@ Fri Feb 28 10:17:34 CET 2014 - jdelvare@suse.de
- CONFIG_X86_MSR=m
-------------------------------------------------------------------
Thu Jan 9 14:48:09 CET 2014 - jdelvare@suse.de
Tue Feb 25 11:44:55 CET 2014 - jdelvare@suse.de
- systemd requires autofs, so autofs4.ko will always be loaded on
boot. For performance reasons, it makes sense to build it into
the kernel (bnc#863771).
- CONFIG_AUTOFS4_FS=y
-------------------------------------------------------------------
Thu Jan 9 14:38:52 CET 2014 - jdelvare@suse.de
- Forcing module unloading can't lead to anything good. If
reference counting is wrong then it should be fixed. If the
reference count is right and a regular (unforced) unloading
doesn't work, then a forced unloading can only lead to chaos and
ultimately a kernel crash (bnc#854171).
ultimately a kernel crash.
- CONFIG_MODULE_FORCE_UNLOAD=n
-------------------------------------------------------------------

View File

@ -8,18 +8,31 @@
# kernel-binary and kernel-source rely on this
#
+i386 i386/default
+i386 i386/pae
+i386 -syms i386/debug
+i386 i386/vanilla
+x86_64 x86_64/default
+x86_64 x86_64/xen
+x86_64 -syms x86_64/ec2
+x86_64 -syms x86_64/debug
+x86_64 x86_64/vanilla
+ppc64 ppc64/default
+ppc64 -syms ppc64/debug
+ppc64 ppc64/vanilla
+ppc64le ppc64le/default
+ppc64le -syms ppc64le/debug
+ppc64le ppc64le/vanilla
# ARM architectures
+armv6hl armv6hl/default
+armv6hl armv6hl/vanilla
+armv7hl armv7hl/default
+armv7hl armv7hl/vanilla
+armv7hl armv7hl/lpae
+arm64 arm64/default
+arm64 arm64/vanilla
+s390x s390x/default
+s390x s390x/vanilla
+s390x -syms s390x/zfcpdump

View File

@ -1,7 +1,10 @@
# The version of the main tarball to use
SRCVERSION=3.12
SRCVERSION=4.6
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# buildservice projects to build the kernel against
OBS_PROJECT=SUSE:SLE-12:Update
IBS_PROJECT=SUSE:SLE-12:Update
OBS_PROJECT=openSUSE:Factory
OBS_PROJECT_ARM=openSUSE:Factory:ARM
OBS_PROJECT_PPC=openSUSE:Factory:PowerPC
IBS_PROJECT=SUSE:Factory:Head
IBS_PROJECT_ARM=Devel:ARM:Factory

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d569fb589b6c9109c29e39330db12aca305d4e3fc854d0fad31236e33e2700f7
size 88678
oid sha256:3316d6c430f31f9c14043e72ba4e2a6dbbbe2057be2d15630b5dec0f60816047
size 231204

45
find-requires Normal file
View File

@ -0,0 +1,45 @@
#!/bin/bash
#
# Generate dependencies for KMPs defined in supported.conf. We look at each
# modules 'depends' field in modinfo and use the $name-kmp-modules lists
# in builddir to map dependencies to package names. We do it this way instead
# of relying on the ksym() dependencies, because KMPs built from the kernel
# spec file are not shared among kernel versions.
package_name=$1
version_release=$2
builddir=$3
trap 'rm -f "$filelist"' EXIT
filelist=$(mktemp -t ${0##*/}.XXXXXXXXXX)
cat >"$filelist"
# is this module part of any KMP?
in_kmp()
{
local mod=${1//[-_]/[-_]} res
for f in "$builddir"/*-kmp-modules; do
if grep -q "/$mod\$" "$f"; then
res=${f##*/}
echo "${res%-modules}"
fi
done
}
grep '\.ko$' "$filelist" | while read f; do
mod=${f##*/}
kmp=$(in_kmp "$mod")
if test -z "$kmp"; then
continue
fi
for dep in $(IFS=,; set -- $(/sbin/modinfo -F depends "$f"); echo $*); do
kmp2=$(in_kmp "$dep.ko")
if test -n "$kmp2" -a "$kmp2" != "$kmp"; then
# Needs another KMP
echo "$kmp2-${package_name#kernel-} = $version_release"
fi
done
done
/usr/lib/rpm/find-requires "$package_name" <"$filelist"

BIN
kabi.tar.bz2 (Stored with Git LFS)

Binary file not shown.

View File

@ -28,7 +28,6 @@
%define build_flavor @FLAVOR@
%define build_default ("%build_flavor" == "default")
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
%if ! %build_vanilla
@ -80,6 +79,8 @@ BuildRequires: modutils
# Used to sign the kernel in the buildservice
BuildRequires: openssl
BuildRequires: pesign-obs-integration
# for objtool
BuildRequires: libelf-devel
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@ -135,9 +136,6 @@ BuildRequires: dwarfextract
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %build_xen
#!BuildIgnore: xen
%endif
Obsoletes: microcode_ctl
@ -154,6 +152,9 @@ Conflicts: udev < 118
Conflicts: lvm2 < 2.02.33
# Interface to hv_kvp_daemon changed
Conflicts: hyper-v < 4
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
@PROVIDES_OBSOLETES@
@PROVIDES_OBSOLETES_BASE@
@ -162,6 +163,16 @@ Provides: kernel = %version-%source_rel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: @ARCHS@
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
%if ! %build_default
BuildArch: i686
# KMPs are always built as i586, because rpm does not allow to build
# subpackages for different architectures. Therefore, we change the
# /usr/src/linux-obj/<arch> symlink to i586.
%define kmp_target_cpu i586
%endif
%endif
# These files are found in the kernel-source package:
@NOSOURCE@
@ -214,10 +225,17 @@ Provides: ath3k-firmware = 1.0
%obsolete_kmp compat-wireless 3.12
%obsolete_kmp rts5229 1.08
%obsolete_kmp rts_pstor 1.11
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
%define __find_provides %_sourcedir/find-provides %name
# Generate dependencies for KMPs defined in supported.conf
%define __find_requires %_sourcedir/find-requires %name %version-%release %my_builddir
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -247,15 +265,11 @@ mkdir -p %kernel_build_dir
# Generate a list of modules with their support status marking
%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \
awk '
/^\+(base|yes) / {
print $(NF);
next;
}
/^\+external / {
/\+external / {
print $(NF) " external";
next;
}
/^[-+]/ {
/^-/ {
print $(NF) " no";
next;
}
@ -263,8 +277,11 @@ awk '
print $(NF);
}
' >%kernel_build_dir/Module.supported
%_sourcedir/guards --default=0 base < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u >%kernel_build_dir/Module.base
for package in base @KMPS@; do
%_sourcedir/guards --default=0 "$package" \
<%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
sort -u >%kernel_build_dir/Module."$package"
done
cd linux-%srcversion
@ -295,7 +312,17 @@ if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
vanilla_base="default"
%ifarch %ix86
vanilla_base="pae"
%endif
if ! grep -q CONFIG_MMU= "%my_builddir/config/%cpu_arch_flavor"; then
cp "%my_builddir/config/%cpu_arch/$vanilla_base" .config
../scripts/kconfig/merge_config.sh -m .config \
%my_builddir/config/%cpu_arch_flavor
else
cp %my_builddir/config/%cpu_arch_flavor .config
fi
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
@ -333,7 +360,8 @@ fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \
> %my_builddir/obj-files
%build
cd %kernel_build_dir
@ -344,43 +372,21 @@ if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# copy optional module signing files:
# *.x509, *.crt
# - certificates with pubkeys used to verify module and firmware signatures
# at runtime. *.crt files assumed to be in the PEM format.
# signing_key.priv
# - unencrypted private key used to sign modules and firmware during build
# x509.genkey
# - openssl req config to generate a new signing_key.{x509,priv} pair for the
# build
for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
if test -e "$f"; then
cp "$f" .
fi
done
# copy module signing certificate(s)
for f in %_sourcedir/*.crt; do
if ! test -e "$f"; then
continue
fi
out=${f##*/}
out=${out%.crt}.x509
openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
case "${f##*/}" in
SLES-UEFI*.crt)
../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}"
cp "$f" .
;;
*)
cat "$f" >>keyring.crt
../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt"
esac
done
# Convince kernel/Makefile not to generate a new keypair
touch x509.genkey
touch signing_key.x509
%if %build_vanilla
# workaround for the 3.12 vanilla kernel which does not have
# f0e6d22 ("KEYS: Load *.x509 files into kernel keyring)
# but supports an "extra_certificates" file instead
for f in *.x509; do
if test ! -e "$f" -o "$f" = "signing_key.x509"; then
continue
fi
cat "$f" >>extra_certificates
done
%endif
MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
@ -412,6 +418,11 @@ export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
%ifarch %ix86
# XXX: do not sign on x86, as the repackaging changes kernel-pae
# from i686 to i586
BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
@ -460,9 +471,6 @@ add_vmlinux()
%ifarch %ix86 x86_64
add_vmlinux --compressed
image=bzImage
%if %build_xen
test -f arch/x86/boot/$image || image=vmlinuz
%endif
cp -p arch/x86/boot/$image %buildroot/boot/vmlinuz-%kernelrelease-%build_flavor
image=vmlinuz
%endif
@ -520,12 +528,6 @@ if test %CONFIG_MODULE_SIG = "y"; then
done
fi
# Install the frontend driver selector file for xen/ec2
%if %build_xen
mkdir -p %buildroot/etc/modprobe.d
cp %_sourcedir/modprobe-xen.conf %buildroot/etc/modprobe.d/50-xen.conf
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -563,7 +565,7 @@ for sub in '-base' '' '-extra'; do
done
done
%if %build_xen || %build_vanilla
%if %build_vanilla
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
@ -655,7 +657,7 @@ if [ %CONFIG_MODULES = y ]; then
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-b %kernel_build_dir \
%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-e \
%endif
@ -666,18 +668,18 @@ if [ %CONFIG_MODULES = y ]; then
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -784,26 +786,35 @@ done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
find etc/uefi/certs -type f -printf '/%%p\n'
fi
# optional per-kernel-release module config workarounds
if test -d etc/modprobe.d; then
find etc/modprobe.d -type f -printf '%%%%config(noreplace) /%%p\n'
if test -d lib/firmware/%kernelrelease-%build_flavor; then
%if %split_base
echo "%%dir /lib/firmware/%kernelrelease-%build_flavor"
cat %my_builddir/base-firmware
%else
echo "/lib/firmware/%kernelrelease-%build_flavor"
%endif
fi
test -d lib/firmware/%kernelrelease-%build_flavor && \
find lib/firmware/%kernelrelease-%build_flavor \
-type d -o \
-printf '/%%p\n'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
} | sort -u | add_dirs_to_filelist >%my_builddir/kernel-base.files
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
{
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules}
if test -d %buildroot/lib/firmware/%kernelrelease-%build_flavor; then
echo "/lib/firmware/%kernelrelease-%build_flavor"
fi
} > %my_builddir/kernel-main.files
%endif
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
for f in %my_builddir/*-kmp-modules; do
f2=${f%%-modules}.files
add_dirs_to_filelist "$f" >"$f2"
done
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build. Note that we skip
@ -838,6 +849,9 @@ Conflicts: %name = %version-%release
@COMMON_DEPS@
@PROVIDES_OBSOLETES_BASE@
%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description base
@DESCRIPTION@
@ -875,6 +889,9 @@ Requires(post): mkinitrd
@PROVIDES_OBSOLETES_EXTRA@
%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description extra
@DESCRIPTION@
@ -900,7 +917,7 @@ This package contains additional modules not supported by Novell.
%if %CONFIG_KMSG_IDS == "y"
%package man
Summary: The collection of man pages generated by the kmsg script.
Summary: The collection of man pages generated by the kmsg script
Group: System/Kernel
%description man
@ -921,6 +938,9 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla
Requires: kernel-devel%variant = %version-%source_rel
Recommends: make
Recommends: gcc
Recommends: perl
Supplements: packageand(%name:kernel-devel%variant)
%else
Requires: kernel-source-vanilla = %version-%source_rel
@ -956,4 +976,67 @@ kernel module packages) against the %build_flavor flavor of the kernel.
%endif
%endif
%if %CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
%package kgraft
Summary: Metapackage to pull in matching kgraft-patch package
Group: System/Kernel
Requires: kgraft-patch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
Provides: multiversion(kernel)
%description kgraft
This is a metapackage that pulls in the matching kgraft-patch package for a
given kernel version. The advantage of the metapackage is that its name is
static, unlike the kgraft-patch-<kernel-version>-flavor package names.
%files kgraft
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
%if %split_base
# BEGIN KMP
%package -n @KMP_NAME@-%build_flavor
Summary: @KMP_SUMMARY@
Group: System/Kernel
Requires: %name = %version-%release
Provides: multiversion(kernel)
Provides: @KMP_NAME@ = %version-%release
# tell weak-modules2 to ignore this package
Provides: kmp_in_kernel
Requires(post): suse-module-tools >= 12.4
%description -n @KMP_NAME@-%build_flavor
@KMP_DESCRIPTION@
%post -n @KMP_NAME@-%build_flavor
wm2=/usr/lib/module-init-tools/weak-modules2
nvr=@KMP_NAME@-%build_flavor-%version-%release
if test -x "$wm2"; then
rpm -ql "$nvr" | INITRD_IN_POSTTRANS=1 /bin/bash -${-/e/} "$wm2" \
--add-kernel-modules %kernelrelease-%build_flavor
fi
%posttrans -n @KMP_NAME@-%build_flavor
%{?regenerate_initrd_posttrans}
%preun -n @KMP_NAME@-%build_flavor
nvr=@KMP_NAME@-%build_flavor-%version-%release
rpm -ql "$nvr" | grep '\.ko$' > "/var/run/rpm-$nvr-modules"
%postun -n @KMP_NAME@-%build_flavor
wm2=/usr/lib/module-init-tools/weak-modules2
nvr=@KMP_NAME@-%build_flavor-%version-%release
if test -x "$wm2"; then
/bin/bash -${-/e/} "$wm2" < "/var/run/rpm-$nvr-modules" \
--remove-kernel-modules %kernelrelease-%build_flavor
fi
rm -f "/var/run/rpm-$nvr-modules"
%files -n @KMP_NAME@-%build_flavor -f @KMP_NAME@.files
%defattr(-, root, root)
# END KMP
%endif
%changelog

File diff suppressed because it is too large Load Diff

View File

@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
%define srcversion 3.12
%define patchversion 3.12.61
%define srcversion 4.6
%define patchversion 4.6.3
%define variant %{nil}
%define vanilla_only 0
@ -28,7 +28,6 @@
%define build_flavor debug
%define build_default ("%build_flavor" == "default")
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
%if ! %build_vanilla
@ -40,7 +39,7 @@
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,find-requires,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@ -62,9 +61,9 @@ Name: kernel-debug
Summary: A Debug Version of the Kernel
License: GPL-2.0
Group: System/Kernel
Version: 3.12.61
Version: 4.6.3
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif
@ -80,6 +79,8 @@ BuildRequires: modutils
# Used to sign the kernel in the buildservice
BuildRequires: openssl
BuildRequires: pesign-obs-integration
# for objtool
BuildRequires: libelf-devel
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@ -135,9 +136,6 @@ BuildRequires: dwarfextract
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %build_xen
#!BuildIgnore: xen
%endif
Obsoletes: microcode_ctl
@ -154,11 +152,20 @@ Conflicts: udev < 118
Conflicts: lvm2 < 2.02.33
# Interface to hv_kvp_daemon changed
Conflicts: hyper-v < 4
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
%ifarch ppc64
Provides: kernel-kdump = 2.6.28
Obsoletes: kernel-kdump <= 2.6.28
%endif
%ifarch ppc64
Provides: kernel-kdump-base = 2.6.28
Obsoletes: kernel-kdump-base <= 2.6.28
%endif
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.xz
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@ -180,8 +187,9 @@ Source38: README.KSYMS
Source39: config-options.changes.txt
Source40: source-timestamp
Source44: find-provides
Source45: split-modules
Source46: modversions
Source45: find-requires
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
@ -205,7 +213,6 @@ Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
Source90: SLES-UEFI-SIGN-Certificate-2048.crt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
@ -222,10 +229,19 @@ Source112: patches.trace.tar.bz2
Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
Source122: modprobe-xen.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: ppc64le x86_64
ExclusiveArch: %ix86 ppc64 ppc64le x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
%if ! %build_default
BuildArch: i686
# KMPs are always built as i586, because rpm does not allow to build
# subpackages for different architectures. Therefore, we change the
# /usr/src/linux-obj/<arch> symlink to i586.
%define kmp_target_cpu i586
%endif
%endif
# These files are found in the kernel-source package:
NoSource: 0
@ -252,6 +268,7 @@ NoSource: 40
NoSource: 44
NoSource: 45
NoSource: 46
NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
@ -275,7 +292,6 @@ NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 90
NoSource: 100
NoSource: 101
NoSource: 102
@ -292,7 +308,6 @@ NoSource: 112
NoSource: 113
NoSource: 120
NoSource: 121
NoSource: 122
# The following KMPs have been integrated into the kernel package,
# grouped by the last product that contained them.
@ -342,10 +357,17 @@ Provides: ath3k-firmware = 1.0
%obsolete_kmp compat-wireless 3.12
%obsolete_kmp rts5229 1.08
%obsolete_kmp rts_pstor 1.11
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
%define __find_provides %_sourcedir/find-provides %name
# Generate dependencies for KMPs defined in supported.conf
%define __find_requires %_sourcedir/find-requires %name %version-%release %my_builddir
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -376,15 +398,11 @@ mkdir -p %kernel_build_dir
# Generate a list of modules with their support status marking
%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \
awk '
/^\+(base|yes) / {
print $(NF);
next;
}
/^\+external / {
/\+external / {
print $(NF) " external";
next;
}
/^[-+]/ {
/^-/ {
print $(NF) " no";
next;
}
@ -392,8 +410,11 @@ awk '
print $(NF);
}
' >%kernel_build_dir/Module.supported
%_sourcedir/guards --default=0 base < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u >%kernel_build_dir/Module.base
for package in base ; do
%_sourcedir/guards --default=0 "$package" \
<%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
sort -u >%kernel_build_dir/Module."$package"
done
cd linux-%srcversion
@ -424,7 +445,17 @@ if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
vanilla_base="default"
%ifarch %ix86
vanilla_base="pae"
%endif
if ! grep -q CONFIG_MMU= "%my_builddir/config/%cpu_arch_flavor"; then
cp "%my_builddir/config/%cpu_arch/$vanilla_base" .config
../scripts/kconfig/merge_config.sh -m .config \
%my_builddir/config/%cpu_arch_flavor
else
cp %my_builddir/config/%cpu_arch_flavor .config
fi
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
@ -462,7 +493,8 @@ fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \
> %my_builddir/obj-files
%build
cd %kernel_build_dir
@ -473,43 +505,21 @@ if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# copy optional module signing files:
# *.x509, *.crt
# - certificates with pubkeys used to verify module and firmware signatures
# at runtime. *.crt files assumed to be in the PEM format.
# signing_key.priv
# - unencrypted private key used to sign modules and firmware during build
# x509.genkey
# - openssl req config to generate a new signing_key.{x509,priv} pair for the
# build
for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
if test -e "$f"; then
cp "$f" .
fi
done
# copy module signing certificate(s)
for f in %_sourcedir/*.crt; do
if ! test -e "$f"; then
continue
fi
out=${f##*/}
out=${out%.crt}.x509
openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
case "${f##*/}" in
SLES-UEFI*.crt)
../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}"
cp "$f" .
;;
*)
cat "$f" >>keyring.crt
../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt"
esac
done
# Convince kernel/Makefile not to generate a new keypair
touch x509.genkey
touch signing_key.x509
%if %build_vanilla
# workaround for the 3.12 vanilla kernel which does not have
# f0e6d22 ("KEYS: Load *.x509 files into kernel keyring)
# but supports an "extra_certificates" file instead
for f in *.x509; do
if test ! -e "$f" -o "$f" = "signing_key.x509"; then
continue
fi
cat "$f" >>extra_certificates
done
%endif
MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
@ -541,6 +551,11 @@ export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
%ifarch %ix86
# XXX: do not sign on x86, as the repackaging changes kernel-pae
# from i686 to i586
BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
@ -589,9 +604,6 @@ add_vmlinux()
%ifarch %ix86 x86_64
add_vmlinux --compressed
image=bzImage
%if %build_xen
test -f arch/x86/boot/$image || image=vmlinuz
%endif
cp -p arch/x86/boot/$image %buildroot/boot/vmlinuz-%kernelrelease-%build_flavor
image=vmlinuz
%endif
@ -649,12 +661,6 @@ if test %CONFIG_MODULE_SIG = "y"; then
done
fi
# Install the frontend driver selector file for xen/ec2
%if %build_xen
mkdir -p %buildroot/etc/modprobe.d
cp %_sourcedir/modprobe-xen.conf %buildroot/etc/modprobe.d/50-xen.conf
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -692,7 +698,7 @@ for sub in '-base' '' '-extra'; do
done
done
%if %build_xen || %build_vanilla
%if %build_vanilla
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
@ -784,7 +790,7 @@ if [ %CONFIG_MODULES = y ]; then
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-b %kernel_build_dir \
%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-e \
%endif
@ -795,18 +801,18 @@ if [ %CONFIG_MODULES = y ]; then
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -913,26 +919,35 @@ done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
find etc/uefi/certs -type f -printf '/%%p\n'
fi
# optional per-kernel-release module config workarounds
if test -d etc/modprobe.d; then
find etc/modprobe.d -type f -printf '%%%%config(noreplace) /%%p\n'
if test -d lib/firmware/%kernelrelease-%build_flavor; then
%if %split_base
echo "%%dir /lib/firmware/%kernelrelease-%build_flavor"
cat %my_builddir/base-firmware
%else
echo "/lib/firmware/%kernelrelease-%build_flavor"
%endif
fi
test -d lib/firmware/%kernelrelease-%build_flavor && \
find lib/firmware/%kernelrelease-%build_flavor \
-type d -o \
-printf '/%%p\n'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
} | sort -u | add_dirs_to_filelist >%my_builddir/kernel-base.files
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
{
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules}
if test -d %buildroot/lib/firmware/%kernelrelease-%build_flavor; then
echo "/lib/firmware/%kernelrelease-%build_flavor"
fi
} > %my_builddir/kernel-main.files
%endif
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
for f in %my_builddir/*-kmp-modules; do
f2=${f%%-modules}.files
add_dirs_to_filelist "$f" >"$f2"
done
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build. Note that we skip
@ -987,8 +1002,14 @@ Requires(post): mkinitrd >= 2.7.1
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
%ifarch ppc64
Provides: kernel-kdump-base = 2.6.28
Obsoletes: kernel-kdump-base <= 2.6.28
%endif
%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description base
This kernel has several debug facilities enabled that hurt performance.
@ -1024,9 +1045,15 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): mkinitrd
%ifarch ppc64
Provides: kernel-kdump-extra = 2.6.28
Obsoletes: kernel-kdump-extra <= 2.6.28
%endif
%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description extra
This kernel has several debug facilities enabled that hurt performance.
@ -1053,7 +1080,7 @@ This package contains additional modules not supported by Novell.
%if %CONFIG_KMSG_IDS == "y"
%package man
Summary: The collection of man pages generated by the kmsg script.
Summary: The collection of man pages generated by the kmsg script
Group: System/Kernel
%description man
@ -1074,12 +1101,18 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla
Requires: kernel-devel%variant = %version-%source_rel
Recommends: make
Recommends: gcc
Recommends: perl
Supplements: packageand(%name:kernel-devel%variant)
%else
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%ifarch ppc64
Provides: kernel-kdump-devel = 2.6.28
Obsoletes: kernel-kdump-devel <= 2.6.28
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@ -1109,4 +1142,26 @@ kernel module packages) against the %build_flavor flavor of the kernel.
%endif
%endif
%if %CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
%package kgraft
Summary: Metapackage to pull in matching kgraft-patch package
Group: System/Kernel
Requires: kgraft-patch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
Provides: multiversion(kernel)
%description kgraft
This is a metapackage that pulls in the matching kgraft-patch package for a
given kernel version. The advantage of the metapackage is that its name is
static, unlike the kgraft-patch-<kernel-version>-flavor package names.
%files kgraft
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
%if %split_base
%endif
%changelog

File diff suppressed because it is too large Load Diff

View File

@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
%define srcversion 3.12
%define patchversion 3.12.61
%define srcversion 4.6
%define patchversion 4.6.3
%define variant %{nil}
%define vanilla_only 0
@ -28,7 +28,6 @@
%define build_flavor default
%define build_default ("%build_flavor" == "default")
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
%if ! %build_vanilla
@ -40,7 +39,7 @@
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,find-requires,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@ -62,9 +61,9 @@ Name: kernel-default
Summary: The Standard Kernel
License: GPL-2.0
Group: System/Kernel
Version: 3.12.61
Version: 4.6.3
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif
@ -80,6 +79,8 @@ BuildRequires: modutils
# Used to sign the kernel in the buildservice
BuildRequires: openssl
BuildRequires: pesign-obs-integration
# for objtool
BuildRequires: libelf-devel
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@ -135,9 +136,6 @@ BuildRequires: dwarfextract
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %build_xen
#!BuildIgnore: xen
%endif
Obsoletes: microcode_ctl
@ -154,7 +152,20 @@ Conflicts: udev < 118
Conflicts: lvm2 < 2.02.33
# Interface to hv_kvp_daemon changed
Conflicts: hyper-v < 4
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
%ifarch %ix86
Provides: kernel-smp = 2.6.17
Obsoletes: kernel-smp <= 2.6.17
Provides: kernel-trace = 3.13
Obsoletes: kernel-trace <= 3.13
%endif
%ifarch ppc64
Provides: kernel-kdump = 2.6.28
Obsoletes: kernel-kdump <= 2.6.28
%endif
%ifarch s390x
Provides: kernel-trace = 3.13
Obsoletes: kernel-trace <= 3.13
@ -164,6 +175,22 @@ Provides: kernel-smp = 2.6.17
Obsoletes: kernel-smp <= 2.6.17
Provides: kernel-trace = 3.13
Obsoletes: kernel-trace <= 3.13
Provides: kernel-bigsmp = 3.1
Obsoletes: kernel-bigsmp <= 3.1
Provides: kernel-desktop = 4.3
Obsoletes: kernel-desktop <= 4.3
Provides: kernel-xen = 4.4
Obsoletes: kernel-xen <= 4.4
Provides: kernel-ec2 = 4.4
Obsoletes: kernel-ec2 <= 4.4
%endif
%ifarch %ix86
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
%endif
%ifarch ppc64
Provides: kernel-kdump-base = 2.6.28
Obsoletes: kernel-kdump-base <= 2.6.28
%endif
%ifarch s390x
Provides: kernel-trace-base = 3.13
@ -172,9 +199,17 @@ Obsoletes: kernel-trace-base <= 3.13
%ifarch x86_64
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
Provides: kernel-bigsmp-base = 3.1
Obsoletes: kernel-bigsmp-base <= 3.1
Provides: kernel-desktop-base = 4.3
Obsoletes: kernel-desktop-base <= 4.3
Provides: kernel-xen-base = 4.4
Obsoletes: kernel-xen-base <= 4.4
Provides: kernel-ec2-base = 4.4
Obsoletes: kernel-ec2-base <= 4.4
%endif
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.xz
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@ -196,8 +231,9 @@ Source38: README.KSYMS
Source39: config-options.changes.txt
Source40: source-timestamp
Source44: find-provides
Source45: split-modules
Source46: modversions
Source45: find-requires
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
@ -221,7 +257,6 @@ Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
Source90: SLES-UEFI-SIGN-Certificate-2048.crt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
@ -238,10 +273,19 @@ Source112: patches.trace.tar.bz2
Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
Source122: modprobe-xen.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
%if ! %build_default
BuildArch: i686
# KMPs are always built as i586, because rpm does not allow to build
# subpackages for different architectures. Therefore, we change the
# /usr/src/linux-obj/<arch> symlink to i586.
%define kmp_target_cpu i586
%endif
%endif
# These files are found in the kernel-source package:
NoSource: 0
@ -268,6 +312,7 @@ NoSource: 40
NoSource: 44
NoSource: 45
NoSource: 46
NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
@ -291,7 +336,6 @@ NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 90
NoSource: 100
NoSource: 101
NoSource: 102
@ -308,7 +352,6 @@ NoSource: 112
NoSource: 113
NoSource: 120
NoSource: 121
NoSource: 122
# The following KMPs have been integrated into the kernel package,
# grouped by the last product that contained them.
@ -358,10 +401,17 @@ Provides: ath3k-firmware = 1.0
%obsolete_kmp compat-wireless 3.12
%obsolete_kmp rts5229 1.08
%obsolete_kmp rts_pstor 1.11
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
%define __find_provides %_sourcedir/find-provides %name
# Generate dependencies for KMPs defined in supported.conf
%define __find_requires %_sourcedir/find-requires %name %version-%release %my_builddir
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -391,15 +441,11 @@ mkdir -p %kernel_build_dir
# Generate a list of modules with their support status marking
%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \
awk '
/^\+(base|yes) / {
print $(NF);
next;
}
/^\+external / {
/\+external / {
print $(NF) " external";
next;
}
/^[-+]/ {
/^-/ {
print $(NF) " no";
next;
}
@ -407,8 +453,11 @@ awk '
print $(NF);
}
' >%kernel_build_dir/Module.supported
%_sourcedir/guards --default=0 base < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u >%kernel_build_dir/Module.base
for package in base ; do
%_sourcedir/guards --default=0 "$package" \
<%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
sort -u >%kernel_build_dir/Module."$package"
done
cd linux-%srcversion
@ -439,7 +488,17 @@ if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
vanilla_base="default"
%ifarch %ix86
vanilla_base="pae"
%endif
if ! grep -q CONFIG_MMU= "%my_builddir/config/%cpu_arch_flavor"; then
cp "%my_builddir/config/%cpu_arch/$vanilla_base" .config
../scripts/kconfig/merge_config.sh -m .config \
%my_builddir/config/%cpu_arch_flavor
else
cp %my_builddir/config/%cpu_arch_flavor .config
fi
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
@ -477,7 +536,8 @@ fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \
> %my_builddir/obj-files
%build
cd %kernel_build_dir
@ -488,43 +548,21 @@ if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# copy optional module signing files:
# *.x509, *.crt
# - certificates with pubkeys used to verify module and firmware signatures
# at runtime. *.crt files assumed to be in the PEM format.
# signing_key.priv
# - unencrypted private key used to sign modules and firmware during build
# x509.genkey
# - openssl req config to generate a new signing_key.{x509,priv} pair for the
# build
for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
if test -e "$f"; then
cp "$f" .
fi
done
# copy module signing certificate(s)
for f in %_sourcedir/*.crt; do
if ! test -e "$f"; then
continue
fi
out=${f##*/}
out=${out%.crt}.x509
openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
case "${f##*/}" in
SLES-UEFI*.crt)
../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}"
cp "$f" .
;;
*)
cat "$f" >>keyring.crt
../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt"
esac
done
# Convince kernel/Makefile not to generate a new keypair
touch x509.genkey
touch signing_key.x509
%if %build_vanilla
# workaround for the 3.12 vanilla kernel which does not have
# f0e6d22 ("KEYS: Load *.x509 files into kernel keyring)
# but supports an "extra_certificates" file instead
for f in *.x509; do
if test ! -e "$f" -o "$f" = "signing_key.x509"; then
continue
fi
cat "$f" >>extra_certificates
done
%endif
MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
@ -556,6 +594,11 @@ export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
%ifarch %ix86
# XXX: do not sign on x86, as the repackaging changes kernel-pae
# from i686 to i586
BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
@ -604,9 +647,6 @@ add_vmlinux()
%ifarch %ix86 x86_64
add_vmlinux --compressed
image=bzImage
%if %build_xen
test -f arch/x86/boot/$image || image=vmlinuz
%endif
cp -p arch/x86/boot/$image %buildroot/boot/vmlinuz-%kernelrelease-%build_flavor
image=vmlinuz
%endif
@ -664,12 +704,6 @@ if test %CONFIG_MODULE_SIG = "y"; then
done
fi
# Install the frontend driver selector file for xen/ec2
%if %build_xen
mkdir -p %buildroot/etc/modprobe.d
cp %_sourcedir/modprobe-xen.conf %buildroot/etc/modprobe.d/50-xen.conf
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -707,7 +741,7 @@ for sub in '-base' '' '-extra'; do
done
done
%if %build_xen || %build_vanilla
%if %build_vanilla
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
@ -799,7 +833,7 @@ if [ %CONFIG_MODULES = y ]; then
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-b %kernel_build_dir \
%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-e \
%endif
@ -810,18 +844,18 @@ if [ %CONFIG_MODULES = y ]; then
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -928,26 +962,35 @@ done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
find etc/uefi/certs -type f -printf '/%%p\n'
fi
# optional per-kernel-release module config workarounds
if test -d etc/modprobe.d; then
find etc/modprobe.d -type f -printf '%%%%config(noreplace) /%%p\n'
if test -d lib/firmware/%kernelrelease-%build_flavor; then
%if %split_base
echo "%%dir /lib/firmware/%kernelrelease-%build_flavor"
cat %my_builddir/base-firmware
%else
echo "/lib/firmware/%kernelrelease-%build_flavor"
%endif
fi
test -d lib/firmware/%kernelrelease-%build_flavor && \
find lib/firmware/%kernelrelease-%build_flavor \
-type d -o \
-printf '/%%p\n'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
} | sort -u | add_dirs_to_filelist >%my_builddir/kernel-base.files
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
{
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules}
if test -d %buildroot/lib/firmware/%kernelrelease-%build_flavor; then
echo "/lib/firmware/%kernelrelease-%build_flavor"
fi
} > %my_builddir/kernel-main.files
%endif
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
for f in %my_builddir/*-kmp-modules; do
f2=${f%%-modules}.files
add_dirs_to_filelist "$f" >"$f2"
done
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build. Note that we skip
@ -1002,6 +1045,14 @@ Requires(post): mkinitrd >= 2.7.1
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
%ifarch %ix86
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
%endif
%ifarch ppc64
Provides: kernel-kdump-base = 2.6.28
Obsoletes: kernel-kdump-base <= 2.6.28
%endif
%ifarch s390x
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
@ -1009,8 +1060,19 @@ Obsoletes: kernel-trace-base <= 3.13
%ifarch x86_64
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
Provides: kernel-bigsmp-base = 3.1
Obsoletes: kernel-bigsmp-base <= 3.1
Provides: kernel-desktop-base = 4.3
Obsoletes: kernel-desktop-base <= 4.3
Provides: kernel-xen-base = 4.4
Obsoletes: kernel-xen-base <= 4.4
Provides: kernel-ec2-base = 4.4
Obsoletes: kernel-ec2-base <= 4.4
%endif
%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description base
The standard kernel for both uniprocessor and multiprocessor systems.
@ -1045,6 +1107,14 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): mkinitrd
%ifarch %ix86
Provides: kernel-trace-extra = 3.13
Obsoletes: kernel-trace-extra <= 3.13
%endif
%ifarch ppc64
Provides: kernel-kdump-extra = 2.6.28
Obsoletes: kernel-kdump-extra <= 2.6.28
%endif
%ifarch s390x
Provides: kernel-trace-extra = 3.13
Obsoletes: kernel-trace-extra <= 3.13
@ -1052,9 +1122,20 @@ Obsoletes: kernel-trace-extra <= 3.13
%ifarch x86_64
Provides: kernel-trace-extra = 3.13
Obsoletes: kernel-trace-extra <= 3.13
Provides: kernel-bigsmp-extra = 3.1
Obsoletes: kernel-bigsmp-extra <= 3.1
Provides: kernel-desktop-extra = 4.3
Obsoletes: kernel-desktop-extra <= 4.3
Provides: kernel-xen-extra = 4.4
Obsoletes: kernel-xen-extra <= 4.4
Provides: kernel-ec2-extra = 4.4
Obsoletes: kernel-ec2-extra <= 4.4
%endif
%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description extra
The standard kernel for both uniprocessor and multiprocessor systems.
@ -1080,7 +1161,7 @@ This package contains additional modules not supported by Novell.
%if %CONFIG_KMSG_IDS == "y"
%package man
Summary: The collection of man pages generated by the kmsg script.
Summary: The collection of man pages generated by the kmsg script
Group: System/Kernel
%description man
@ -1101,11 +1182,22 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla
Requires: kernel-devel%variant = %version-%source_rel
Recommends: make
Recommends: gcc
Recommends: perl
Supplements: packageand(%name:kernel-devel%variant)
%else
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%ifarch %ix86
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
%endif
%ifarch ppc64
Provides: kernel-kdump-devel = 2.6.28
Obsoletes: kernel-kdump-devel <= 2.6.28
%endif
%ifarch s390x
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
@ -1113,6 +1205,14 @@ Obsoletes: kernel-trace-devel <= 3.13
%ifarch x86_64
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
Provides: kernel-bigsmp-devel = 3.1
Obsoletes: kernel-bigsmp-devel <= 3.1
Provides: kernel-desktop-devel = 4.3
Obsoletes: kernel-desktop-devel <= 4.3
Provides: kernel-xen-devel = 4.4
Obsoletes: kernel-xen-devel <= 4.4
Provides: kernel-ec2-devel = 4.4
Obsoletes: kernel-ec2-devel <= 4.4
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@ -1143,4 +1243,26 @@ kernel module packages) against the %build_flavor flavor of the kernel.
%endif
%endif
%if %CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
%package kgraft
Summary: Metapackage to pull in matching kgraft-patch package
Group: System/Kernel
Requires: kgraft-patch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
Provides: multiversion(kernel)
%description kgraft
This is a metapackage that pulls in the matching kgraft-patch package for a
given kernel version. The advantage of the metapackage is that its name is
static, unlike the kgraft-patch-<kernel-version>-flavor package names.
%files kgraft
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
%if %split_base
%endif
%changelog

File diff suppressed because it is too large Load Diff

View File

@ -16,23 +16,37 @@
#
%define patchversion 3.12.61
%define patchversion 4.6.3
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%define use_fop 1
Name: kernel-docs
Summary: Kernel Documentation
Summary: Kernel Documentation (man pages)
License: GPL-2.0
Group: Documentation/Man
Version: 3.12.61
Version: 4.6.3
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif
BuildRequires: kernel-source%variant
BuildRequires: xmlto
%if %use_fop
BuildRequires: fop
%else
BuildRequires: docbook-toys
BuildRequires: docbook-utils
BuildRequires: texlive-courier
BuildRequires: texlive-dvips
BuildRequires: texlive-ec
BuildRequires: texlive-helvetic
BuildRequires: texlive-jadetex
BuildRequires: texlive-times
%endif
Url: http://www.kernel.org/
Provides: %name = %version-%source_rel
BuildArch: noarch
@ -43,24 +57,66 @@ Source: kernel-spec-macros
These are the man pages (section 9) built from the current kernel sources.
%source_timestamp
%package pdf
Summary: Kernel Documentation (PDF)
License: GPL-2.0
Group: Documentation/Other
%description pdf
These are PDF documents built from the current kernel sources.
%source_timestamp
%package html
Summary: Kernel Documentation (HTML)
License: GPL-2.0
Group: Documentation/HTML
%description html
These are HTML documents built from the current kernel sources.
%source_timestamp
%prep
%if !%use_fop
cp -av /etc/texmf/web2c/texmf.cnf .
cat << EOF >> texmf.cnf
main_memory.pdfjadetex = 5000000
hash_extra.pdfjadetex = 140000
max_strings.pdfjadetex = 240000
save_size.pdfjadetex = 20000
EOF
%endif
%setup -T -c
%build
%if !%use_fop
# use texmf.cnf from local source
export TEXMFCNF=$RPM_BUILD_DIR
%endif
export LANG=en_US
make -C /usr/src/linux%variant O=$PWD mandocs %{?jobs:-j%jobs}
mkdir -p man
make -C /usr/src/linux%variant O=$PWD/man mandocs %{?jobs:-j%jobs}
mkdir -p html
make -C /usr/src/linux%variant O=$PWD/html htmldocs %{?jobs:-j%jobs}
mkdir -p pdf
make \
%if %use_fop
XMLTOFLAGS="-m /usr/src/linux%{variant}/Documentation/DocBook/stylesheet.xsl --skip-validation --with-fop" \
%endif
-C /usr/src/linux%variant O=$PWD/pdf pdfdocs %{?jobs:-j%jobs}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/%{_mandir}/man9
# filter out obscure device drivers - they clutter up the rpm and don't add any real value
find Documentation/DocBook/ -name '*.9.gz' |
egrep -v 'man/(sis[69]|rio|fsl|struct_rio|RIO|mpc85|set_rx_mode|mdio_(read|write)|mii_ioctl|mca_|z8530|nand|sppp|piix|(read|write)_zs)' |
find man/Documentation/DocBook/ -name '*.9.gz' |
grep -E -v 'man/(sis[69]|rio|fsl|struct_rio|RIO|mpc85|set_rx_mode|mdio_(read|write)|mii_ioctl|mca_|z8530|nand|sppp|piix|(read|write)_zs)' |
while read i ; do
cp $i $RPM_BUILD_ROOT/%{_mandir}/man9
done
if [ -d Documentation/kdb ] ; then
for i in Documentation/kdb/*.m* ; do
if [ -d man/Documentation/kdb ] ; then
for i in man/Documentation/kdb/*.m* ; do
k=`basename $i`
k=${k/man/9}
k=${k/mm/9}
@ -68,16 +124,34 @@ if [ -d Documentation/kdb ] ; then
done
fi
ln -s /usr/share/man/man9/request_threaded_irq.9.gz $RPM_BUILD_ROOT/usr/share/man/man9/request_irq.9.gz
ln -s %{_mandir}/man9/request_threaded_irq.9.gz $RPM_BUILD_ROOT%{_mandir}/man9/request_irq.9.gz
install -d $RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf
cp -a pdf/Documentation/DocBook/*.pdf $RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf || true
install -d $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html
cp -a html/Documentation/DocBook/* $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html || true
rm -f $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html/*.xml
rm -f $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html/*.{gif,png}
rm -f $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html/*/*.proc
cp -a /usr/src/linux%variant/{COPYING,CREDITS,MAINTAINERS,README,REPORTING-BUGS} .
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc COPYING CREDITS MAINTAINERS README REPORTING-BUGS
%{_mandir}/man9/*
%files pdf
%defattr(-,root,root)
%dir %{_datadir}/doc/kernel
%docdir %{_datadir}/doc/kernel/pdf
%{_datadir}/doc/kernel/pdf
%files html
%defattr(-,root,root)
%dir %{_datadir}/doc/kernel
%docdir %{_datadir}/doc/kernel/html
%{_datadir}/doc/kernel/html
%changelog

View File

@ -21,8 +21,10 @@
%include %_sourcedir/kernel-spec-macros
%define use_fop 1
Name: kernel-docs@VARIANT@
Summary: Kernel Documentation
Summary: Kernel Documentation (man pages)
License: GPL-2.0
Group: Documentation/Man
Version: @RPMVERSION@
@ -33,6 +35,18 @@ Release: @RELEASE@
%endif
BuildRequires: kernel-source%variant
BuildRequires: xmlto
%if %use_fop
BuildRequires: fop
%else
BuildRequires: docbook-toys
BuildRequires: docbook-utils
BuildRequires: texlive-courier
BuildRequires: texlive-dvips
BuildRequires: texlive-ec
BuildRequires: texlive-helvetic
BuildRequires: texlive-jadetex
BuildRequires: texlive-times
%endif
Url: http://www.kernel.org/
Provides: %name = %version-%source_rel
BuildArch: noarch
@ -43,24 +57,66 @@ Source: kernel-spec-macros
These are the man pages (section 9) built from the current kernel sources.
%source_timestamp
%package pdf
Summary: Kernel Documentation (PDF)
License: GPL-2.0
Group: Documentation/Other
%description pdf
These are PDF documents built from the current kernel sources.
%source_timestamp
%package html
Summary: Kernel Documentation (HTML)
License: GPL-2.0
Group: Documentation/HTML
%description html
These are HTML documents built from the current kernel sources.
%source_timestamp
%prep
%if !%use_fop
cp -av /etc/texmf/web2c/texmf.cnf .
cat << EOF >> texmf.cnf
main_memory.pdfjadetex = 5000000
hash_extra.pdfjadetex = 140000
max_strings.pdfjadetex = 240000
save_size.pdfjadetex = 20000
EOF
%endif
%setup -T -c
%build
%if !%use_fop
# use texmf.cnf from local source
export TEXMFCNF=$RPM_BUILD_DIR
%endif
export LANG=en_US
make -C /usr/src/linux%variant O=$PWD mandocs %{?jobs:-j%jobs}
mkdir -p man
make -C /usr/src/linux%variant O=$PWD/man mandocs %{?jobs:-j%jobs}
mkdir -p html
make -C /usr/src/linux%variant O=$PWD/html htmldocs %{?jobs:-j%jobs}
mkdir -p pdf
make \
%if %use_fop
XMLTOFLAGS="-m /usr/src/linux%{variant}/Documentation/DocBook/stylesheet.xsl --skip-validation --with-fop" \
%endif
-C /usr/src/linux%variant O=$PWD/pdf pdfdocs %{?jobs:-j%jobs}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/%{_mandir}/man9
# filter out obscure device drivers - they clutter up the rpm and don't add any real value
find Documentation/DocBook/ -name '*.9.gz' |
egrep -v 'man/(sis[69]|rio|fsl|struct_rio|RIO|mpc85|set_rx_mode|mdio_(read|write)|mii_ioctl|mca_|z8530|nand|sppp|piix|(read|write)_zs)' |
find man/Documentation/DocBook/ -name '*.9.gz' |
grep -E -v 'man/(sis[69]|rio|fsl|struct_rio|RIO|mpc85|set_rx_mode|mdio_(read|write)|mii_ioctl|mca_|z8530|nand|sppp|piix|(read|write)_zs)' |
while read i ; do
cp $i $RPM_BUILD_ROOT/%{_mandir}/man9
done
if [ -d Documentation/kdb ] ; then
for i in Documentation/kdb/*.m* ; do
if [ -d man/Documentation/kdb ] ; then
for i in man/Documentation/kdb/*.m* ; do
k=`basename $i`
k=${k/man/9}
k=${k/mm/9}
@ -68,16 +124,34 @@ if [ -d Documentation/kdb ] ; then
done
fi
ln -s /usr/share/man/man9/request_threaded_irq.9.gz $RPM_BUILD_ROOT/usr/share/man/man9/request_irq.9.gz
ln -s %{_mandir}/man9/request_threaded_irq.9.gz $RPM_BUILD_ROOT%{_mandir}/man9/request_irq.9.gz
install -d $RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf
cp -a pdf/Documentation/DocBook/*.pdf $RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf || true
install -d $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html
cp -a html/Documentation/DocBook/* $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html || true
rm -f $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html/*.xml
rm -f $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html/*.{gif,png}
rm -f $RPM_BUILD_ROOT%{_datadir}/doc/kernel/html/*/*.proc
cp -a /usr/src/linux%variant/{COPYING,CREDITS,MAINTAINERS,README,REPORTING-BUGS} .
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc COPYING CREDITS MAINTAINERS README REPORTING-BUGS
%{_mandir}/man9/*
%files pdf
%defattr(-,root,root)
%dir %{_datadir}/doc/kernel
%docdir %{_datadir}/doc/kernel/pdf
%{_datadir}/doc/kernel/pdf
%files html
%defattr(-,root,root)
%dir %{_datadir}/doc/kernel
%docdir %{_datadir}/doc/kernel/html
%{_datadir}/doc/kernel/html
%changelog

41981
kernel-lpae.changes Normal file

File diff suppressed because it is too large Load Diff

1152
kernel-lpae.spec Normal file

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,18 @@ Requires: coreutils grep
Enhances: kernel-%1
%if %1 == "default"
Obsoletes: %{-n*}-kmp-trace
%ifarch %ix86
Obsoletes: %{-n*}-kmp-vmi
%endif
%ifarch x86_64
Obsoletes: %{-n*}-kmp-desktop
%endif
%ifarch %ix86 x86_64
Obsoletes: %{-n*}-kmp-xen
%endif
%endif
%if %1 == "pae"
Obsoletes: %{-n*}-kmp-desktop
%endif
AutoReqProv: on
%{-p:%{expand:%(cd %_sourcedir; cat %{-p*})}}

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
%define patchversion 3.12.61
%define patchversion 4.6.3
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@ -39,10 +39,7 @@ BuildRequires: kernel
%define kernel_flavor ""
%endif
%ifarch %ix86 x86_64
BuildRequires: kernel-xen
%endif
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64
%if 0%{?suse_version} < 1315
# For SLE 11
BuildRequires: mkinitrd
@ -54,9 +51,9 @@ BuildRequires: dracut
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0
Group: SLES
Version: 3.12.61
Version: 4.6.3
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif
@ -99,10 +96,14 @@ info " binfmt misc..."
modprobe binfmt_misc
EOF
chmod a+rx /usr/lib/dracut/modules.d/80obs/setup_obs.sh
# Configure systemd in kernel-obs-build's initrd not to limit TasksMax,
# we run with build as PID 1 (boo#965564)
echo "DefaultTasksMax=infinity" >> /etc/systemd/system.conf
echo "DefaultTasksAccounting=no" >> /etc/systemd/system.conf
# a longer list to have them also available for qemu cross builds where x86_64 kernel runs in eg. arm env.
# this list of modules where available on build workers of build.opensuse.org, so we stay compatible.
export KERNEL_MODULES="loop dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 reiserfs btrfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat nls_cp437 nls_iso8859-1 ibmvscsi sd_mod"
export KERNEL_MODULES="loop dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 reiserfs btrfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth"
# manually load all modules to make sure they're available
for i in $KERNEL_MODULES; do
@ -131,16 +132,8 @@ ROOT=""
/sbin/mkinitrd $ROOT \
-m "$KERNEL_MODULES" \
-k /boot/%{kernel_name}-*-default -M /boot/System.map-*-default -i /tmp/initrd.kvm -B
%ifarch %ix86 x86_64
/sbin/mkinitrd $ROOT \
-m "$KERNEL_MODULES" \
-k /boot/vmlinuz-xen -M /boot/System.map-*-xen -i /tmp/initrd.xen
%endif
%else
dracut --host-only --drivers="$KERNEL_MODULES" --force /tmp/initrd.kvm `echo /boot/%{kernel_name}-*%{kernel_flavor} | sed -n -e 's,[^-]*-\(.*'%{kernel_flavor}'\),\1,p'`
%ifarch %ix86 x86_64
dracut --host-only --drivers="$KERNEL_MODULES xenblk" --force /tmp/initrd.xen `echo /boot/%{kernel_name}-*-xen | sed -n -e 's,[^-]*-\(.*-xen\),\1,p'`
%endif
%endif
@ -151,10 +144,6 @@ rm -rf /usr/lib/dracut/modules.d/80obs
install -d -m 0755 $RPM_BUILD_ROOT
cp -v /boot/%{kernel_name}-*%{kernel_flavor} $RPM_BUILD_ROOT/.build.kernel.kvm
cp -v /tmp/initrd.kvm $RPM_BUILD_ROOT/.build.initrd.kvm
%ifarch %ix86 x86_64
cp -v /boot/%{kernel_name}-*-xen $RPM_BUILD_ROOT/.build.kernel.xen
cp -v /tmp/initrd.xen $RPM_BUILD_ROOT/.build.initrd.xen
%endif
#inform worker about arch
#see obs-build commit e47399d738e51

View File

@ -39,9 +39,6 @@ BuildRequires: kernel
%define kernel_flavor ""
%endif
%ifarch %ix86 x86_64
BuildRequires: kernel-xen
%endif
ExclusiveArch: @ARCHS@
%if 0%{?suse_version} < 1315
# For SLE 11
@ -99,10 +96,14 @@ info " binfmt misc..."
modprobe binfmt_misc
EOF
chmod a+rx /usr/lib/dracut/modules.d/80obs/setup_obs.sh
# Configure systemd in kernel-obs-build's initrd not to limit TasksMax,
# we run with build as PID 1 (boo#965564)
echo "DefaultTasksMax=infinity" >> /etc/systemd/system.conf
echo "DefaultTasksAccounting=no" >> /etc/systemd/system.conf
# a longer list to have them also available for qemu cross builds where x86_64 kernel runs in eg. arm env.
# this list of modules where available on build workers of build.opensuse.org, so we stay compatible.
export KERNEL_MODULES="loop dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 reiserfs btrfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat nls_cp437 nls_iso8859-1 ibmvscsi sd_mod"
export KERNEL_MODULES="loop dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 reiserfs btrfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth"
# manually load all modules to make sure they're available
for i in $KERNEL_MODULES; do
@ -131,16 +132,8 @@ ROOT=""
/sbin/mkinitrd $ROOT \
-m "$KERNEL_MODULES" \
-k /boot/%{kernel_name}-*-default -M /boot/System.map-*-default -i /tmp/initrd.kvm -B
%ifarch %ix86 x86_64
/sbin/mkinitrd $ROOT \
-m "$KERNEL_MODULES" \
-k /boot/vmlinuz-xen -M /boot/System.map-*-xen -i /tmp/initrd.xen
%endif
%else
dracut --host-only --drivers="$KERNEL_MODULES" --force /tmp/initrd.kvm `echo /boot/%{kernel_name}-*%{kernel_flavor} | sed -n -e 's,[^-]*-\(.*'%{kernel_flavor}'\),\1,p'`
%ifarch %ix86 x86_64
dracut --host-only --drivers="$KERNEL_MODULES xenblk" --force /tmp/initrd.xen `echo /boot/%{kernel_name}-*-xen | sed -n -e 's,[^-]*-\(.*-xen\),\1,p'`
%endif
%endif
@ -151,10 +144,6 @@ rm -rf /usr/lib/dracut/modules.d/80obs
install -d -m 0755 $RPM_BUILD_ROOT
cp -v /boot/%{kernel_name}-*%{kernel_flavor} $RPM_BUILD_ROOT/.build.kernel.kvm
cp -v /tmp/initrd.kvm $RPM_BUILD_ROOT/.build.initrd.kvm
%ifarch %ix86 x86_64
cp -v /boot/%{kernel_name}-*-xen $RPM_BUILD_ROOT/.build.kernel.xen
cp -v /tmp/initrd.xen $RPM_BUILD_ROOT/.build.initrd.xen
%endif
#inform worker about arch
#see obs-build commit e47399d738e51

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@
# needsrootforbuild
%define patchversion 3.12.61
%define patchversion 4.6.3
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@ -28,7 +28,7 @@ BuildRequires: kernel-default
# here as well to avoid that qa and build package build parallel
BuildRequires: kernel-obs-build
BuildRequires: modutils
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64
%if 0%{?suse_version} < 1200
# for SLE 11
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -36,9 +36,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
Version: 3.12.61
Version: 4.6.3
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif

41981
kernel-pae.changes Normal file

File diff suppressed because it is too large Load Diff

1217
kernel-pae.spec Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -9,3 +9,7 @@ addFilter("dangling-symlink /lib/modules/[1-9].*/source")
addFilter("hidden-file-or-dir /usr/src/linux-.*-obj/.*/.config")
addFilter("hidden-file-or-dir /usr/src/linux-.*-obj/.*/.kernel-binary.spec.buildenv")
addFilter("hidden-file-or-dir /boot/\..*\.hmac")
# This check ensures that KMPs are built using the %kernel_module_package
# macro, but we are deliberately not doing this for KMPs built from the
# kernel spec file (fate#319339)
addFilter("suse-policy-kmp-missing-supplements")

View File

@ -17,8 +17,8 @@
# icecream 0
%define srcversion 3.12
%define patchversion 3.12.61
%define srcversion 4.6
%define patchversion 4.6.3
%define variant %{nil}
%define vanilla_only 0
@ -30,9 +30,9 @@ Name: kernel-source
Summary: The Linux Kernel Sources
License: GPL-2.0
Group: Development/Sources
Version: 3.12.61
Version: 4.6.3
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif
@ -45,7 +45,7 @@ Requires(post): coreutils sed
Provides: %name = %version-%source_rel
Provides: linux
Provides: multiversion(kernel)
Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.xz
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@ -67,8 +67,9 @@ Source38: README.KSYMS
Source39: config-options.changes.txt
Source40: source-timestamp
Source44: find-provides
Source45: split-modules
Source46: modversions
Source45: find-requires
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
@ -92,7 +93,6 @@ Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
Source90: SLES-UEFI-SIGN-Certificate-2048.crt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
@ -109,14 +109,13 @@ Source112: patches.trace.tar.bz2
Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
Source122: modprobe-xen.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Prefix: /usr/src
# Source is only complete with devel files.
Requires: kernel-devel%variant = %version-%release
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,find-requires,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define variant_symbols %(case %name in (*-rt) echo "RT" ;; esac)
@ -154,7 +153,7 @@ This package provides the rpm macros and templates for Kernel Module Pakcages
%source_timestamp
%package vanilla
Summary: Vanilla Linux kernel sources with minor build fixes.
Summary: Vanilla Linux kernel sources with minor build fixes
Group: Development/Sources
AutoReqProv: off
Provides: %name-vanilla = %version-%source_rel

View File

@ -67,8 +67,9 @@ Source38: README.KSYMS
Source39: config-options.changes.txt
Source40: source-timestamp
Source44: find-provides
Source45: split-modules
Source46: modversions
Source45: find-requires
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
@ -92,7 +93,6 @@ Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
Source90: SLES-UEFI-SIGN-Certificate-2048.crt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
@ -109,7 +109,6 @@ Source112: patches.trace.tar.bz2
Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
Source122: modprobe-xen.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Prefix: /usr/src
@ -154,7 +153,7 @@ This package provides the rpm macros and templates for Kernel Module Pakcages
%source_timestamp
%package vanilla
Summary: Vanilla Linux kernel sources with minor build fixes.
Summary: Vanilla Linux kernel sources with minor build fixes
Group: Development/Sources
AutoReqProv: off
Provides: %name-vanilla = %version-%source_rel

File diff suppressed because it is too large Load Diff

View File

@ -24,10 +24,10 @@ Name: kernel-syms
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
Version: 3.12.61
Version: 4.6.3
%if %using_buildservice
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif
@ -38,11 +38,14 @@ Release: %kernel_source_release
Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils
%ifarch aarch64 ppc64le s390x x86_64
%ifarch aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64
Requires: kernel-default-devel = %version-%source_rel
%endif
%ifarch x86_64
Requires: kernel-xen-devel = %version-%source_rel
%ifarch armv7hl
Requires: kernel-lpae-devel = %version-%source_rel
%endif
%ifarch %ix86
Requires: kernel-pae-devel = %version-%source_rel
%endif
Requires: pesign-obs-integration
Provides: %name = %version-%source_rel
@ -50,7 +53,7 @@ Provides: multiversion(kernel)
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: %ix86 aarch64 armv6hl armv7hl ppc64 ppc64le s390x x86_64
Prefix: /usr/src
%description

File diff suppressed because it is too large Load Diff

View File

@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
%define srcversion 3.12
%define patchversion 3.12.61
%define srcversion 4.6
%define patchversion 4.6.3
%define variant %{nil}
%define vanilla_only 0
@ -28,7 +28,6 @@
%define build_flavor vanilla
%define build_default ("%build_flavor" == "default")
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
%if ! %build_vanilla
@ -40,7 +39,7 @@
%define rpm_install_dir %buildroot%obj_install_dir
%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,find-requires,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@ -62,9 +61,9 @@ Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0
Group: System/Kernel
Version: 3.12.61
Version: 4.6.3
%if 0%{?is_kotd}
Release: <RELEASE>.g1c2aaa5
Release: <RELEASE>.gd4bcf2a
%else
Release: 0
%endif
@ -80,6 +79,8 @@ BuildRequires: modutils
# Used to sign the kernel in the buildservice
BuildRequires: openssl
BuildRequires: pesign-obs-integration
# for objtool
BuildRequires: libelf-devel
Provides: %name = %version-%source_rel
# bnc#901925
Provides: %name-%version-%source_rel
@ -135,9 +136,6 @@ BuildRequires: dwarfextract
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %build_xen
#!BuildIgnore: xen
%endif
Obsoletes: microcode_ctl
@ -154,11 +152,14 @@ Conflicts: udev < 118
Conflicts: lvm2 < 2.02.33
# Interface to hv_kvp_daemon changed
Conflicts: hyper-v < 4
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%srcversion.tar.xz
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
Source8: devel-pre.sh
@ -180,8 +181,9 @@ Source38: README.KSYMS
Source39: config-options.changes.txt
Source40: source-timestamp
Source44: find-provides
Source45: split-modules
Source46: modversions
Source45: find-requires
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
@ -205,7 +207,6 @@ Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
Source90: SLES-UEFI-SIGN-Certificate-2048.crt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
@ -222,10 +223,19 @@ Source112: patches.trace.tar.bz2
Source113: patches.kabi.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
Source122: modprobe-xen.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: s390x x86_64
ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
%if ! %build_default
BuildArch: i686
# KMPs are always built as i586, because rpm does not allow to build
# subpackages for different architectures. Therefore, we change the
# /usr/src/linux-obj/<arch> symlink to i586.
%define kmp_target_cpu i586
%endif
%endif
# These files are found in the kernel-source package:
NoSource: 0
@ -252,6 +262,7 @@ NoSource: 40
NoSource: 44
NoSource: 45
NoSource: 46
NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
@ -275,7 +286,6 @@ NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 90
NoSource: 100
NoSource: 101
NoSource: 102
@ -292,7 +302,6 @@ NoSource: 112
NoSource: 113
NoSource: 120
NoSource: 121
NoSource: 122
# The following KMPs have been integrated into the kernel package,
# grouped by the last product that contained them.
@ -342,10 +351,17 @@ Provides: ath3k-firmware = 1.0
%obsolete_kmp compat-wireless 3.12
%obsolete_kmp rts5229 1.08
%obsolete_kmp rts_pstor 1.11
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
%define __find_provides %_sourcedir/find-provides %name
# Generate dependencies for KMPs defined in supported.conf
%define __find_requires %_sourcedir/find-requires %name %version-%release %my_builddir
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
@ -375,15 +391,11 @@ mkdir -p %kernel_build_dir
# Generate a list of modules with their support status marking
%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \
awk '
/^\+(base|yes) / {
print $(NF);
next;
}
/^\+external / {
/\+external / {
print $(NF) " external";
next;
}
/^[-+]/ {
/^-/ {
print $(NF) " no";
next;
}
@ -391,8 +403,11 @@ awk '
print $(NF);
}
' >%kernel_build_dir/Module.supported
%_sourcedir/guards --default=0 base < %_sourcedir/supported.conf | \
sed 's,.*/,,; s,\.ko$,,' | sort -u >%kernel_build_dir/Module.base
for package in base ; do
%_sourcedir/guards --default=0 "$package" \
<%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
sort -u >%kernel_build_dir/Module."$package"
done
cd linux-%srcversion
@ -423,7 +438,17 @@ if [ -f %_sourcedir/localversion ] ; then
cat %_sourcedir/localversion > localversion
fi
vanilla_base="default"
%ifarch %ix86
vanilla_base="pae"
%endif
if ! grep -q CONFIG_MMU= "%my_builddir/config/%cpu_arch_flavor"; then
cp "%my_builddir/config/%cpu_arch/$vanilla_base" .config
../scripts/kconfig/merge_config.sh -m .config \
%my_builddir/config/%cpu_arch_flavor
else
cp %my_builddir/config/%cpu_arch_flavor .config
fi
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
@ -461,7 +486,8 @@ fi
make clean $MAKE_ARGS
rm -f source
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \
> %my_builddir/obj-files
%build
cd %kernel_build_dir
@ -472,43 +498,21 @@ if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
# copy optional module signing files:
# *.x509, *.crt
# - certificates with pubkeys used to verify module and firmware signatures
# at runtime. *.crt files assumed to be in the PEM format.
# signing_key.priv
# - unencrypted private key used to sign modules and firmware during build
# x509.genkey
# - openssl req config to generate a new signing_key.{x509,priv} pair for the
# build
for f in %_sourcedir/*.x509 %_sourcedir/{signing_key.priv,x509.genkey}; do
if test -e "$f"; then
cp "$f" .
fi
done
# copy module signing certificate(s)
for f in %_sourcedir/*.crt; do
if ! test -e "$f"; then
continue
fi
out=${f##*/}
out=${out%.crt}.x509
openssl x509 -inform PEM -in "$f" -outform DER -out "$out"
case "${f##*/}" in
SLES-UEFI*.crt)
../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}"
cp "$f" .
;;
*)
cat "$f" >>keyring.crt
../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt"
esac
done
# Convince kernel/Makefile not to generate a new keypair
touch x509.genkey
touch signing_key.x509
%if %build_vanilla
# workaround for the 3.12 vanilla kernel which does not have
# f0e6d22 ("KEYS: Load *.x509 files into kernel keyring)
# but supports an "extra_certificates" file instead
for f in *.x509; do
if test ! -e "$f" -o "$f" = "signing_key.x509"; then
continue
fi
cat "$f" >>extra_certificates
done
%endif
MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
@ -540,6 +544,11 @@ export BRP_PESIGN_FILES="*.ko"
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
%ifarch %ix86
# XXX: do not sign on x86, as the repackaging changes kernel-pae
# from i686 to i586
BRP_PESIGN_FILES=""
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
@ -588,9 +597,6 @@ add_vmlinux()
%ifarch %ix86 x86_64
add_vmlinux --compressed
image=bzImage
%if %build_xen
test -f arch/x86/boot/$image || image=vmlinuz
%endif
cp -p arch/x86/boot/$image %buildroot/boot/vmlinuz-%kernelrelease-%build_flavor
image=vmlinuz
%endif
@ -648,12 +654,6 @@ if test %CONFIG_MODULE_SIG = "y"; then
done
fi
# Install the frontend driver selector file for xen/ec2
%if %build_xen
mkdir -p %buildroot/etc/modprobe.d
cp %_sourcedir/modprobe-xen.conf %buildroot/etc/modprobe.d/50-xen.conf
%endif
for sub in '-base' '' '-extra'; do
case "$sub" in
'-base' | '') base_package=1 ;;
@ -691,7 +691,7 @@ for sub in '-base' '' '-extra'; do
done
done
%if %build_xen || %build_vanilla
%if %build_vanilla
# keep this -suffix list in sync with post.sh and postun.sh
suffix=-%build_flavor
%endif
@ -783,7 +783,7 @@ if [ %CONFIG_MODULES = y ]; then
%if %split_base
%_sourcedir/split-modules -d %buildroot \
-o %my_builddir \
-b %kernel_build_dir/Module.base \
-b %kernel_build_dir \
%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-e \
%endif
@ -794,18 +794,18 @@ if [ %CONFIG_MODULES = y ]; then
cat %my_builddir/unsupported-modules >>%my_builddir/main-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
%else
( cd %buildroot
find lib/modules/%kernelrelease-%build_flavor -type f -name '*.ko' -printf '/%%p\n'
) > %my_builddir/base-modules
%endif
# The modules.dep file is sorted randomly which produces strange file
# checksums. As the file is not included in the resulting RPM, it's
# pointless to rely on its contents. Replacing by zeros to make the
# checksums always the same for several builds of the same package.
dd if=/dev/zero of=%buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep ibs=`stat -c%s %buildroot/lib/modules/%kernelrelease-%build_flavor/modules.dep` count=1
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
@ -912,26 +912,35 @@ done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
find etc/uefi/certs -type f -printf '/%%p\n'
fi
# optional per-kernel-release module config workarounds
if test -d etc/modprobe.d; then
find etc/modprobe.d -type f -printf '%%%%config(noreplace) /%%p\n'
if test -d lib/firmware/%kernelrelease-%build_flavor; then
%if %split_base
echo "%%dir /lib/firmware/%kernelrelease-%build_flavor"
cat %my_builddir/base-firmware
%else
echo "/lib/firmware/%kernelrelease-%build_flavor"
%endif
fi
test -d lib/firmware/%kernelrelease-%build_flavor && \
find lib/firmware/%kernelrelease-%build_flavor \
-type d -o \
-printf '/%%p\n'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
} | sort -u | add_dirs_to_filelist >%my_builddir/kernel-base.files
%if %split_base
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules} \
> %my_builddir/kernel-main.files
{
add_dirs_to_filelist %my_builddir/{kernel-base.files,main-modules}
if test -d %buildroot/lib/firmware/%kernelrelease-%build_flavor; then
echo "/lib/firmware/%kernelrelease-%build_flavor"
fi
} > %my_builddir/kernel-main.files
%endif
%if %split_extra
add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files
%endif
for f in %my_builddir/*-kmp-modules; do
f2=${f%%-modules}.files
add_dirs_to_filelist "$f" >"$f2"
done
# Hardlink duplicate files automatically (from package fdupes): It doesn't save
# much, but it keeps rpmlint from breaking the package build. Note that we skip
@ -988,6 +997,9 @@ Requires(post): distribution-release
%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description base
The standard kernel - without any SUSE patches
@ -1025,6 +1037,9 @@ Requires(post): mkinitrd
%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description extra
The standard kernel - without any SUSE patches
@ -1050,7 +1065,7 @@ This package contains additional modules not supported by Novell.
%if %CONFIG_KMSG_IDS == "y"
%package man
Summary: The collection of man pages generated by the kmsg script.
Summary: The collection of man pages generated by the kmsg script
Group: System/Kernel
%description man
@ -1071,6 +1086,9 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla
Requires: kernel-devel%variant = %version-%source_rel
Recommends: make
Recommends: gcc
Recommends: perl
Supplements: packageand(%name:kernel-devel%variant)
%else
Requires: kernel-source-vanilla = %version-%source_rel
@ -1106,4 +1124,26 @@ kernel module packages) against the %build_flavor flavor of the kernel.
%endif
%endif
%if %CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
%package kgraft
Summary: Metapackage to pull in matching kgraft-patch package
Group: System/Kernel
Requires: kgraft-patch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
Provides: multiversion(kernel)
%description kgraft
This is a metapackage that pulls in the matching kgraft-patch package for a
given kernel version. The advantage of the metapackage is that its name is
static, unlike the kgraft-patch-<kernel-version>-flavor package names.
%files kgraft
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
%if %split_base
%endif
%changelog

3
linux-4.6.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a93771cd5a8ad27798f22e9240538dfea48d3a2bf2a6a6ab415de3f02d25d866
size 89461728

57
mkspec
View File

@ -23,6 +23,8 @@ my %syms_flavor_archs = parse_config_conf("syms");
# template name -> template body
my %templates = read_spec_templates();
my @kmps = read_kmps();
# config.sh variables
my %vars = parse_config_sh();
my ($srcversion, $variant, $vanilla_only) =
@ -88,6 +90,23 @@ my %macros = (
);
# binary spec files
my $kmp_definitions = "";
for my $kmp (@kmps) {
my ($summary, $description);
if (!exists($binary_descriptions{$kmp})) {
print STDERR "warning: no description for $kmp found\n";
($summary = $kmp) =~ s/-kmp$//;
$summary .= " kernel modules";
$description = "$summary.";
} else {
$summary = $binary_descriptions{$kmp}->[0];
$description = $binary_descriptions{$kmp}->[1];
}
$kmp_definitions .= expand_template("kmp",
KMP_NAME => $kmp,
KMP_SUMMARY => $summary,
KMP_DESCRIPTION => $description);
}
for my $flavor (sort keys(%flavor_archs)) {
my ($summary, $description);
if (!exists($binary_descriptions{"kernel-$flavor"})) {
@ -112,6 +131,8 @@ for my $flavor (sort keys(%flavor_archs)) {
DESCRIPTION => $description,
ARCHS => join(" ", arch2rpm(@{$flavor_archs{$flavor}})),
COMMON_DEPS => $templates{common_deps},
KMPS => join(" ", @kmps),
KMP_DEFINITIONS => $kmp_definitions,
%obsolete_macros
);
}
@ -216,6 +237,12 @@ sub read_spec_templates {
print STDERR "warning: Expected # BEGIN COMMON DEPS in kernel-binary.spec.in\n";
$res{common_deps} = "";
}
if ($res{$template} =~ s/^# BEGIN KMP\n?(.*)^# END KMP/\@KMP_DEFINITIONS\@/ms) {
$res{kmp} = $1;
} else {
print STDERR "warning: Expected # BEGIN KMP in kernel-binary.spec.in\n";
$res{kmp} = "";
}
}
{
xopen(my $fh, '<', "$dir/constraints.in");
@ -290,6 +317,24 @@ sub parse_descriptions {
return %res;
}
sub read_kmps {
my %res;
open(my $fh, '-|', "$dir/guards", "--list", "--with-guards",
"-c", "$dir/supported.conf") or die "Error running guards: $!\n";
while (<$fh>) {
my @guards = split(' ');
pop(@guards);
for my $g (@guards) {
if ($g =~ /^\+(.*-kmp)$/) {
$res{$1} = 1;
}
}
}
close($fh) or die "Error running guards: $!\n";
return sort(keys(%res));
}
sub parse_old_flavors{
my %res;
@ -394,9 +439,8 @@ sub get_commit {
return $commit;
}
sub do_spec {
sub expand_template {
my $template = shift;
my $specfile = shift;
my %macros = @_;
my $text = $templates{$template};
@ -407,6 +451,15 @@ sub do_spec {
$text =~ s/\@$m\@/$macros{$m}/g;
}
} while ($prev_text ne $text);
return $text;
}
sub do_spec {
my $template = shift;
my $specfile = shift;
my %macros = @_;
my $text = expand_template($template, %macros);
print "$specfile\n";
xopen(my $fh, '>', "$dir/$specfile");
print $fh $text;

View File

@ -1,10 +1,45 @@
# List of obsolete kernel flavors
# <arch>/<new flavor> <old flavor> <upper bound of shipped versions>
# SLES 9
ia64/default sn2 2.6.6
ppc/ppc64 pmac64 2.6.6
ppc/ppc64 pseries64 2.6.6
# SLES 10
i386/default smp 2.6.17
i386/pae bigsmp 2.6.17
i386/xen xenpae 2.6.17
x86_64/default smp 2.6.17
ppc/ppc64 iseries64 2.6.17
ppc/ppc64 kdump 2.6.17
# SLES 11 GA only
# FIXME: more architectures had kdump in SLES 10
ppc64/debug kdump 2.6.28
ppc64/default kdump 2.6.28
ppc64/ppc64 kdump 2.6.28
ppc64/trace kdump 2.6.28
# SLES 11 GA only / 11.4
i386/pae vmi 2.6.38
# SLES 11 SP3 / openSUSE 13.1
i386/default trace 3.13
x86_64/default trace 3.13
x86_64/default bigsmp 3.1
s390x/default trace 3.13
# openSUSE 13.2 / Tumbleweed until 2015-10-01
i386/pae desktop 4.3
x86_64/default desktop 4.3
i386/pae xen 4.4
i386/pae ec2 4.4
x86_64/default xen 4.4
x86_64/default ec2 4.4

View File

@ -20,6 +20,18 @@ The Standard Kernel
The standard kernel for both uniprocessor and multiprocessor systems.
=== kernel-pae ===
Kernel with PAE Support
This kernel supports up to 64GB of main memory. It requires Physical
Addressing Extensions (PAE), which were introduced with the Pentium Pro
processor.
PAE is not only more physical address space but also important for the
"no execute" feature which disables execution of code that is marked as
non-executable. Therefore, the PAE kernel should be used on any systems
that support it, regardless of the amount of main memory.
=== kernel-vanilla ===
The Standard Kernel - without any SUSE patches
@ -38,8 +50,37 @@ The Amazon EC2 Xen Kernel
The Linux kernel for Xen paravirtualization.
This kernel can only be used both as an unprivileged ("xenU")
kernel (for Amazon EC2).
This kernel can only be used as an unprivileged ("xenU") kernel
(mainly, but not exclusively, for Amazon EC2).
=== kernel-pv ===
The para-virtualized Kernel
The Linux kernel for Xen (and other) paravirtualization, using pv-ops
in the Xen/x86 case, in which case it can be used both as the domain0
("xen0") and as an unprivileged ("xenU") kernel.
=== kernel-lpae ===
Kernel for LPAE enabled systems
The kernel for all 32-bit ARM platforms that support LPAE. This includes all
Cortex A15 based SoCs, like the Exynos5, OMAP5 or Calxeda ECX-2000.
=== kernel-cubox ===
Kernel for SolidRun Cubox
The standard kernel for Marvell Dove SoC, as found in
the SolidRun Cubox.
=== kernel-exynos ===
Kernel for Samsung's Exynos SoC
The standard kernel for Samsung's Exynos 4 & 5 SoC, as found in the Origen board.
=== kernel-versatile ===
Kernel for Versatile SoC
The standard kernel for Versatile SoC, or for emulation with QEMU.
=== kernel-zfcpdump ===
The IBM System Z zfcpdump Kernel

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:64999760d0fd4940838022648dd94e6461f8f253fe7f43603e2c08e46dece9dd
size 6317
oid sha256:c25c250242611927b31cfa921fd04b7a4b2b174bf866533c1adb6cc15aec17ee
size 6206

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7e86c0031ee2c41c0236b54d7b1db4583aa7af6b3d808f4276f984174f6fd539
size 834000
oid sha256:21df83b915ff06c7edb0a3fa34ac1e5724db276f0c515119919ebe14390a5fe9
size 200984

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e31aceeb662b9760292d17fdac646e670d610f4e0fee5dae45b6bd48c12e6e8
size 2328266
oid sha256:a2bd76db12bf5bdcb463cd7771cf9eb01f8efb4a2eefca55eae215fb20bd90df
size 4964

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:38090b8dd61d69a4ebed612fd66b15bbaec0448aeaec8a50ba1f07f982112e61
size 640765
oid sha256:c3387a1daf18c80ddd6bddb79ddee608cf5b91cd17da4c10fa5a01edcd9f941d
size 12282

BIN
patches.kabi.tar.bz2 (Stored with Git LFS)

Binary file not shown.

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e3f3b91c84f208c9ba32460c56ec8d8697246890dd2f33b6ab70d342efb511f
size 2188848
oid sha256:0e33bc8d20f98fd909fd090248cb8e01645495b34f30e6f87ce6ce982f568536
size 115840

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c5e245dbca71b5da1bd1a8dc3a91fa7510dedfe678e02c25f5f79826093b5b2b
size 3679
oid sha256:90b3565e7317ba1dcd9dfda42b02258a83916b1aa1d75f3c8e6fff099fc69c9f
size 2828

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a23cdda5c3f708dd42bbb3f1b064cf7a844f9e34dc5abcf888511571385829b0
size 1681159
oid sha256:d963b35132f29fe1abc9822d43d08f6fa5859a2af3709179e2006fa4381a6e2c
size 59843

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e908b95bb0ed533830acc5d8c703955160ad3495520e6205d8b5829fcc18309
size 1909883
oid sha256:6dfe8549f6e38f0b10c457737af3d0abb9e8001f0716350e97012671ec1657b6
size 130

View File

@ -2,11 +2,9 @@
touch /boot/do_purge_kernels
suffix=
case @FLAVOR@ in
xen*|ec2|vanilla)
suffix=-@FLAVOR@
;;
esac
if test "@FLAVOR@" = "vanilla"; then
suffix=-@FLAVOR@
fi
for x in /boot/@IMAGE@ /boot/initrd; do
rm -f $x$suffix
ln -s ${x##*/}-@KERNELRELEASE@-@FLAVOR@ $x$suffix

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,3 @@
2016-06-15 16:03:26 +0200
GIT Revision: 1c2aaa5c797fabfd29562f85592cabd6465e6191
GIT Branch: SLE12
2016-06-26 09:34:33 +0200
GIT Revision: d4bcf2abd85a8d69da9d3f3e4e5dc57c556bca61
GIT Branch: stable

View File

@ -19,7 +19,7 @@ if test $? -ne 0; then
exit 1
fi
eval set -- "$options"
opt_base=
opt_builddir=
opt_out=.
opt_dir=.
opt_ignore_errors=false
@ -34,7 +34,7 @@ while test $# -gt 0; do
esac
case "$opt" in
-b)
opt_base=$arg ;;
opt_builddir=$arg ;;
-d)
opt_dir=$arg ;;
-o)
@ -50,7 +50,7 @@ while test $# -gt 0; do
exit 1
esac
done
if test -z "$opt_base"; then
if test -z "$opt_builddir"; then
usage >&2
exit 1
fi
@ -110,15 +110,34 @@ add_dependent_modules()
}
# base
sed 'y/-/_/' <"$opt_base" | add_dependent_modules >"$tmp/base"
sed 'y/-/_/' <"$opt_builddir/Module.base" | add_dependent_modules >"$tmp/base"
join -j 1 -o 2.2 "$tmp/base" "$tmp/all" >"$opt_out/base-modules"
# base firmware
kver=$(make -s -C "$opt_builddir" kernelrelease)
if test -d "$opt_dir/lib/firmware/$kver"; then
join <(/sbin/modinfo -F firmware \
$(sed "s:^:$opt_dir:" "$opt_out/base-modules") | sort) \
<(find "$opt_dir/lib/firmware/$kver" -type f -printf '%P\n' | sort)
fi | sed "s:^:/lib/firmware/$kver/:" >"$opt_out/base-firmware"
# kmps
for f in "$opt_builddir"/Module.*-kmp; do
kmp=${f##*/Module.}
sed 'y/-/_/' <"$f" >"$tmp/$kmp"
join -j 1 -o 2.2 "$tmp/$kmp" "$tmp/all" >"$opt_out/$kmp-modules"
cat "$tmp/$kmp"
done | sort -u >"$tmp/kmp-all"
join -v1 "$tmp/supp" "$tmp/kmp-all" >"$tmp/supp-main"
# main
add_dependent_modules "$tmp/supp-explain" <"$tmp/supp" >"$tmp/supp-all"
if ! cmp -s "$tmp/supp" "$tmp/supp-all"; then
add_dependent_modules "$tmp/supp-explain" <"$tmp/supp-main" >"$tmp/supp-all"
if ! cmp -s "$tmp/supp-main" "$tmp/supp-all"; then
# FIXME: Error message not accurate if a supported KMP module is
# needed by a module in the main package
echo "The following unsupported modules are used by supported modules:" >&2
join -j1 -a2 <(sort "$tmp/supp-explain") \
<(join -v2 "$tmp/supp" "$tmp/supp-all") >&2
<(join -v2 "$tmp/supp-main" "$tmp/supp-all") >&2
echo "Please fix supported.conf." >&2
if ! $opt_ignore_errors; then
exit 1
@ -127,7 +146,7 @@ fi
join -j 1 -o 2.2 "$tmp/supp-all" "$tmp/all" >"$opt_out/main-modules"
# unsupported
join -j 1 -v 2 -o 2.2 "$tmp/supp-all" "$tmp/all" >"$opt_out/unsupported-modules"
join -j 1 -v 2 -o 2.2 <(sort -u "$tmp/supp-all" "$tmp/kmp-all") "$tmp/all" >"$opt_out/unsupported-modules"
exit 0

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4f52f53a399072b4b65065e3e6a7d8644e7b6d7cec0d95ce99c25498d5211210
size 870
oid sha256:f9b11db009db01d930ee604ba73105eb260790a62fdf3daf5521cb0aeacc22c3
size 841