blob: fa27f3dac76992c3e37fa49bbfc61e294464d306 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#!/bin/sh
2#
Gilles Espinassef77f13e2010-03-29 15:41:47 +02003# Output a simple RPM spec file that uses no fancy features requiring
Linus Torvalds1da177e2005-04-16 15:20:36 -07004# RPM v4. This is intended to work with any RPM distro.
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"
25__KERNELRELEASE=`echo $KERNELRELEASE | sed -e "s/-//g"`
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
42echo "BuildRoot: /var/tmp/%{name}-%{PACKAGE_VERSION}-root"
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 ""
50
51if ! $PREBUILT; then
52echo "%prep"
53echo "%setup -q"
54echo ""
55fi
56
57echo "%build"
58
59if ! $PREBUILT; then
Jeremy Kerr13797b72008-10-25 15:02:47 -070060echo "make clean && make %{?_smp_mflags}"
Linus Torvalds1da177e2005-04-16 15:20:36 -070061echo ""
62fi
63
64echo "%install"
Greg Edwardsd2cb1a92004-07-29 13:07:32 -050065echo "%ifarch ia64"
Rolf Eike Beera5fa3932006-08-14 08:16:47 +020066echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
Evgeniy Manachkin46dca862008-10-15 23:37:26 +060067echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
Greg Edwardsd2cb1a92004-07-29 13:07:32 -050068echo "%else"
Rolf Eike Beera5fa3932006-08-14 08:16:47 +020069echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
Evgeniy Manachkin46dca862008-10-15 23:37:26 +060070echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
Greg Edwardsd2cb1a92004-07-29 13:07:32 -050071echo "%endif"
Linus Torvalds1da177e2005-04-16 15:20:36 -070072
Frans Popdb9038c82009-08-25 22:15:39 +020073echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} KBUILD_SRC= modules_install'
Greg Edwardsd2cb1a92004-07-29 13:07:32 -050074echo "%ifarch ia64"
75echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE"
76echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/"
77echo "%else"
Mike Wolf1a0f3d42006-06-02 09:53:42 -050078echo "%ifarch ppc64"
79echo "cp vmlinux arch/powerpc/boot"
80echo "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
81echo "%else"
Linus Torvalds1da177e2005-04-16 15:20:36 -070082echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
Greg Edwardsd2cb1a92004-07-29 13:07:32 -050083echo "%endif"
Mike Wolf1a0f3d42006-06-02 09:53:42 -050084echo "%endif"
Linus Torvalds1da177e2005-04-16 15:20:36 -070085
86echo 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE"
87
88echo 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE"
Josh Huntfc370ec2009-02-11 21:10:57 -080089
90echo "%ifnarch ppc64"
91echo 'cp vmlinux vmlinux.orig'
92echo 'bzip2 -9 vmlinux'
93echo 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2"
94echo 'mv vmlinux.orig vmlinux'
95echo "%endif"
96
Linus Torvalds1da177e2005-04-16 15:20:36 -070097echo ""
98echo "%clean"
Josh Hunta2ebcc72009-02-22 10:54:55 -080099echo 'rm -rf $RPM_BUILD_ROOT'
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100echo ""
101echo "%files"
102echo '%defattr (-, root, root)'
103echo "%dir /lib/modules"
104echo "/lib/modules/$KERNELRELEASE"
Evgeniy Manachkin46dca862008-10-15 23:37:26 +0600105echo "/lib/firmware"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700106echo "/boot/*"
107echo ""