113 lines
3.9 KiB
Plaintext
113 lines
3.9 KiB
Plaintext
# For a stable, released kernel, released_kernel should be 1. For rawhide
|
|
# and/or a kernel built from an rc or git snapshot, released_kernel should
|
|
# be 0.
|
|
%global released_kernel %%SPECRELEASED_KERNEL%%
|
|
|
|
%%SPECBUILDID%%
|
|
%define specversion %%SPECVERSION%%
|
|
%define tarfile_release %%SPECTARFILE_RELEASE%%
|
|
# This is needed to do merge window version magic
|
|
# This allows pkg_release to have configurable %%{?dist} tag
|
|
%define specrelease %%SPECRELEASE%%
|
|
|
|
# This package doesn't contain any binary, thus no debuginfo package is needed
|
|
%global debug_package %{nil}
|
|
|
|
Name: kernel-headers
|
|
Summary: Header files for the Linux kernel for use by glibc
|
|
License: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND BSD-3-Clause AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only WITH Linux-syscall-note) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND (LGPL-2.1-only WITH Linux-syscall-note) AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND MIT
|
|
URL: http://www.kernel.org/
|
|
Version: %{specversion}
|
|
Release: %{specrelease}
|
|
# This is a tarball with headers from the kernel, which should be created
|
|
# using create_headers_tarball.sh provided in the kernel source package.
|
|
# To create the tarball, you should go into a prepared/patched kernel sources
|
|
# directory, or git kernel source repository, and do eg.:
|
|
# For a RHEL package: (...)/create_headers_tarball.sh -m RHEL_RELEASE
|
|
# For a Fedora package: kernel/scripts/create_headers_tarball.sh -r <release number>
|
|
Source0: kernel-headers-%{tarfile_release}.tar.xz
|
|
Obsoletes: glibc-kernheaders < 3.0-46
|
|
Provides: glibc-kernheaders = 3.0-46
|
|
%if "0%{?variant}"
|
|
Obsoletes: kernel-headers < %{specversion}-%{specrelease}
|
|
Provides: kernel-headers = %{specversion}-%{specrelease}
|
|
%endif
|
|
|
|
%description
|
|
Kernel-headers includes the C header files that specify the interface
|
|
between the Linux kernel and userspace libraries and programs. The
|
|
header files define structures and constants that are needed for
|
|
building most standard programs and are also needed for rebuilding the
|
|
glibc package.
|
|
|
|
%package -n kernel-cross-headers
|
|
Summary: Header files for the Linux kernel for use by cross-glibc
|
|
|
|
%description -n kernel-cross-headers
|
|
Kernel-cross-headers includes the C header files that specify the interface
|
|
between the Linux kernel and userspace libraries and programs. The
|
|
header files define structures and constants that are needed for
|
|
building most standard programs and are also needed for rebuilding the
|
|
cross-glibc package.
|
|
|
|
%prep
|
|
%setup -q -c
|
|
|
|
%build
|
|
|
|
%install
|
|
# List of architectures we support and want to copy their headers
|
|
ARCH_LIST="arm arm64 powerpc riscv s390 x86"
|
|
|
|
ARCH=%_target_cpu
|
|
case $ARCH in
|
|
armv7hl)
|
|
ARCH=arm
|
|
;;
|
|
aarch64)
|
|
ARCH=arm64
|
|
;;
|
|
ppc64*)
|
|
ARCH=powerpc
|
|
;;
|
|
riscv64)
|
|
ARCH=riscv
|
|
;;
|
|
s390x)
|
|
ARCH=s390
|
|
;;
|
|
x86_64|i*86)
|
|
ARCH=x86
|
|
;;
|
|
esac
|
|
|
|
cd arch-$ARCH/include
|
|
mkdir -p $RPM_BUILD_ROOT%{_includedir}
|
|
cp -a asm-generic $RPM_BUILD_ROOT%{_includedir}
|
|
|
|
# Copy all the architectures we care about to their respective asm directories
|
|
for arch in $ARCH_LIST; do
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include
|
|
cp -a asm-generic $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include/
|
|
done
|
|
|
|
# Remove what we copied already
|
|
rm -rf asm-generic
|
|
|
|
# Copy the rest of the headers over
|
|
cp -a * $RPM_BUILD_ROOT%{_includedir}/
|
|
for arch in $ARCH_LIST; do
|
|
cp -a * $RPM_BUILD_ROOT%{_prefix}/${arch}-linux-gnu/include/
|
|
done
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_includedir}/*
|
|
|
|
%files -n kernel-cross-headers
|
|
%defattr(-,root,root)
|
|
%{_prefix}/*-linux-gnu/*
|
|
|
|
%changelog
|
|
%autochangelog
|