]> git.ipfire.org Git - ipfire-3.x.git/blame - kernel/kernel.nm
glibc: Make sure that the right kernel headers are available.
[ipfire-3.x.git] / kernel / kernel.nm
CommitLineData
166a6c21 1###############################################################################
802ea3af
MT
2# IPFire.org - An Open Source Firewall Solution #
3# Copyright (C) - IPFire Development Team <info@ipfire.org> #
166a6c21
MT
4###############################################################################
5
802ea3af
MT
6name = linux
7version = 2.6.39
8release = 4
166a6c21 9
802ea3af
MT
10maintainer = Michael Tremer <michael.tremer@ipfire.org>
11groups = System/Kernels
12url = http://www.kernel.org/
13license = GPLv2
14summary = The Linux kernel.
166a6c21 15
802ea3af 16description
166a6c21
MT
17 The kernel package contains the Linux kernel (vmlinuz), the core of any \
18 Linux operating system. The kernel handles the basic functions \
19 of the operating system: memory allocation, process allocation, device \
20 input and output, etc.
802ea3af 21end
166a6c21 22
166a6c21
MT
23CFLAGS =
24CXXFLAGS =
25
802ea3af
MT
26# Version helper variables.
27localversion = -%{DISTRO_SNAME}%{release}
28fullver = %{version}%{localversion}
29
30sources = %{thisapp}.tar.bz2
31
32build
33 requires
34 module-init-tools
35 ncurses-devel
36 perl
37 end
38
39 prepare_cmds
40 echo "%{localversion}" > localversion-%{DISTRO_SNAME}
41 rm -f %{DIR_APP}/localversion-grsec
42
43 sed -e "s/^HOSTCFLAGS.*=.*/& -fPIC/g" -i Makefile
44
45 cp -vf %{DIR_SOURCE}/%{DISTRO_SNAME}_logo.ppm \
46 drivers/video/logo/logo_linux_clut224.ppm
47
48 make mrproper
49
50 # Install configuration file
51 cp -f %{DIR_SOURCE}/config %{DIR_APP}/.config
52 end
53
54 build
55 yes "" | make oldconfig
56
57 # Check headers
58 make ARCH=x86 headers_check
59
60 make CC="gcc -nopie" %{PARALLELISMFLAGS}
61 end
62
63 install
64 make modules_install INSTALL_MOD_PATH=%{BUILDROOT}
65
66 mkdir -pv %{BUILDROOT}/boot
67 cp -v arch/x86/boot/bzImage %{BUILDROOT}/boot/vmlinuz-%{fullver}
68 cp -v System.map %{BUILDROOT}/boot/System.map-%{fullver}
69
70 mkdir -pv %{BUILDROOT}/lib/modules/%{fullver}/extra
71
72 rm -vf %{BUILDROOT}/lib/modules/%{fullver}/{build,source}
73
74 # Install the header files
75 make ARCH=x86 INSTALL_HDR_PATH=dest headers_install
76 mkdir -pv %{BUILDROOT}/usr/include
77 find dest/include \( -name .install -o -name ..install.cmd \) -delete
78 cp -rv dest/include/* %{BUILDROOT}/usr/include
79
80 # Glibc provides these headers
81 rm -rfv %{BUILDROOT}/usr/include/scsi \
82 %{BUILDROOT}/usr/include/asm*/atomic.h \
83 %{BUILDROOT}/usr/include/asm*/io.h \
84 %{BUILDROOT}/usr/include/asm*/irq.h
85
86 # Create an empty settings file for dracut
87 mkdir -vp %{BUILDROOT}/etc/ld.so.conf.d/
88 echo "# Placeholder file, no vDSO hwcap entries used in this kernel." \
89 > %{BUILDROOT}/etc/ld.so.conf.d/kernel-%{fullver}.conf
90 end
91end
92
93packages
94 package kernel
95 requires
96 dracut
97 linux-firmware
98 end
99 end
100
101 package kernel-headers
102 template DEVEL
103
104 summary = Header files of the kernel release %{fullver}.
105 desciption = %{summary}
106 end
107
108end