From c40343862455a3346ac018a12943f055b0f217942cf76e9db8d862152a22f56e Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 21 Aug 2017 13:52:47 +0000 Subject: [PATCH] Accepting request 517927 from home:michals Do not do any supplements or deduplication of files between kernel-binary and kernel-firmware (bsc#1054239) Raises disk useage from 198M to 200M on x86_64 OBS-URL: https://build.opensuse.org/request/show/517927 OBS-URL: https://build.opensuse.org/package/show/Kernel:HEAD/kernel-firmware?expand=0&rev=168 --- firmware.sh | 122 ---------------------------------------- kernel-firmware.changes | 7 +++ kernel-firmware.spec | 6 -- 3 files changed, 7 insertions(+), 128 deletions(-) delete mode 100644 firmware.sh diff --git a/firmware.sh b/firmware.sh deleted file mode 100644 index d0b5a9c..0000000 --- a/firmware.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/bash -# -# Generate Supplements: lines for the kernel-firmware package, by looking at -# the firmware: and alias: fields of kernel modules. - -USAGE="find | $0 --find-supplements [kernel directory | kernel.rpm] -$0 --kill-duplicates [kernel directory | kernel.rpm]" -usage() -{ - echo "Usage: $USAGE" >&2 - exit 1 -} - -get_kernel_dir() -{ - # default to the running or last installed kernel - if test -z "$kernel"; then - if test -d "/lib/modules/$(uname -r)/kernel"; then - kernel="$_" - return - fi - local pkg=$(rpm -q --qf '%{buildtime} %{n}-%{v}-%{r}\n' \ - kernel-default kernel-desktop kernel-pae | sort -rn | - head -n1 | cut -d' ' -f 2) - if test -n "$pkg"; then - kernel=$(rpm -ql "$pkg" | \ - grep -m1 '^/lib/modules/[2-9][^/]*/kernel$') - fi - if test -d "$kernel"; then - return - fi - echo "No kernel found" >&2 - usage - fi - # /lib/modules/$version ? - if test -d "$kernel/kernel"; then - kernel="$_" - return - fi - # just $version ? - if test -d "/lib/modules/$kernel/kernel"; then - kernel="$_" - return - fi - # a kernel rpm? - case "$kernel" in - *.rpm) - mkdir "$tmp/kernel" - rpm2cpio "$kernel" | (cd "$tmp/kernel"; cpio -id --quiet) - kernel=($tmp/kernel/lib/modules/*/kernel) - kernel=${kernel[0]} - return - esac - usage -} - -cache= -if test "$1" = "--cache" ; then - cache=$2 - shift - shift -fi - -if test "$1" = "--find-supplements" -a -n "$cache" ; then - if ! test -e "$cache"; then - get_kernel_dir - echo "Using $kernel" >&2 - find "$kernel" -name '*.ko' -type f | while read ko; do - /sbin/modinfo -F firmware "$ko" | sed -e "s@\$@ $ko@" - done > $cache - fi - hits=$(while read fw ; do - sed -n -e "s@^${fw#$RPM_BUILD_ROOT/lib/firmware/} @@p" < "$cache" - done | sort) - if test -n "$hits"; then - echo "$hits" | RPMBUILD_SPECFILE=/dev/null /usr/lib/rpm/find-supplements.ksyms | \ - sed 's/^modalias(kernel-[^:]*:/modalias(/' # strip the kernel-$flavor: prefix - fi - exit 0 -fi - -trap 'rm -rf "$tmp"' EXIT -tmp=$(mktemp -d) - -case "$1" in ---find-supplements) - kernel=$2 - cat >"$tmp/filelist" - if test ! -s "$tmp/filelist"; then - usage - fi - get_kernel_dir - echo "Using $kernel" >&2 - find "$kernel" -name '*.ko' -type f | while read ko; do - if grep -qFf <(/sbin/modinfo -F firmware "$ko") \ - "$tmp/filelist"; then - echo "$ko" - fi - done | sort | \ - RPMBUILD_SPECFILE=/dev/null /usr/lib/rpm/find-supplements.ksyms dummy-package-please-ignore | \ - sed 's/^modalias(kernel-[^:]*:/modalias(/' # strip the kernel-$flavor: prefix - ;; ---kill-duplicates) - firmware=$2 - kernel=$3 - get_kernel_dir - kernel=${kernel/\/lib\/modules\//\/lib\/firmware\/} - kernel=${kernel%/kernel} - echo "Using $kernel" >&2 - find "$firmware" -type f -printf '%P\n' | while read f; do - if cmp -s "$kernel/$f" "$firmware/$f"; then - rm -v "$_" - fi - done - ;; -*) - usage -esac - - - - diff --git a/kernel-firmware.changes b/kernel-firmware.changes index 491360c..a2ae99d 100644 --- a/kernel-firmware.changes +++ b/kernel-firmware.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Aug 18 13:47:12 UTC 2017 - msuchanek@suse.com + +- Do not do any supplements or deduplication of files between kernel-binary and + kernel-firmware (bsc#1054239). + * remove firmware.sh + ------------------------------------------------------------------- Tue Jun 27 07:21:43 UTC 2017 - mpluskal@suse.com diff --git a/kernel-firmware.spec b/kernel-firmware.spec index 2e98a3a..042504d 100644 --- a/kernel-firmware.spec +++ b/kernel-firmware.spec @@ -16,8 +16,6 @@ # -%define __find_supplements bash %{_sourcedir}/firmware.sh --find-supplements -%define __ksyms_supplements bash %{_sourcedir}/firmware.sh --cache %{_builddir}/%{?buildsubdir}/find_supplements.cache --find-supplements %define __ksyms_path ^/lib/firmware %define version_unconverted 20170622 @@ -34,7 +32,6 @@ Url: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firm # git archive --format=tar --prefix=linux-firmware-$version/ -v master ./ | xz -9 -M 4G --check=crc32 -T 4 > /tmp/linux-firmware-$version.tar.xz # Source0: kernel-firmware-%{version}.tar.xz -Source1: firmware.sh # ast_dp501_fw.bin generated from header file of xf86-video-ast: MIT/X11 License Source2: ast_dp501_fw.bin Source8: ql2600_fw.bin @@ -42,7 +39,6 @@ Source9: ql2700_fw.bin Source10: ql8300_fw.bin Source99: %{name}-rpmlintrc BuildRequires: fdupes -BuildRequires: kernel-default BuildRequires: suse-module-tools Requires(post): coreutils Requires(postun): coreutils @@ -104,9 +100,7 @@ cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} . mkdir -p %{buildroot}/lib/firmware cp -avf * %{buildroot}/lib/firmware rm -f %{buildroot}/lib/firmware/WHENCE -bash %{_sourcedir}/firmware.sh --kill-duplicates %{buildroot}/lib/firmware/ %fdupes %{buildroot} -rm -f find_supplements.cache # In alsa-firmware rm -f %{buildroot}/lib/firmware/ctefx.bin rm -f %{buildroot}/lib/firmware/ctspeq.bin