File r8101.spec of Package r8101

#
# spec file for package r8101
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           r8101
Version:        1.035.03
Release:        83.112
Summary:        Kernel module for RealTek RTL8101E, RTL8102E and RTL8103E Fast Ethernet PCI-Express Controllers
License:        GPL-2.0+
Group:          Hardware/Other
Url:            https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100m-fast-ethernet-pci-express-software
Source0:        %{name}-%{version}.tar.bz2
Source1:        preamble
Source2:        Module.supported
Patch1:		r8101-kernel-4.4.patch

BuildRequires:  kernel-syms
BuildRequires:  kernel-source
BuildRequires:  module-init-tools
BuildRequires:  binutils
BuildRequires:  libelf-devel
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  %ix86 x86_64
Provides:   %{name} = %{version}
Obsoletes:  %{name} < %{version}
Conflicts:	%{name} = %{version}

%description
This is the Linux device driver released for RealTek RTL8101E, RTL8102E(L) and RTL8103E(L), the Fast Ethernet controller with PCI-Express interface.

RTL8100E/RTL8101E/RTL8102E-GR/RTL8103E(L)
RTL8102E(L)/RTL8101E/RTL8103T
RTL8401/RTL8401P/RTL8105E
RTL8402/RTL8106E/RTL8106EUS


%package blacklist-r8169
Summary:        To favour r8101 blacklist the r8169 device driver
Group:          Hardware/Wifi

Requires:       %{name}-kmp = %{version}

%description blacklist-r8169
On many Realtek Ethernet controllers the old device driver r8169 does
not work reliably.  To solve this the r8169 kernel module has to be
blacklisted to enable the system to load the new device driver r8101.

%kernel_module_package -p preamble


%prep
%setup -q
%patch1 -p0

cp %{S:1} .
cp %{S:2} .

%build
ln -sf $(type -p kmod) modinfo
%{__mkdir} obj
for flavor in %{flavors_to_build}
do
    %{__rm}   -rf obj/$flavor
    %{__cp}   -rp src obj/$flavor
    %{__make} -C %{kernel_source $flavor} M=$PWD/obj/$flavor modules
    ./modinfo -F alias $(find $PWD/obj/$flavor/ -name '%{name}.ko')
done

%install
export INSTALL_MOD_PATH=%{buildroot}
export INSTALL_MOD_DIR=updates
for flavor in %{flavors_to_build}
do
    %{__make} -C %{kernel_source $flavor} M=$PWD/obj/$flavor modules_install
done
%{__mkdir_p} %{buildroot}%{_sysconfdir}/modprobe.d/
cat > %{buildroot}%{_sysconfdir}/modprobe.d/60-blacklist-r8169.conf<<-'EOF'
	# On many Realtek Ethernet controllers the old device driver r8169 does
	# not work reliably.  To solve this the r8169 kernel module has to be 
	# blacklisted to enable the system to load the new device driver r8101.
	blacklist r8169
	EOF

%clean
%{__rm} -rf %{buildroot}

%files blacklist-r8169
%defattr(-, root, root)
%config %{_sysconfdir}/modprobe.d/60-blacklist-r8169.conf

%changelog

openSUSE Build Service is sponsored by