Accepting request 517946 from Kernel:HEAD
1 OBS-URL: https://build.opensuse.org/request/show/517946 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kernel-firmware?expand=0&rev=87
This commit is contained in:
commit
95d25d2afc
122
firmware.sh
122
firmware.sh
@ -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 <firmware directory> | $0 --find-supplements [kernel directory | kernel.rpm]
|
|
||||||
$0 --kill-duplicates <firmware directory> [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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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
|
Tue Jun 27 07:21:43 UTC 2017 - mpluskal@suse.com
|
||||||
|
|
||||||
|
@ -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 __ksyms_path ^/lib/firmware
|
||||||
%define version_unconverted 20170622
|
%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
|
# 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
|
Source0: kernel-firmware-%{version}.tar.xz
|
||||||
Source1: firmware.sh
|
|
||||||
# ast_dp501_fw.bin generated from header file of xf86-video-ast: MIT/X11 License
|
# ast_dp501_fw.bin generated from header file of xf86-video-ast: MIT/X11 License
|
||||||
Source2: ast_dp501_fw.bin
|
Source2: ast_dp501_fw.bin
|
||||||
Source8: ql2600_fw.bin
|
Source8: ql2600_fw.bin
|
||||||
@ -42,7 +39,6 @@ Source9: ql2700_fw.bin
|
|||||||
Source10: ql8300_fw.bin
|
Source10: ql8300_fw.bin
|
||||||
Source99: %{name}-rpmlintrc
|
Source99: %{name}-rpmlintrc
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: kernel-default
|
|
||||||
BuildRequires: suse-module-tools
|
BuildRequires: suse-module-tools
|
||||||
Requires(post): coreutils
|
Requires(post): coreutils
|
||||||
Requires(postun): coreutils
|
Requires(postun): coreutils
|
||||||
@ -104,9 +100,7 @@ cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} .
|
|||||||
mkdir -p %{buildroot}/lib/firmware
|
mkdir -p %{buildroot}/lib/firmware
|
||||||
cp -avf * %{buildroot}/lib/firmware
|
cp -avf * %{buildroot}/lib/firmware
|
||||||
rm -f %{buildroot}/lib/firmware/WHENCE
|
rm -f %{buildroot}/lib/firmware/WHENCE
|
||||||
bash %{_sourcedir}/firmware.sh --kill-duplicates %{buildroot}/lib/firmware/
|
|
||||||
%fdupes %{buildroot}
|
%fdupes %{buildroot}
|
||||||
rm -f find_supplements.cache
|
|
||||||
# In alsa-firmware
|
# In alsa-firmware
|
||||||
rm -f %{buildroot}/lib/firmware/ctefx.bin
|
rm -f %{buildroot}/lib/firmware/ctefx.bin
|
||||||
rm -f %{buildroot}/lib/firmware/ctspeq.bin
|
rm -f %{buildroot}/lib/firmware/ctspeq.bin
|
||||||
|
Loading…
Reference in New Issue
Block a user