864eab1
# For a stable, released kernel, released_kernel should be 1. For rawhide
864eab1
# and/or a kernel built from an rc or git snapshot, released_kernel should
864eab1
# be 0.
864eab1
%global released_kernel 1
864eab1
864eab1
# define buildid .local
864eab1
864eab1
# baserelease defines which build revision of this kernel version we're
864eab1
# building.  We used to call this fedora_build, but the magical name
864eab1
# baserelease is matched by the rpmdev-bumpspec tool, which you should use.
864eab1
#
864eab1
# NOTE: baserelease must be > 0 or bad things will happen if you switch
864eab1
#       to a released kernel (released version will be < rc version)
864eab1
#
864eab1
# For non-released -rc kernels, this will be appended after the rcX and
864eab1
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
864eab1
#
75f43d0
%global baserelease 200
864eab1
%global fedora_build %{baserelease}
864eab1
864eab1
# base_sublevel is the kernel version we're starting with and patching
864eab1
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
864eab1
# which yields a base_sublevel of 0.
75f43d0
%define base_sublevel 18
864eab1
864eab1
## If this is a released kernel ##
864eab1
%if 0%{?released_kernel}
864eab1
864eab1
# Do we have a -stable update to apply?
90d6016
%define stable_update 18
864eab1
# Set rpm version accordingly
864eab1
%if 0%{?stable_update}
864eab1
%define stablerev %{stable_update}
864eab1
%define stable_base %{stable_update}
864eab1
%endif
864eab1
%define rpmversion 4.%{base_sublevel}.%{stable_update}
864eab1
864eab1
## The not-released-kernel case ##
864eab1
%else
864eab1
# The next upstream release sublevel (base_sublevel+1)
864eab1
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
864eab1
# The rc snapshot level
864eab1
%global rcrev 0
864eab1
# The git snapshot level
864eab1
%define gitrev 0
864eab1
# Set rpm version accordingly
864eab1
%define rpmversion 4.%{upstream_sublevel}.0
864eab1
%endif
864eab1
864eab1
# pkg_release is what we'll fill in for the rpm Release: field
864eab1
%if 0%{?released_kernel}
864eab1
864eab1
%define srcversion %{fedora_build}%{?buildid}
864eab1
864eab1
%else
864eab1
864eab1
# non-released_kernel
864eab1
%if 0%{?rcrev}
864eab1
%define rctag .rc%rcrev
864eab1
%else
864eab1
%define rctag .rc0
864eab1
%endif
864eab1
%if 0%{?gitrev}
864eab1
%define gittag .git%gitrev
864eab1
%else
864eab1
%define gittag .git0
864eab1
%endif
864eab1
%define srcversion 0%{?rctag}%{?gittag}.%{fedora_build}%{?buildid}
864eab1
864eab1
%endif
864eab1
864eab1
%define pkg_release %{?srcversion}%{?dist}
864eab1
864eab1
# This package doesn't contain any binary, thus no debuginfo package is needed
864eab1
%global debug_package %{nil}
864eab1
864eab1
Name: kernel-headers
864eab1
Summary: Header files for the Linux kernel for use by glibc
864eab1
Group: Development/System
864eab1
License: GPLv2
864eab1
URL: http://www.kernel.org/
864eab1
Version: %{rpmversion}
864eab1
Release: %{pkg_release}
864eab1
# This is a tarball with headers from the kernel, which should be created
864eab1
# using create_headers_tarball.sh provided in the kernel source package.
864eab1
# To create the tarball, you should go into a prepared/patched kernel sources
864eab1
# directory, or git kernel source repository, and do eg.:
864eab1
# For a RHEL package: (...)/create_headers_tarball.sh -m RHEL_RELEASE
864eab1
# For a Fedora package: kernel/scripts/create_headers_tarball.sh -r <release number>
864eab1
Source0: kernel-headers-%{rpmversion}-%{?srcversion}.tar.xz
864eab1
Obsoletes: glibc-kernheaders < 3.0-46
864eab1
Provides: glibc-kernheaders = 3.0-46
864eab1
%if "0%{?variant}"
864eab1
Obsoletes: kernel-headers < %{version}-%{release}
864eab1
Provides: kernel-headers = %{version}-%{release}
864eab1
%endif
864eab1
864eab1
%description
864eab1
Kernel-headers includes the C header files that specify the interface
864eab1
between the Linux kernel and userspace libraries and programs.  The
864eab1
header files define structures and constants that are needed for
864eab1
building most standard programs and are also needed for rebuilding the
864eab1
glibc package.
864eab1
864eab1
%package -n kernel-cross-headers
864eab1
Summary: Header files for the Linux kernel for use by cross-glibc
864eab1
Group: Development/System
864eab1
864eab1
%description -n kernel-cross-headers
864eab1
Kernel-cross-headers includes the C header files that specify the interface
864eab1
between the Linux kernel and userspace libraries and programs.  The
864eab1
header files define structures and constants that are needed for
864eab1
building most standard programs and are also needed for rebuilding the
864eab1
cross-glibc package.
864eab1
864eab1
%prep
864eab1
%setup -q -c
864eab1
864eab1
%build
864eab1
864eab1
%install
864eab1
# List of architectures we support and want to copy their headers
864eab1
ARCH_LIST="arm arm64 powerpc s390 x86"
864eab1
864eab1
cd include
864eab1
864eab1
ARCH=%_target_cpu
864eab1
case $ARCH in
864eab1
	armv7hl)
864eab1
		ARCH=arm
864eab1
		;;
864eab1
	aarch64)
864eab1
		ARCH=arm64
864eab1
		;;
864eab1
	ppc64*)
864eab1
		ARCH=powerpc
864eab1
		;;
864eab1
	s390x)
864eab1
		ARCH=s390
864eab1
		;;
864eab1
	x86_64|i*86)
864eab1
		ARCH=x86
864eab1
		;;
864eab1
esac
864eab1
864eab1
mkdir -p $RPM_BUILD_ROOT%{_includedir}
864eab1
cp -a arch-$ARCH/asm $RPM_BUILD_ROOT%{_includedir}/
864eab1
cp -a asm-generic $RPM_BUILD_ROOT%{_includedir}
864eab1
864eab1
# Copy all the architectures we care about to their respective asm directories
864eab1
for arch in $ARCH_LIST; do
864eab1
	mkdir -p $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include
864eab1
	mv arch-${arch}/asm $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include/
864eab1
	cp -a asm-generic $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include/
864eab1
done
864eab1
864eab1
# Remove what we copied already
864eab1
rm -rf arch-*/asm
864eab1
rmdir arch-*
864eab1
rm -rf asm-generic
864eab1
864eab1
# Copy the rest of the headers over
864eab1
cp -a * $RPM_BUILD_ROOT%{_includedir}/
864eab1
for arch in $ARCH_LIST; do
864eab1
cp -a * $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include/
864eab1
done
864eab1
864eab1
%files
864eab1
%defattr(-,root,root)
864eab1
%{_includedir}/*
864eab1
864eab1
%files -n kernel-cross-headers
864eab1
%defattr(-,root,root)
864eab1
%{_prefix}/*-linux-gnu/*
864eab1
864eab1
%changelog
90d6016
* Mon Nov 12 2018 Laura Abbott <labbott@redhat.com> - 4.18.18-200
90d6016
- Linux v4.18.18
90d6016
e664f9e
* Mon Nov 05 2018 Laura Abbott <labbott@redhat.com> - 4.18.17-200
e664f9e
- Linux v4.18.17
e664f9e
1b6d52d
* Sun Oct 21 2018 Laura Abbott <labbott@redhat.com> - 4.18.16-200
1b6d52d
- Linux v4.18.16
1b6d52d
506f0ca
* Thu Oct 18 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.18.15-200
506f0ca
- Linux v4.18.15
506f0ca
cc4c05c
* Mon Oct 15 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.18.14-200
cc4c05c
- Linux v4.18.14
cc4c05c
6d066bf
* Wed Oct 10 2018 Laura Abbott <labbott@redhat.com> - 4.18.13-200
6d066bf
- Linux v4.18.13
6d066bf
6df778f
* Thu Oct 04 2018 Laura Abbott <labbott@redhat.com> - 4.18.12-200
6df778f
- Linux v4.18.12
6df778f
a7e9e47
* Sun Sep 30 2018 Laura Abbott <labbott@redhat.com> - 4.18.11-200
a7e9e47
- Linux v4.18.11
a7e9e47
df19dc2
* Wed Sep 26 2018 Laura Abbott <labbott@redhat.com> - 4.18.10-200
df19dc2
- Linux v4.18.10
df19dc2
361b4ff
* Thu Sep 20 2018 Laura Abbott <labbott@redhat.com> - 4.18.9-200
361b4ff
- Linux v4.18.9
361b4ff
9b98d3d
* Mon Sep 17 2018 Laura Abbott <labbott@redhat.com> - 4.18.8-200
9b98d3d
- Linux v4.18.8
9b98d3d
db6633d
* Mon Sep 10 2018 Laura Abbott <labbott@redhat.com> - 4.18.7-200
db6633d
- Linux v4.18.7
db6633d
75f43d0
* Tue Sep 04 2018 Laura Abbott <labbott@redhat.com> - 4.18.5-200
75f43d0
- Linux v4.18.5
75f43d0
185641f
* Fri Aug 24 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.19-1
185641f
- Linux v4.17.19
185641f
b3b4c97
* Mon Aug 20 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.17-1
b3b4c97
- Linux v4.17.17
b3b4c97
12ab526
* Wed Aug 15 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.14-3
12ab526
- Include missing foreshadow patches
12ab526
6645237
* Tue Aug 14 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.14-2
6645237
- Fix "Foreshadow" CVE-2018-3620 CVE-2018-3646 (rhbz 1585005 1615998)
6645237
2d0cce3
* Thu Aug 09 2018 Justin M. Forbes <jforbes@redhat.com> - 4.17.14-1
2d0cce3
- Linux v4.17.14
2d0cce3
10c33ff
* Fri Aug 03 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.12-1
10c33ff
- Linux v4.17.12
10c33ff
d1b6148
* Mon Jul 30 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.11-1
d1b6148
- Linux v4.17.11
d1b6148
864eab1
* Fri Jul 27 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.17.10-1
864eab1
- Initial package commit
864eab1
864eab1
* Mon Jul 23 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.18.0-0.rc6.git0.1
864eab1
- Changes and updates to fit inline with current Fedora process
864eab1
864eab1
* Thu Jul 12 2018 Herton R. Krzesinski <herton@redhat.com> - 4.18.0-0.rc4.2
864eab1
- Initial version of splitted kernel-headers package.