|
|
ddba73 |
%define kmod_name bnx2x
|
|
|
ddba73 |
%define kmod_driver_version 1.710.51
|
|
|
ddba73 |
%define kmod_rpm_release 3
|
|
|
ddba73 |
%define kmod_git_hash 7ddc31247e7f0623d933dd476e3aac576eaa8599
|
|
|
ddba73 |
%define kmod_kernel_version 3.10.0-123.el7
|
|
|
ddba73 |
%define kernel_version 3.10.0-123.el7
|
|
|
ddba73 |
%define kmod_kbuild_dir drivers/net/ethernet/broadcom/bnx2x
|
|
|
ddba73 |
%define kmod_firmware_version 7.10.51
|
|
|
ddba73 |
|
|
|
ddba73 |
%{!?dist: %define dist .el7}
|
|
|
ddba73 |
|
|
|
ddba73 |
Source0: %{kmod_name}-%{kmod_driver_version}.tar.bz2
|
|
|
ddba73 |
Source1: %{kmod_name}.files
|
|
|
ddba73 |
Source2: depmodconf
|
|
|
ddba73 |
Source3: find-requires.ksyms
|
|
|
ddba73 |
Source4: find-provides.ksyms
|
|
|
ddba73 |
Source5: kmodtool
|
|
|
ddba73 |
Source6: bnx2x-firmware.files
|
|
|
ddba73 |
Source7: bnx2x.preamble
|
|
|
ddba73 |
Source8: symbols.greylist-x86_64
|
|
|
ddba73 |
|
|
|
ddba73 |
Patch0: bnx2x.patch
|
|
|
ddba73 |
|
|
|
ddba73 |
%define __find_requires %_sourcedir/find-requires.ksyms
|
|
|
ddba73 |
%define __find_provides %_sourcedir/find-provides.ksyms %{kmod_name} %{?epoch:%{epoch}:}%{version}-%{release}
|
|
|
ddba73 |
|
|
|
ddba73 |
Name: %{kmod_name}
|
|
|
ddba73 |
Version: %{kmod_driver_version}
|
|
|
ddba73 |
Release: %{kmod_rpm_release}%{?dist}
|
|
|
ddba73 |
Summary: %{kmod_name} kernel module
|
|
|
ddba73 |
|
|
|
ddba73 |
Group: System/Kernel
|
|
|
ddba73 |
License: GPLv2
|
|
|
ddba73 |
URL: http://www.kernel.org/
|
|
|
ddba73 |
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
|
|
ddba73 |
BuildRequires: %kernel_module_package_buildreqs
|
|
|
ddba73 |
ExclusiveArch: x86_64
|
|
|
ddba73 |
|
|
|
ddba73 |
|
|
|
ddba73 |
# firmware package
|
|
|
ddba73 |
%package -n kmod-%{kmod_name}-firmware
|
|
|
ddba73 |
Summary: %{kmod_name} kernel module firmware
|
|
|
ddba73 |
Provides: firmware(%{kmod_name}) = %{kmod_firmware_version}
|
|
|
ddba73 |
# firmware package has to provide kernel-modules to be recognized and
|
|
|
ddba73 |
# unpacked by Anaconda during installation
|
|
|
ddba73 |
Provides: kernel-modules = %{kmod_kernel_version}.%{_target_cpu}
|
|
|
ddba73 |
|
|
|
ddba73 |
%description -n kmod-%{kmod_name}-firmware
|
|
|
ddba73 |
%{kmod_name} - driver update firmware
|
|
|
ddba73 |
|
|
|
ddba73 |
%files -n kmod-%{kmod_name}-firmware -f %{SOURCE6}
|
|
|
ddba73 |
|
|
|
ddba73 |
# Build only for standard kernel variant(s); for debug packages, append "debug"
|
|
|
ddba73 |
# after "default" (separated by space)
|
|
|
ddba73 |
%kernel_module_package -s %{SOURCE5} -f %{SOURCE1} -p %{SOURCE7} default
|
|
|
ddba73 |
|
|
|
ddba73 |
%description
|
|
|
ddba73 |
%{kmod_name} - driver update
|
|
|
ddba73 |
|
|
|
ddba73 |
%prep
|
|
|
ddba73 |
%setup
|
|
|
ddba73 |
%patch0 -p1
|
|
|
ddba73 |
set -- *
|
|
|
ddba73 |
mkdir source
|
|
|
ddba73 |
mv "$@" source/
|
|
|
ddba73 |
cp %{SOURCE8} source/
|
|
|
ddba73 |
mkdir obj
|
|
|
ddba73 |
|
|
|
ddba73 |
%build
|
|
|
ddba73 |
for flavor in %flavors_to_build; do
|
|
|
ddba73 |
rm -rf obj/$flavor
|
|
|
ddba73 |
cp -r source obj/$flavor
|
|
|
ddba73 |
|
|
|
ddba73 |
# update symvers file if existing
|
|
|
ddba73 |
symvers=source/Module.symvers-%{_target_cpu}
|
|
|
ddba73 |
if [ -e $symvers ]; then
|
|
|
ddba73 |
cp $symvers obj/$flavor/%{kmod_kbuild_dir}/Module.symvers
|
|
|
ddba73 |
fi
|
|
|
ddba73 |
|
|
|
ddba73 |
make -C %{kernel_source $flavor} M=$PWD/obj/$flavor/%{kmod_kbuild_dir} \
|
|
|
ddba73 |
NOSTDINC_FLAGS="-I $PWD/obj/$flavor/include"
|
|
|
ddba73 |
|
|
|
ddba73 |
# mark modules executable so that strip-to-file can strip them
|
|
|
ddba73 |
find obj/$flavor/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' +
|
|
|
ddba73 |
done
|
|
|
ddba73 |
|
|
|
ddba73 |
%{SOURCE2} %{name} %{kmod_kernel_version} obj > source/depmod.conf
|
|
|
ddba73 |
|
|
|
ddba73 |
greylist=source/symbols.greylist-%{_target_cpu}
|
|
|
ddba73 |
if [ -f $greylist ]; then
|
|
|
ddba73 |
cp $greylist source/symbols.greylist
|
|
|
ddba73 |
else
|
|
|
ddba73 |
touch source/symbols.greylist
|
|
|
ddba73 |
fi
|
|
|
ddba73 |
|
|
|
ddba73 |
if [ -d source/firmware ]; then
|
|
|
ddba73 |
make -C source/firmware
|
|
|
ddba73 |
fi
|
|
|
ddba73 |
|
|
|
ddba73 |
%install
|
|
|
ddba73 |
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
|
|
ddba73 |
export INSTALL_MOD_DIR=extra/%{name}
|
|
|
ddba73 |
for flavor in %flavors_to_build ; do
|
|
|
ddba73 |
make -C %{kernel_source $flavor} modules_install \
|
|
|
ddba73 |
M=$PWD/obj/$flavor/%{kmod_kbuild_dir}
|
|
|
ddba73 |
# Cleanup unnecessary kernel-generated module dependency files.
|
|
|
ddba73 |
find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
|
|
|
ddba73 |
done
|
|
|
ddba73 |
|
|
|
ddba73 |
install -m 644 -D source/depmod.conf $RPM_BUILD_ROOT/etc/depmod.d/%{kmod_name}.conf
|
|
|
ddba73 |
install -m 644 -D source/symbols.greylist $RPM_BUILD_ROOT/usr/share/doc/kmod-%{kmod_name}/greylist.txt
|
|
|
ddba73 |
|
|
|
ddba73 |
if [ -d source/firmware ]; then
|
|
|
ddba73 |
make -C source/firmware INSTALL_PATH=$RPM_BUILD_ROOT INSTALL_DIR=updates install
|
|
|
ddba73 |
fi
|
|
|
ddba73 |
|
|
|
ddba73 |
%clean
|
|
|
ddba73 |
rm -rf $RPM_BUILD_ROOT
|
|
|
ddba73 |
|
|
|
ddba73 |
%changelog
|
|
|
ddba73 |
* Mon Nov 24 2014 Weiping Pan <panweiping3@gmail.com> 1.710.51 3
|
|
|
ddba73 |
- bnx2x DUP module
|