]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - scripts/package/mkspec
UBUNTU: [Config] CONFIG_SENSORS_ASPEED=m
[mirror_ubuntu-artful-kernel.git] / scripts / package / mkspec
CommitLineData
1da177e4
LT
1#!/bin/sh
2#
2174d292
MM
3# Output a simple RPM spec file.
4# This version assumes a minimum of RPM 4.0.3.
1da177e4
LT
5#
6# The only gothic bit here is redefining install_post to avoid
7# stripping the symbols from files in the kernel which we want
8#
9# Patched for non-x86 by Opencon (L) 2002 <opencon@rio.skydome.net>
10#
11
12# how we were called determines which rpms we build and how we build them
13if [ "$1" = "prebuilt" ]; then
14 PREBUILT=true
15else
16 PREBUILT=false
17fi
18
19# starting to output the spec
20if [ "`grep CONFIG_DRM=y .config | cut -f2 -d\=`" = "y" ]; then
21 PROVIDES=kernel-drm
22fi
23
24PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
e1287eb8 25__KERNELRELEASE=`echo $KERNELRELEASE | sed -e "s/-/_/g"`
1da177e4
LT
26
27echo "Name: kernel"
28echo "Summary: The Linux Kernel"
29echo "Version: $__KERNELRELEASE"
30# we need to determine the NEXT version number so that uname and
31# rpm -q will agree
32echo "Release: `. $srctree/scripts/mkversion`"
33echo "License: GPL"
34echo "Group: System Environment/Kernel"
35echo "Vendor: The Linux Community"
36echo "URL: http://www.kernel.org"
37
38if ! $PREBUILT; then
39echo "Source: kernel-$__KERNELRELEASE.tar.gz"
40fi
41
880df92f 42echo "BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root"
1da177e4
LT
43echo "Provides: $PROVIDES"
44echo "%define __spec_install_post /usr/lib/rpm/brp-compress || :"
45echo "%define debug_package %{nil}"
46echo ""
47echo "%description"
48echo "The Linux Kernel, the operating system core itself"
49echo ""
0bd41dfc
AS
50echo "%package headers"
51echo "Summary: Header files for the Linux kernel for use by glibc"
52echo "Group: Development/System"
53echo "Obsoletes: kernel-headers"
54echo "Provides: kernel-headers = %{version}"
55echo "%description headers"
56echo "Kernel-headers includes the C header files that specify the interface"
57echo "between the Linux kernel and userspace libraries and programs. The"
58echo "header files define structures and constants that are needed for"
59echo "building most standard programs and are also needed for rebuilding the"
60echo "glibc package."
61echo ""
2174d292
MM
62echo "%package devel"
63echo "Summary: Development package for building kernel modules to match the $__KERNELRELEASE kernel"
64echo "Group: System Environment/Kernel"
65echo "AutoReqProv: no"
66echo "%description -n kernel-devel"
67echo "This package provides kernel headers and makefiles sufficient to build modules"
68echo "against the $__KERNELRELEASE kernel package."
69echo ""
1da177e4
LT
70
71if ! $PREBUILT; then
72echo "%prep"
73echo "%setup -q"
74echo ""
75fi
76
77echo "%build"
78
79if ! $PREBUILT; then
13797b77 80echo "make clean && make %{?_smp_mflags}"
1da177e4
LT
81echo ""
82fi
83
84echo "%install"
c398ff00 85echo 'KBUILD_IMAGE=$(make image_name)'
d2cb1a95 86echo "%ifarch ia64"
a5fa393b 87echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
d2cb1a95 88echo "%else"
a5fa393b 89echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
d2cb1a95 90echo "%endif"
41612378 91echo 'mkdir -p $RPM_BUILD_ROOT'"/lib/firmware/$KERNELRELEASE"
1da177e4 92
41612378
MM
93echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= mod-fw= modules_install'
94echo 'INSTALL_FW_PATH=$RPM_BUILD_ROOT'"/lib/firmware/$KERNELRELEASE"
95echo 'make INSTALL_FW_PATH=$INSTALL_FW_PATH' firmware_install
d2cb1a95
GE
96echo "%ifarch ia64"
97echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE"
98echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/"
99echo "%else"
1a0f3d42
MW
100echo "%ifarch ppc64"
101echo "cp vmlinux arch/powerpc/boot"
102echo "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
103echo "%else"
1da177e4 104echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
d2cb1a95 105echo "%endif"
1a0f3d42 106echo "%endif"
1da177e4 107
e0367a61 108echo 'make %{?_smp_mflags} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr KBUILD_SRC= headers_install'
1da177e4
LT
109echo 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE"
110
111echo 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE"
fc370ecf
JH
112
113echo "%ifnarch ppc64"
92f43c45 114echo 'bzip2 -9 --keep vmlinux'
fc370ecf 115echo 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2"
fc370ecf
JH
116echo "%endif"
117
b9a54424 118if ! $PREBUILT; then
51a5f810
AT
119echo 'rm -f $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE/build"
120echo 'rm -f $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE/source"
2174d292
MM
121echo "mkdir -p "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE"
122echo "EXCLUDES=\"$RCS_TAR_IGNORE --exclude .tmp_versions --exclude=*vmlinux* --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation --exclude=firmware --exclude .config.old --exclude .missing-syscalls.d\""
123echo "tar "'$EXCLUDES'" -cf- . | (cd "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE;tar xvf -)"
124echo 'cd $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE"
125echo "ln -sf /usr/src/kernels/$KERNELRELEASE build"
126echo "ln -sf /usr/src/kernels/$KERNELRELEASE source"
b9a54424 127fi
2174d292 128
1da177e4
LT
129echo ""
130echo "%clean"
a2ebcc7a 131echo 'rm -rf $RPM_BUILD_ROOT'
1da177e4 132echo ""
3c9c7a14
MM
133echo "%post"
134echo "if [ -x /sbin/installkernel -a -r /boot/vmlinuz-$KERNELRELEASE -a -r /boot/System.map-$KERNELRELEASE ]; then"
c8b08ca5
JK
135echo "cp /boot/vmlinuz-$KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm"
136echo "cp /boot/System.map-$KERNELRELEASE /boot/.System.map-$KERNELRELEASE-rpm"
3c9c7a14 137echo "rm -f /boot/vmlinuz-$KERNELRELEASE /boot/System.map-$KERNELRELEASE"
c8b08ca5
JK
138echo "/sbin/installkernel $KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm"
139echo "rm -f /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm"
3c9c7a14
MM
140echo "fi"
141echo ""
6ef41e22
PA
142echo "%preun"
143echo "if [ -x /sbin/new-kernel-pkg ]; then"
144echo "new-kernel-pkg --remove $KERNELRELEASE --rminitrd --initrdfile=/boot/initramfs-$KERNELRELEASE.img"
145echo "fi"
146echo ""
27c3bffd
JK
147echo "%postun"
148echo "if [ -x /sbin/update-bootloader ]; then"
149echo "/sbin/update-bootloader --remove $KERNELRELEASE"
150echo "fi"
151echo ""
1da177e4
LT
152echo "%files"
153echo '%defattr (-, root, root)'
1da177e4 154echo "/lib/modules/$KERNELRELEASE"
2174d292
MM
155echo "%exclude /lib/modules/$KERNELRELEASE/build"
156echo "%exclude /lib/modules/$KERNELRELEASE/source"
41612378 157echo "/lib/firmware/$KERNELRELEASE"
1da177e4
LT
158echo "/boot/*"
159echo ""
0bd41dfc
AS
160echo "%files headers"
161echo '%defattr (-, root, root)'
162echo "/usr/include"
163echo ""
b9a54424 164if ! $PREBUILT; then
2174d292
MM
165echo "%files devel"
166echo '%defattr (-, root, root)'
167echo "/usr/src/kernels/$KERNELRELEASE"
168echo "/lib/modules/$KERNELRELEASE/build"
169echo "/lib/modules/$KERNELRELEASE/source"
170echo ""
b9a54424 171fi