Accepting request 913265 from Kernel:stable

UsrMerge attempt v3 & a Bluetooth CVE fix

OBS-URL: https://build.opensuse.org/request/show/913265
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kernel-source?expand=0&rev=601
This commit is contained in:
Dominique Leuenberger 2021-08-24 08:54:15 +00:00 committed by Git OBS Bridge
commit e155dc8dd4
45 changed files with 1199 additions and 244 deletions

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -31,7 +31,7 @@
Name: dtb-aarch64
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -31,7 +31,7 @@
Name: dtb-armv6l
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -31,7 +31,7 @@
Name: dtb-armv7l
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -31,7 +31,7 @@
Name: dtb-riscv64
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-64kb
Summary: Kernel with 64kb PAGE_SIZE
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@ -616,6 +630,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -711,11 +733,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -777,6 +807,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -983,6 +1020,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -995,7 +1036,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1012,10 +1053,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1024,6 +1078,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1039,24 +1095,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1117,15 +1195,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1311,7 +1389,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -68,6 +68,20 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-@FLAVOR@
Summary: @SUMMARY@
License: GPL-2.0-only
@ -471,6 +485,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -566,11 +588,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -632,6 +662,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -838,6 +875,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -850,7 +891,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -867,10 +908,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -879,6 +933,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -894,24 +950,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -972,15 +1050,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1163,7 +1241,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-debug
Summary: A Debug Version of the Kernel
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%ifarch ppc64
Provides: kernel-kdump = 2.6.28
Obsoletes: kernel-kdump <= 2.6.28
@ -622,6 +636,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -717,11 +739,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -783,6 +813,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -989,6 +1026,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -1001,7 +1042,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1018,10 +1059,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1030,6 +1084,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1045,24 +1101,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1123,15 +1201,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1325,7 +1403,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-default
Summary: The Standard Kernel
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%ifarch %ix86
Provides: kernel-smp = 2.6.17
Obsoletes: kernel-smp <= 2.6.17
@ -665,6 +679,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -760,11 +782,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -826,6 +856,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -1032,6 +1069,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -1044,7 +1085,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1061,10 +1102,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1073,6 +1127,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1088,24 +1144,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1166,15 +1244,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1426,7 +1504,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -33,7 +33,7 @@ License: GPL-2.0-only
Group: Documentation/Man
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -64,7 +64,7 @@ BuildRequires: texlive-zapfding
%endif
Url: http://www.kernel.org/
Provides: %name = %version-%source_rel
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-kvmsmall
Summary: The Small Developer Kernel for KVM
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@ -620,6 +634,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -715,11 +737,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -781,6 +811,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -987,6 +1024,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -999,7 +1040,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1016,10 +1057,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1028,6 +1082,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1043,24 +1099,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1121,15 +1199,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1323,7 +1401,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-lpae
Summary: Kernel for LPAE enabled systems
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@ -614,6 +628,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -709,11 +731,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -775,6 +805,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -981,6 +1018,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -993,7 +1034,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1010,10 +1051,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1022,6 +1076,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1037,24 +1093,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1115,15 +1193,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1305,7 +1383,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -45,7 +45,7 @@ BuildRequires: util-linux
%endif
%endif
%endif
BuildRequires: kernel%kernel_flavor-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
BuildRequires: kernel%kernel_flavor-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%if 0%{?rhel_version}
BuildRequires: kernel
@ -66,7 +66,7 @@ License: GPL-2.0-only
Group: SLES
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -38,7 +38,7 @@ License: GPL-2.0-only
Group: SLES
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -60,7 +60,7 @@ projects and runs basic tests.
# and called here.
krel=$(uname -r)
if test ! -d "/lib/modules/$krel/kernel"; then
if test ! -d "/lib/modules/$krel/kernel" && test ! -d "/usr/lib/modules/$krel/kernel"; then
echo "Kernel package for $krel not installed; exiting"
exit 0
fi

View File

@ -60,7 +60,7 @@ projects and runs basic tests.
# and called here.
krel=$(uname -r)
if test ! -d "/lib/modules/$krel/kernel"; then
if test ! -d "/lib/modules/$krel/kernel" && test ! -d "/usr/lib/modules/$krel/kernel"; then
echo "Kernel package for $krel not installed; exiting"
exit 0
fi

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-pae
Summary: Kernel with PAE Support
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%ifarch %ix86
Provides: kernel-bigsmp = 2.6.17
Obsoletes: kernel-bigsmp <= 2.6.17
@ -642,6 +656,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -737,11 +759,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -803,6 +833,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -1009,6 +1046,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -1021,7 +1062,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1038,10 +1079,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1050,6 +1104,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1065,24 +1121,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1143,15 +1221,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1375,7 +1453,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -2,10 +2,10 @@
addFilter("zero-length /usr/src/linux-.*-obj/.*/include/config.*h")
addFilter("zero-length /usr/src/linux-.*-obj/.*/include/config/.*")
# vdsos are special
addFilter("shared-lib-without-dependency-information /lib/modules/[1-9].*/vdso/.*")
addFilter("missing-PT_GNU_STACK-section /lib/modules/[1-9].*/vdso/.*")
addFilter("shared-lib-without-dependency-information .*/lib/modules/[1-9].*/vdso/.*")
addFilter("missing-PT_GNU_STACK-section .*/lib/modules/[1-9].*/vdso/.*")
# This is a stale symlink until the kernel-source package is installed:
addFilter("dangling-symlink /lib/modules/[1-9].*/source")
addFilter("dangling-symlink .*/lib/modules/[1-9].*/source")
# These hidden files are fine:
addFilter("hidden-file-or-dir /usr/src/linux-.*-obj/.*/.config")
addFilter("hidden-file-or-dir /usr/src/linux-.*-obj/.*/.kernel-binary.spec.buildenv")

View File

@ -32,7 +32,7 @@ License: GPL-2.0-only
Group: Development/Sources
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -43,7 +43,7 @@ BuildRequires: fdupes
BuildRequires: sed
Requires(post): coreutils sed
Provides: %name = %version-%source_rel
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: linux
Provides: multiversion(kernel)
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz

View File

@ -11,7 +11,7 @@ set -o pipefail
install -d -m 0755 $RPM_BUILD_ROOT/boot
$scriptdir/splitflist $kernel_package_name kernel.flist kernel-ghost.flist
echo Missing files:
echo Ghost files:
cat kernel-ghost.flist
rpm -q --qf '%{PREIN}' $kernel_package_name | sed -e "s/$kernel_nvrq/$package_nvr/g" > prein.sh
@ -21,7 +21,8 @@ rpm -q --qf '%{POSTUN}' $kernel_package_name | sed -e "s/$kernel_nvrq/$package_n
[ -z "$(rpm -q --triggers $kernel_package_name)" ] # not handled
KREL=$(cat kernel.flist | grep ^/lib/modules | { sort -r ||: ;} | head -n 1 | sed -e s,^/lib/modules/,, -e 's,/.*,,')
KREL=$(sed -rne '/^(\/usr)?\/lib\/modules\/([^/]+)$/{s,.*/,,;p;q}' < kernel.flist)
grep -q /usr/lib/modules/ kernel.flist && USR=/usr
$scriptdir/mergedep $KREL > modules.dep
@ -29,13 +30,13 @@ $scriptdir/mergedep $KREL > modules.dep
$scriptdir/moddep modules.dep request-modules modules
$scriptdir/modflist kernel.flist modules modules.flist /lib/modules/$KREL/modules.builtin
cat kernel.flist | grep -v ^/lib/modules >> modules.flist
[ -d /lib/modules/$KREL/vdso ] && echo /lib/modules/$KREL/vdso >> modules.flist ||:
echo /lib/modules/$KREL/modules.* | tr ' ' '\n' >> modules.flist
grep -v "^$USR/lib/modules/$KREL\\(\$\\|/kernel\\)" < kernel.flist >> modules.flist || :
tar -C / -cf- -T modules.flist | tar -C $RPM_BUILD_ROOT -xvf-
[ -z "$USR" ] || ln -s usr/lib $RPM_BUILD_ROOT/lib
moderr="$(/usr/sbin/depmod -b $RPM_BUILD_ROOT -e -F /boot/System.map-$KREL $KREL 2>&1 > /dev/null)"
[ -z "$USR" ] || rm $RPM_BUILD_ROOT/lib
if [ "$moderr" ] ; then
echo Picked modules have errors:
@ -44,35 +45,27 @@ exit 1
fi
echo "%defattr(-,root,root)" > subpackage.flist
cat kernel.flist | grep -v ^/lib/modules >> subpackage.flist
echo /lib/modules/$KREL >> subpackage.flist
cat kernel-ghost.flist | sed -e 's/^/%ghost /' >> subpackage.flist
cat kernel-ghost.flist | while read ghost ; do
case $ghost in
/boot/image-%build_flavor | /boot/vmlinux-%build_flavor | /boot/vmlinuz-%build_flavor | \
/boot/Image-%build_flavor | /boot/initrd-%build_flavor)
;;
/boot/vmlinux | /boot/vmlinuz | /boot/zImage | /boot/Image | /boot/image | /boot/initrd)
;;
/boot/vmlinux-$KREL)
[ -f /boot/vmlinux-$KREL.gz ] && touch vmlinux-$KREL
;;
/boot/initrd-$KREL | /boot/initrd-$KREL-kdump)
# Create a dummy initrd with roughly the size the real one will have.
# That way, YaST will know that this package requires some additional
# space in /boot.
dd if=/dev/zero of=$RPM_BUILD_ROOT$ghost \
bs=1024 seek=2047 count=1
chmod 0600 $RPM_BUILD_ROOT$ghost
;;
/lib/modules/$KREL/modules.*)
[ -f $RPM_BUILD_ROOT$ghost ]
;;
*)
echo Missing file "$ghost" not handled.
exit 1;
;;
esac
done
echo "%dir $USR/lib/modules/$KREL" >> subpackage.flist
grep -v "^$USR/lib/modules/$KREL\\(\$\\|/kernel\\)" < kernel.flist >> subpackage.flist || :
echo $USR/lib/modules/$KREL/kernel >> subpackage.flist
while read name rest; do
echo "%ghost $name"
done < kernel-ghost.flist >> subpackage.flist
# recreate ghost files in build root
while read name mode size mtime link; do
t=$(( mode&0170000 ))
p="${mode:0-4:4}"
(( p != 0 )) || p=''
if (( t == 0100000 )); then
install -D -m "${p:-0644}" /dev/null "$RPM_BUILD_ROOT$name"
dd if=/dev/null bs=1 count=0 status=none seek="$size" of="$RPM_BUILD_ROOT$name"
touch -h --date="@$mtime" "$RPM_BUILD_ROOT$name"
elif (( t == 0040000 )); then
install -d -m "${p:-0755}" "$RPM_BUILD_ROOT$name"
touch -h -date="@$mtime" "$RPM_BUILD_ROOT$name"
elif (( t == 0120000 )); then
ln -s "$link" "$RPM_BUILD_ROOT$name"
touch -h --date="@$mtime" "$RPM_BUILD_ROOT$name"
fi
done < kernel-ghost.flist

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -27,7 +27,7 @@ Group: Development/Sources
Version: 5.13.12
%if %using_buildservice
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -52,7 +52,7 @@ Requires: kernel-pae-devel = %version-%source_rel
%endif
Requires: pesign-obs-integration
Provides: %name = %version-%source_rel
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: multiversion(kernel)
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-vanilla
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@ -613,6 +627,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -708,11 +730,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -774,6 +804,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -980,6 +1017,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -992,7 +1033,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1009,10 +1050,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1021,6 +1075,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1036,24 +1092,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1114,15 +1192,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1302,7 +1380,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Aug 18 14:54:50 CEST 2021 - tiwai@suse.de
- Bluetooth: switch to lock_sock in SCO (CVE-2021-3640
bsc#1188172).
- Bluetooth: avoid circular locks in sco_sock_connect
(CVE-2021-3640 bsc#1188172).
- commit aa9e1af
-------------------------------------------------------------------
Wed Aug 18 09:50:06 CEST 2021 - jslaby@suse.cz
@ -631,11 +640,16 @@ Wed Aug 11 08:39:05 CEST 2021 - jslaby@suse.cz
-------------------------------------------------------------------
Wed Aug 11 06:36:51 CEST 2021 - jslaby@suse.cz
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86. By that,
we reverted the original commit 6f5ed044f52a. But the selinux problem is
hopefully fixed in the meantime, so it's time to try UsrMerge for kernel
again.
- Revert "Revert "UsrMerge the kernel (boo#1184804)""
This reverts commit b6ab3ded319fca797d007c541a190a308f940cf7. By that,
we reverted the original commit 6f5ed044f52a. But the two problems were
adressed in the meantime, so it's time to try UsrMerge for kernel again.
- commit 2e9639b
- commit 33df9c6
-------------------------------------------------------------------
Mon Aug 9 13:13:03 CEST 2021 - ludwig.nussel@suse.de

View File

@ -68,13 +68,27 @@
%define install_vdso 0
%endif
# TW is usrmerged
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
%define usrmerged 1
%endif
%if 0%{?usrmerged}
%define modules_dir /usr/lib/modules/%kernelrelease-%build_flavor
%define systemmap %{modules_dir}/System.map
%else
%define modules_dir /lib/modules/%kernelrelease-%build_flavor
%define systemmap /boot/System.map-%kernelrelease-%build_flavor
%endif
Name: kernel-zfcpdump
Summary: The IBM System Z zfcpdump Kernel
License: GPL-2.0-only
Group: System/Kernel
Version: 5.13.12
%if 0%{?is_kotd}
Release: <RELEASE>.g999e604
Release: <RELEASE>.g33df9c6
%else
Release: 0
%endif
@ -191,10 +205,10 @@ Conflicts: hyper-v < 4
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: kernel-%build_flavor-base-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
Provides: kernel-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
# END COMMON DEPS
Provides: %name-srchash-999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
Provides: %name-srchash-33df9c651d0aa37cce1275bd9528ea5cb9196022
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@ -616,6 +630,14 @@ done
%install
%if 0%{?usrmerged}
# add symlink for usrmerge so install scripts will just follow the
# link and end up placing files in /usr/lib. The link will be
# removed later and is not packaged here.
mkdir -p %{buildroot}/usr/lib
ln -s usr/lib %{buildroot}/lib
%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
@ -711,11 +733,19 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%ifarch s390x ppc64 ppc64le
%if 0%{?usrmerged}
BRP_PESIGN_FILES="%modules_dir/$image"
%else
BRP_PESIGN_FILES="/boot/$image-%kernelrelease-%build_flavor"
%endif
%endif
%if "%CONFIG_MODULE_SIG" == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
%endif
@ -777,6 +807,13 @@ for sub in '' '-extra' \
-e "s:@RPM_TARGET_CPU@:%_target_cpu:g" \
-e "s:@CPU_ARCH_FLAVOR@:%cpu_arch_flavor:g" \
-e "s:@SRCVARIANT@:%variant:g" \
-e "s:@MODULESDIR@:%modules_dir:g" \
-e "s:@SYSTEMMAP@:%systemmap:g" \
%if 0%{?usrmerged}
-e "s:^@USRMERGE@::" \
%else
-e "/^@USRMERGE@/d" \
%endif
%_sourcedir/$script.sh > %my_builddir/$script$sub.sh
if test "$base_package" -eq 1 -a "${#certs[@]}" -gt 0; then
case "$script" in
@ -983,6 +1020,10 @@ if [ %CONFIG_MODULES = y ]; then
fi
rm -rf %{buildroot}/lib/firmware
%if 0%{?usrmerged}
# remove usrmerge aid
rm %{buildroot}/lib
%endif
add_dirs_to_filelist() {
sed -rn '
@ -995,7 +1036,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
s:^%%dir (/boot|/etc|/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@ -1012,10 +1053,23 @@ fi
%endif
shopt -s nullglob dotglob
> %my_builddir/kernel-devel.files
for file in %buildroot/boot/symtypes* %buildroot/lib/modules/*/{build,source}; do
f=${file##%buildroot}
echo "$f"
done | add_dirs_to_filelist >%my_builddir/kernel-devel.files
{
echo "%modules_dir/build"
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
%if 0%{?usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
ln -s "..$l" $file
echo "$l"
echo "%%ghost /$file"
%else
echo "/$file"
%endif
done
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
@ -1024,6 +1078,8 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
echo %ghost /boot/initrd$suffix
cd %buildroot
for f in boot/*; do
l="${f##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
if test -L "$f"; then
echo "%%ghost /$f"
continue
@ -1039,24 +1095,46 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
;;
boot/vmlinux-*)
if $ghost_vmlinux; then
echo "%%ghost /$f"
continue
# fall through to mark next echo as %ghost
echo -n "%%ghost "
fi
;;
%if 0%{?usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
%if 0%{?usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
%if 0%{?usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
# but there's sort -u later, so this is ok
echo "$l" # note: must be first after case statement above
echo "%%ghost /$f"
%else
echo "%%attr(0644, root, root) /$f"
%endif
done
if [ %CONFIG_MODULES = y ]; then
find lib/modules/%kernelrelease-%build_flavor \
find %{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor \
-type d -o \
\( -path '*/modules.*' ! -path '*/modules.order' \
! -path '*/modules.builtin' \
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune -o -type f -printf '/%%p\n'
-o -name '*.ko' -prune \
%if 0%{?usrmerged}
-o \( -type f ! -path '*/symtypes*' ! -path '*/vmlinu*' \) -printf '/%%p\n'
%else
-o -type f -printf '/%%p\n'
%endif
cat %my_builddir/base-modules
fi
if test %CONFIG_MODULE_SIG = "y" -a -d etc/uefi/certs; then
@ -1117,15 +1195,15 @@ for f in %my_builddir/*-kmp-modules; do
done
if [ %CONFIG_MODULES = y ]; then
install -m 644 %_sourcedir/modules.fips %{buildroot}/lib/modules/%kernelrelease-%build_flavor/modules.fips
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-base.files
echo /lib/modules/%kernelrelease-%build_flavor/modules.fips >> %my_builddir/kernel-main.files
install -m 644 %_sourcedir/modules.fips %{buildroot}%modules_dir/modules.fips
echo %modules_dir/modules.fips >> %my_builddir/kernel-base.files
echo %modules_dir/modules.fips >> %my_builddir/kernel-main.files
fi
# 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
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes $RPM_BUILD_ROOT/lib
%fdupes %buildroot%modules_dir
%preun -f preun.sh
@ -1311,7 +1389,7 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3619ff868096ca5158f961049ad23defcdb2ab9b53aebfa731e599ba3433a101
size 62612
oid sha256:fa2985b8e1a4b85d12521f0341b5e840df10ebe5987f2e4999049dad0e357343
size 65535

19
post.sh
View File

@ -10,6 +10,23 @@ for x in /boot/@IMAGE@ /boot/initrd; do
rm -f $x$suffix
ln -s ${x##*/}-@KERNELRELEASE@-@FLAVOR@ $x$suffix
done
@USRMERGE@# compat stuff for /boot.
@USRMERGE@# if /boot is not a speparate partition we can just link the kernel
@USRMERGE@# there to save space. Otherwise copy.
@USRMERGE@if mountpoint -q /boot; then
@USRMERGE@ copy_or_link="cp -a"
@USRMERGE@else
@USRMERGE@ copy_or_link="ln -sf"
@USRMERGE@fi
@USRMERGE@# XXX: need to fix suse-module-tools for sysctl.conf and System.map
@USRMERGE@for x in @IMAGE@ sysctl.conf System.map; do
@USRMERGE@ if [ ! -e /boot/$x-@KERNELRELEASE@-@FLAVOR@ ]; then
@USRMERGE@ $copy_or_link ..@MODULESDIR@/$x /boot/$x-@KERNELRELEASE@-@FLAVOR@
@USRMERGE@ if [ -e @MODULESDIR@/.$x.hmac ]; then
@USRMERGE@ $copy_or_link ..@MODULESDIR@/.$x.hmac /boot/.$x-@KERNELRELEASE@-@FLAVOR@.hmac
@USRMERGE@ fi
@USRMERGE@ fi
@USRMERGE@done
# Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/,
# run depmod and mkinitrd
@ -56,7 +73,7 @@ if [ -f /etc/fstab -a ! -e /.buildenv ] ; then
if [ @FLAVOR@ = rt ]; then
default=force-default
fi
if [ -e /boot/$initrd -o ! -e /lib/modules/@KERNELRELEASE@-@FLAVOR@ ] && \
if [ -e /boot/$initrd -o ! -e @MODULESDIR@ ] && \
run_bootloader ; then
[ -e /boot/$initrd ] || initrd=
if [ -x /usr/lib/bootloader/bootloader_entry ]; then

View File

@ -6,7 +6,7 @@ rm -f /boot/do_purge_kernels
wm2=/usr/lib/module-init-tools/weak-modules2
nvr=@SUBPACKAGE@-@RPM_VERSION_RELEASE@
if [ -e /boot/System.map-@KERNELRELEASE@-@FLAVOR@ ]; then
if [ -e @SYSTEMMAP@ ]; then
# the same package was reinstalled or just rebuilt, otherwise the files
# would have been deleted by now
# do not remove anything in this case (bnc#533766)
@ -21,7 +21,7 @@ if [ @BASE_PACKAGE@ = 0 ]; then
rm -f /var/run/rpm-$nvr-modules
exit 0
fi
# Remove symlinks from /lib/modules/$krel/weak-updates/.
# Remove symlinks from @MODULESDIR@/weak-updates/.
if [ -x $wm2 ]; then
/bin/bash -${-/e/} $wm2 --remove-kernel @KERNELRELEASE@-@FLAVOR@
fi

View File

@ -2487,6 +2487,8 @@
patches.suse/Bluetooth-btusb-Add-support-for-Lite-On-Mediatek-Chi.patch
patches.suse/Bluetooth-btusb-Add-support-for-IMC-Networks-Mediate.patch
patches.suse/Bluetooth-btusb-Add-support-for-Foxconn-Mediatek-Chi.patch
patches.suse/Bluetooth-avoid-circular-locks-in-sco_sock_connect.patch
patches.suse/Bluetooth-switch-to-lock_sock-in-SCO.patch
########################################################
# USB

View File

@ -1,3 +1,3 @@
2021-08-18 08:01:38 +0000
GIT Revision: 999e6048a4cc6accd2653c9dccaaaff2f4ae8f86
2021-08-20 07:04:28 +0000
GIT Revision: 33df9c651d0aa37cce1275bd9528ea5cb9196022
GIT Branch: stable

View File

@ -77,7 +77,7 @@ while read mod path; do
no)
;;
"")
echo "warning: ${path#/lib/modules/*/kernel/} not listed in supported.conf" >&2
echo "warning: $mod not listed in supported.conf" >&2
;;
*)
echo "error: invalid support flag for $mod: $support" >&2
@ -119,11 +119,13 @@ join -j 1 -o 2.2 "$tmp/base" "$tmp/all" >"$opt_out/base-modules"
# base firmware
kver=$(make $MAKE_ARGS -s -C "$opt_builddir" kernelrelease)
if test -d "$opt_dir/lib/firmware/$kver"; then
fw_dir=/lib/firmware/$kver
test -d $opt_dir/usr$fw_dir && fw_dir=/usr$fw_dir
if test -d "$opt_dir$fw_dir"; 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"
<(find "$opt_dir$fw_dir" -type f -printf '%P\n' | sort)
fi | sed "s:^:$fw_dir:" >"$opt_out/base-firmware"
# kmps
for f in "$opt_builddir"/Module.*-kmp; do

View File

@ -1,4 +1,4 @@
#!/bin/sh -e
#!/bin/bash -e
package="$1"
present="$2"
@ -10,6 +10,7 @@ rpm -ql --noghost "$package" | while read x ; do
[ -e "$x" -o -L "$x" ] && echo "$x" >> "$present" || echo Missing file "$x"
done
rpm -ql "$package" | while read x ; do
grep "^$x\$" $present >/dev/null || echo "$x" >> $ghost
done
rpm -q --qf '[%{FILEFLAGS} %{FILENAMES} 0%{FILEMODES:octal} %{FILESIZES} %{FILEMTIMES} %{FILELINKTOS}\n]' $package | while read -a line; do
[ $[line[0]&64] = 64 ] || continue
echo "${line[@]:1}"
done > "$ghost"