sched: Add SD_PREFER_SIBLING for SMT level
[linux-2.6-block.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"
114echo 'cp vmlinux vmlinux.orig'
115echo 'bzip2 -9 vmlinux'
116echo 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2"
117echo 'mv vmlinux.orig vmlinux'
118echo "%endif"
119
b9a54424 120if ! $PREBUILT; then
2174d292
MM
121echo 'rm -f $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE/{build,source}"
122echo "mkdir -p "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE"
123echo "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\""
124echo "tar "'$EXCLUDES'" -cf- . | (cd "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE;tar xvf -)"
125echo 'cd $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE"
126echo "ln -sf /usr/src/kernels/$KERNELRELEASE build"
127echo "ln -sf /usr/src/kernels/$KERNELRELEASE source"
b9a54424 128fi
2174d292 129
1da177e4
LT
130echo ""
131echo "%clean"
a2ebcc7a 132echo 'rm -rf $RPM_BUILD_ROOT'
1da177e4 133echo ""
3c9c7a14
MM
134echo "%post"
135echo "if [ -x /sbin/installkernel -a -r /boot/vmlinuz-$KERNELRELEASE -a -r /boot/System.map-$KERNELRELEASE ]; then"
136echo "cp /boot/vmlinuz-$KERNELRELEASE /boot/vmlinuz-$KERNELRELEASE-rpm"
137echo "cp /boot/System.map-$KERNELRELEASE /boot/System.map-$KERNELRELEASE-rpm"
138echo "rm -f /boot/vmlinuz-$KERNELRELEASE /boot/System.map-$KERNELRELEASE"
139echo "/sbin/installkernel $KERNELRELEASE /boot/vmlinuz-$KERNELRELEASE-rpm /boot/System.map-$KERNELRELEASE-rpm"
140echo "rm -f /boot/vmlinuz-$KERNELRELEASE-rpm /boot/System.map-$KERNELRELEASE-rpm"
141echo "fi"
142echo ""
1da177e4
LT
143echo "%files"
144echo '%defattr (-, root, root)'
145echo "%dir /lib/modules"
146echo "/lib/modules/$KERNELRELEASE"
2174d292
MM
147echo "%exclude /lib/modules/$KERNELRELEASE/build"
148echo "%exclude /lib/modules/$KERNELRELEASE/source"
41612378 149echo "/lib/firmware/$KERNELRELEASE"
1da177e4
LT
150echo "/boot/*"
151echo ""
0bd41dfc
AS
152echo "%files headers"
153echo '%defattr (-, root, root)'
154echo "/usr/include"
155echo ""
b9a54424 156if ! $PREBUILT; then
2174d292
MM
157echo "%files devel"
158echo '%defattr (-, root, root)'
159echo "/usr/src/kernels/$KERNELRELEASE"
160echo "/lib/modules/$KERNELRELEASE/build"
161echo "/lib/modules/$KERNELRELEASE/source"
162echo ""
b9a54424 163fi