Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

kernel.spec.in

Blame
  • kernel.spec.in 20.35 KiB
    # A spec file for building xenlinux Dom0 kernel for Qubes
    # Based on the Open SUSE kernel-spec & Fedora kernel-spec.
    #
    
    %define variant pvops.qubes
    %define plainrel @REL@
    %define rel %{plainrel}.%{variant}
    %define version @VERSION@
    %define name_suffix -latest
    
    %define _buildshell /bin/bash
    %define build_xen       1
    
    %global cpu_arch x86_64
    %define cpu_arch_flavor %cpu_arch
    
    %define kernelrelease %(echo %{version} | sed 's/^3\\.[0-9]\\+$/\\0.0/')-%rel.%cpu_arch
    %define my_builddir %_builddir/%{name}-%{version}
    
    %define build_src_dir %my_builddir/linux-%version
    %define src_install_dir /usr/src/kernels/%kernelrelease
    %define kernel_build_dir %my_builddir/linux-obj
    %define vm_install_dir /var/lib/qubes/vm-kernels/%version-%{plainrel}
    
    %define install_vdso 1
    %define debuginfodir /usr/lib/debug
    
    # debuginfo build is disabled by default to save disk space (it needs 2-3GB build time)
    %define with_debuginfo 0
    
    %if !%{with_debuginfo}
    %global debug_package %{nil}
    %define setup_config --disable CONFIG_DEBUG_INFO
    %else
    %define setup_config --enable CONFIG_DEBUG_INFO --disable CONFIG_DEBUG_INFO_REDUCED
    %endif
    
    Name:           kernel%{?name_suffix}
    Summary:        The Xen Kernel
    Version:        %{version}
    Epoch:          1000
    Release:        %{rel}
    License:        GPL v2 only
    Group:          System/Kernel
    Url:            http://www.kernel.org/
    AutoReqProv:    on
    BuildRequires:  coreutils module-init-tools sparse
    BuildRequires:  qubes-kernel-vm-support
    BuildRequires:  dracut
    BuildRequires:  busybox
    BuildRequires:  bc
    BuildRequires:  openssl-devel
    BuildRequires:  gcc-plugin-devel
    BuildRequires:  elfutils-libelf-devel
    BuildRequires:  bison
    BuildRequires:  flex
    BuildRequires:  e2fsprogs
    
    # gcc with support for BTI mitigation
    %if 0%{?fedora} == 23
    BuildRequires:  gcc >= 5.3.1-6.qubes1
    %else
    %if 0%{?fedora} == 25
    BuildRequires:  gcc >= 6.4.1-1.qubes1
    %else
    BuildRequires:  gcc
    %endif
    %endif
    
    # Needed for building GCC hardened plugins