clear-pkgs-linux-iot-lts2018/linux-iot-lts2018.spec

167 lines
4.4 KiB
Plaintext

#
# IOT 2018LTS kernel
# This kernel is an "enterprise style" kernel with a significant list of
# backported features
#
# This package has a main package "standard" and a subpackage "sos"
#
# The "standard" kernel (the main package) is meant for running on
# bare metal systems as well as running as a "normal" guest in
# various hypervisors. This
#
# The "sos" kernel is specifically meant to run as DOM0 in an
# ACRN hypervisor setup.
#
Name: linux-iot-lts2018
Version: 4.19.0
Release: 1
License: GPL-2.0
Summary: The Linux kernel
Url: http://www.kernel.org/
Group: kernel
Source0: https://git.kernel.org/torvalds/t/linux-4.19-rc6.tar.gz
Source1: config-iot-lts2018
Source2: config-iot-lts2018-sos
Source3: cmdline-iot-lts2018
Source4: cmdline-iot-lts2018-sos
# kernel-lts-quilt: a1de559d06d4a1856c936d996a32de5721716fe6
# kernel-config: mainline-tracking-v4.19-rc6-181002T220531Z
%define ktarget0 iot-lts2018
%define kversion0 %{version}-%{release}.%{ktarget0}
%define ktarget1 iot-lts2018-sos
%define kversion1 %{version}-%{release}.%{ktarget1}
BuildRequires: buildreq-kernel
Requires: systemd-bin
# don't strip .ko files!
%global __os_install_post %{nil}
%define debug_package %{nil}
%define __strip /bin/true
# PK XXXX: Series
#END XXXX: PK Series
# SEP and SoCWatch Series
# Clear Linux patch
# needs to add to PK series
%description
The Linux IOT LTS2018 kernel.
%package sos
License: GPL-2.0
Summary: The Linux kernel for Service OS
Group: kernel
%description sos
The Linux kernel for Service OS
%package extra
License: GPL-2.0
Summary: The Linux kernel extra files
Group: kernel
%description extra
Linux kernel extra files
%prep
%setup -q -n linux-4.19-rc6
#patchXXXX PK Series
# End XXXX PK Series
# SEP and SoCWatch Series
# Clear Linux patch
cp %{SOURCE1} .
cp %{SOURCE2} .
cp %{SOURCE3} .
cp %{SOURCE4} .
cp -a /usr/lib/firmware/i915 firmware/
cp -a /usr/lib/firmware/intel-ucode firmware/
cp -a /usr/lib/firmware/intel firmware/
%build
BuildKernel() {
Target=$1
Arch=x86_64
ExtraVer="-%{release}.${Target}"
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = ${ExtraVer}/" Makefile
make O=${Target} -s mrproper
cp config-${Target} ${Target}/.config
make O=${Target} -s ARCH=${Arch} olddefconfig
make O=${Target} -s ARCH=${Arch} CONFIG_DEBUG_SECTION_MISMATCH=y %{?_smp_mflags} %{?sparse_mflags}
}
BuildKernel %{ktarget0}
BuildKernel %{ktarget1}
%install
InstallKernel() {
Target=$1
Kversion=$2
Arch=x86_64
KernelDir=%{buildroot}/usr/lib/kernel
mkdir -p ${KernelDir}
install -m 644 ${Target}/.config ${KernelDir}/config-${Kversion}
install -m 644 ${Target}/System.map ${KernelDir}/System.map-${Kversion}
install -m 644 ${Target}/vmlinux ${KernelDir}/vmlinux-${Kversion}
install -m 644 cmdline-${Target} ${KernelDir}/cmdline-${Kversion}
cp ${Target}/arch/x86/boot/bzImage ${KernelDir}/org.clearlinux.${Target}.%{version}-%{release}
chmod 755 ${KernelDir}/org.clearlinux.${Target}.%{version}-%{release}
mkdir -p %{buildroot}/usr/lib/modules
make O=${Target} -s ARCH=${Arch} INSTALL_MOD_PATH=%{buildroot}/usr modules_install
rm -f %{buildroot}/usr/lib/modules/${Kversion}/build
rm -f %{buildroot}/usr/lib/modules/${Kversion}/source
ln -s org.clearlinux.${Target}.%{version}-%{release} %{buildroot}/usr/lib/kernel/default-${Target}
}
InstallKernel %{ktarget0} %{kversion0}
InstallKernel %{ktarget1} %{kversion1}
rm -rf %{buildroot}/usr/lib/firmware
%files
%dir /usr/lib/kernel
%dir /usr/lib/modules/%{kversion0}
/usr/lib/kernel/config-%{kversion0}
/usr/lib/kernel/cmdline-%{kversion0}
/usr/lib/kernel/org.clearlinux.%{ktarget0}.%{version}-%{release}
/usr/lib/kernel/default-%{ktarget0}
/usr/lib/modules/%{kversion0}/kernel
/usr/lib/modules/%{kversion0}/modules.*
%files sos
%dir /usr/lib/kernel
%dir /usr/lib/modules/%{kversion1}
/usr/lib/kernel/config-%{kversion1}
/usr/lib/kernel/cmdline-%{kversion1}
/usr/lib/kernel/org.clearlinux.%{ktarget1}.%{version}-%{release}
/usr/lib/kernel/default-%{ktarget1}
/usr/lib/modules/%{kversion1}/kernel
/usr/lib/modules/%{kversion1}/modules.*
%files extra
%dir /usr/lib/kernel
/usr/lib/kernel/System.map-%{kversion0}
/usr/lib/kernel/System.map-%{kversion1}
/usr/lib/kernel/vmlinux-%{kversion0}
/usr/lib/kernel/vmlinux-%{kversion1}