+#
+# Conditional build:
+%bcond_without tests # build without tests
+
+%define basever 4.5
+%define postver 0
Summary: Linux kernel headers for use with C libraries
Summary(pl.UTF-8): Nagłówki jądra Linuksa do użytku z bibliotekami C
Name: linux-libc-headers
-%define basever 2.6.22
-%define postver .1
-Version: %{basever}%{postver}
+Version: %{basever}.%{postver}
Release: 1
Epoch: 7
License: GPL v2
Group: Development
-Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
-# Source0-md5: 2e230d005c002fb3d38a3ca07c0200d0
-%if "%{postver}" != "%{nil}"
-Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
-# Source1-md5: a29ac92cd688d591afd3fec48905e329
+Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
+# Source0-md5: a60d48eee08ec0536d5efb17ca819aef
+%if "%{postver}" > "0"
+Source1: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
+# Source1-md5: 82864000fde42252dd5e80cceb971479
%endif
-# DROP? (these were always kept in private drivers dir, not exported)
-#Source1: %{name}-dv1394.h
-#Source2: %{name}-ieee1394-ioctl.h
Patch0: %{name}-esfq.patch
Patch1: %{name}-wrr.patch
Patch2: %{name}-fbsplash.patch
Patch3: %{name}-imq.patch
-Patch4: %{name}-endian.patch
-Patch5: %{name}-pagesize.patch
-Patch6: %{name}-include.patch
-# DROP for now? iptables accesses kernel headers/sources directly
-#Patch7: %{name}-netfilter.patch
+Patch4: %{name}-pom-set.patch
+Patch5: %{name}-atm-vbr.patch
+Patch6: vserver.patch
AutoReqProv: no
-BuildRequires: rpmbuild(macros) >= 1.213
-Requires(pre): fileutils
-Provides: alsa-driver-devel
-Provides: glibc-kernel-headers = %{epoch}:%{version}-%{release}
+BuildRequires: perl-base
+BuildRequires: rpmbuild(macros) >= 1.568
+Requires(pretrans): coreutils
Obsoletes: alsa-driver-devel
Obsoletes: glibc-kernel-headers
Obsoletes: glibc-kernheaders
ExclusiveOS: Linux
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define no_install_post_strip 1
+%ifarch ppc ppc64
+%define target_arch powerpc
+%else
+%ifarch x32
+%define target_arch x86_64
+%else
+%define target_arch %{_target_base_arch}
+%endif
+%endif
+
+# no objects to extract debug info from
+%define _enable_debug_packages 0
%description
This package includes the C header files that specify the interface
potrzebne do przebudowania pakietu glibc.
%prep
-%setup -q -n linux-%{basever}
+%setup -q -c
+cd linux-%{basever}
+%if "%{postver}" > "0"
+bzip2 -dc %{SOURCE1} | patch -p1
+%endif
%patch0 -p1
%patch1 -p1
%patch2 -p1
%install
rm -rf $RPM_BUILD_ROOT
+%{__make} -C linux-%{basever} headers_install \
+ INSTALL_HDR_PATH=$RPM_BUILD_ROOT%{_prefix} \
+ ARCH=%{target_arch}
-%{__make} headers_install \
+%if %{with tests}
+%{__make} -C linux-%{basever} headers_check \
INSTALL_HDR_PATH=$RPM_BUILD_ROOT%{_prefix} \
-%ifarch ppc ppc64
- ARCH=powerpc
-%else
- ARCH=%{_target_base_arch}
+ ARCH=%{target_arch}
%endif
# provided by glibc-headers
-rm -rf $RPM_BUILD_ROOT%{_includedir}/scsi
+%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/scsi
+
+# currently provided by libdrm-devel
+%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/drm
+
+# trash
+find $RPM_BUILD_ROOT%{_includedir} -type f \
+ -name '..check.cmd' -o -name '.check' -o \
+ -name '..install.cmd' -o -name '.install' \
+| xargs %{__rm}
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
+%pretrans
[ ! -L /usr/include/linux ] || rm -f /usr/include/linux
[ ! -L /usr/include/asm ] || rm -f /usr/include/asm
[ ! -L /usr/include/sound ] || rm -f /usr/include/sound
-%ifarch sparc sparcv9 sparc64
-[ ! -L /usr/include/asm-sparc ] || rm -f /usr/include/asm-sparc
-[ ! -L /usr/include/asm-sparc64 ] || rm -f /usr/include/asm-sparc64
-%endif
%files
%defattr(644,root,root,755)
-%{_includedir}/linux
%{_includedir}/asm
%{_includedir}/asm-generic
-%ifarch %{x8664}
-%{_includedir}/asm-i386
-%{_includedir}/asm-x86_64
-%endif
-%ifarch sparc64
-%{_includedir}/asm-sparc
-%{_includedir}/asm-sparc64
-%endif
+%{_includedir}/linux
+%{_includedir}/misc
%{_includedir}/mtd
%{_includedir}/rdma
%{_includedir}/sound
%{_includedir}/video
+%{_includedir}/xen