11da177e4SLinus Torvalds#!/bin/sh 21da177e4SLinus Torvalds# 3f77f13e2SGilles Espinasse# Output a simple RPM spec file that uses no fancy features requiring 41da177e4SLinus Torvalds# RPM v4. This is intended to work with any RPM distro. 51da177e4SLinus Torvalds# 61da177e4SLinus Torvalds# The only gothic bit here is redefining install_post to avoid 71da177e4SLinus Torvalds# stripping the symbols from files in the kernel which we want 81da177e4SLinus Torvalds# 91da177e4SLinus Torvalds# Patched for non-x86 by Opencon (L) 2002 <[email protected]> 101da177e4SLinus Torvalds# 111da177e4SLinus Torvalds 121da177e4SLinus Torvalds# how we were called determines which rpms we build and how we build them 131da177e4SLinus Torvaldsif [ "$1" = "prebuilt" ]; then 141da177e4SLinus Torvalds PREBUILT=true 151da177e4SLinus Torvaldselse 161da177e4SLinus Torvalds PREBUILT=false 171da177e4SLinus Torvaldsfi 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds# starting to output the spec 201da177e4SLinus Torvaldsif [ "`grep CONFIG_DRM=y .config | cut -f2 -d\=`" = "y" ]; then 211da177e4SLinus Torvalds PROVIDES=kernel-drm 221da177e4SLinus Torvaldsfi 231da177e4SLinus Torvalds 241da177e4SLinus TorvaldsPROVIDES="$PROVIDES kernel-$KERNELRELEASE" 25e1287eb8SArun Sharma__KERNELRELEASE=`echo $KERNELRELEASE | sed -e "s/-/_/g"` 261da177e4SLinus Torvalds 271da177e4SLinus Torvaldsecho "Name: kernel" 281da177e4SLinus Torvaldsecho "Summary: The Linux Kernel" 291da177e4SLinus Torvaldsecho "Version: $__KERNELRELEASE" 301da177e4SLinus Torvalds# we need to determine the NEXT version number so that uname and 311da177e4SLinus Torvalds# rpm -q will agree 321da177e4SLinus Torvaldsecho "Release: `. $srctree/scripts/mkversion`" 331da177e4SLinus Torvaldsecho "License: GPL" 341da177e4SLinus Torvaldsecho "Group: System Environment/Kernel" 351da177e4SLinus Torvaldsecho "Vendor: The Linux Community" 361da177e4SLinus Torvaldsecho "URL: http://www.kernel.org" 371da177e4SLinus Torvalds 381da177e4SLinus Torvaldsif ! $PREBUILT; then 391da177e4SLinus Torvaldsecho "Source: kernel-$__KERNELRELEASE.tar.gz" 401da177e4SLinus Torvaldsfi 411da177e4SLinus Torvalds 42880df92fSJohn Saalwaechterecho "BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root" 431da177e4SLinus Torvaldsecho "Provides: $PROVIDES" 441da177e4SLinus Torvaldsecho "%define __spec_install_post /usr/lib/rpm/brp-compress || :" 451da177e4SLinus Torvaldsecho "%define debug_package %{nil}" 461da177e4SLinus Torvaldsecho "" 471da177e4SLinus Torvaldsecho "%description" 481da177e4SLinus Torvaldsecho "The Linux Kernel, the operating system core itself" 491da177e4SLinus Torvaldsecho "" 50*0bd41dfcSArun Sharmaecho "%package headers" 51*0bd41dfcSArun Sharmaecho "Summary: Header files for the Linux kernel for use by glibc" 52*0bd41dfcSArun Sharmaecho "Group: Development/System" 53*0bd41dfcSArun Sharmaecho "Obsoletes: kernel-headers" 54*0bd41dfcSArun Sharmaecho "Provides: kernel-headers = %{version}" 55*0bd41dfcSArun Sharmaecho "%description headers" 56*0bd41dfcSArun Sharmaecho "Kernel-headers includes the C header files that specify the interface" 57*0bd41dfcSArun Sharmaecho "between the Linux kernel and userspace libraries and programs. The" 58*0bd41dfcSArun Sharmaecho "header files define structures and constants that are needed for" 59*0bd41dfcSArun Sharmaecho "building most standard programs and are also needed for rebuilding the" 60*0bd41dfcSArun Sharmaecho "glibc package." 61*0bd41dfcSArun Sharmaecho "" 621da177e4SLinus Torvalds 631da177e4SLinus Torvaldsif ! $PREBUILT; then 641da177e4SLinus Torvaldsecho "%prep" 651da177e4SLinus Torvaldsecho "%setup -q" 661da177e4SLinus Torvaldsecho "" 671da177e4SLinus Torvaldsfi 681da177e4SLinus Torvalds 691da177e4SLinus Torvaldsecho "%build" 701da177e4SLinus Torvalds 711da177e4SLinus Torvaldsif ! $PREBUILT; then 7213797b77SJeremy Kerrecho "make clean && make %{?_smp_mflags}" 731da177e4SLinus Torvaldsecho "" 741da177e4SLinus Torvaldsfi 751da177e4SLinus Torvalds 761da177e4SLinus Torvaldsecho "%install" 77d2cb1a95SGreg Edwardsecho "%ifarch ia64" 78a5fa393bSRolf Eike Beerecho 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules' 7946dca86cSEvgeniy Manachkinecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' 80d2cb1a95SGreg Edwardsecho "%else" 81a5fa393bSRolf Eike Beerecho 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules' 8246dca86cSEvgeniy Manachkinecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' 83d2cb1a95SGreg Edwardsecho "%endif" 841da177e4SLinus Torvalds 85c2d5a730SNishanth Aravamudanecho 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= modules_install' 86d2cb1a95SGreg Edwardsecho "%ifarch ia64" 87d2cb1a95SGreg Edwardsecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE" 88d2cb1a95SGreg Edwardsecho 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/" 89d2cb1a95SGreg Edwardsecho "%else" 901a0f3d42SMike Wolfecho "%ifarch ppc64" 911a0f3d42SMike Wolfecho "cp vmlinux arch/powerpc/boot" 921a0f3d42SMike Wolfecho "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" 931a0f3d42SMike Wolfecho "%else" 941da177e4SLinus Torvaldsecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" 95d2cb1a95SGreg Edwardsecho "%endif" 961a0f3d42SMike Wolfecho "%endif" 971da177e4SLinus Torvalds 98*0bd41dfcSArun Sharmaecho 'make %{?_smp_mflags} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install' 991da177e4SLinus Torvaldsecho 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE" 1001da177e4SLinus Torvalds 1011da177e4SLinus Torvaldsecho 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE" 102fc370ecfSJosh Hunt 103fc370ecfSJosh Huntecho "%ifnarch ppc64" 104fc370ecfSJosh Huntecho 'cp vmlinux vmlinux.orig' 105fc370ecfSJosh Huntecho 'bzip2 -9 vmlinux' 106fc370ecfSJosh Huntecho 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2" 107fc370ecfSJosh Huntecho 'mv vmlinux.orig vmlinux' 108fc370ecfSJosh Huntecho "%endif" 109fc370ecfSJosh Hunt 1101da177e4SLinus Torvaldsecho "" 1111da177e4SLinus Torvaldsecho "%clean" 112a2ebcc7aSJosh Huntecho 'rm -rf $RPM_BUILD_ROOT' 1131da177e4SLinus Torvaldsecho "" 1141da177e4SLinus Torvaldsecho "%files" 1151da177e4SLinus Torvaldsecho '%defattr (-, root, root)' 1161da177e4SLinus Torvaldsecho "%dir /lib/modules" 1171da177e4SLinus Torvaldsecho "/lib/modules/$KERNELRELEASE" 11846dca86cSEvgeniy Manachkinecho "/lib/firmware" 1191da177e4SLinus Torvaldsecho "/boot/*" 1201da177e4SLinus Torvaldsecho "" 121*0bd41dfcSArun Sharmaecho "%files headers" 122*0bd41dfcSArun Sharmaecho '%defattr (-, root, root)' 123*0bd41dfcSArun Sharmaecho "/usr/include" 124*0bd41dfcSArun Sharmaecho "" 125