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 "" 500bd41dfcSArun Sharmaecho "%package headers" 510bd41dfcSArun Sharmaecho "Summary: Header files for the Linux kernel for use by glibc" 520bd41dfcSArun Sharmaecho "Group: Development/System" 530bd41dfcSArun Sharmaecho "Obsoletes: kernel-headers" 540bd41dfcSArun Sharmaecho "Provides: kernel-headers = %{version}" 550bd41dfcSArun Sharmaecho "%description headers" 560bd41dfcSArun Sharmaecho "Kernel-headers includes the C header files that specify the interface" 570bd41dfcSArun Sharmaecho "between the Linux kernel and userspace libraries and programs. The" 580bd41dfcSArun Sharmaecho "header files define structures and constants that are needed for" 590bd41dfcSArun Sharmaecho "building most standard programs and are also needed for rebuilding the" 600bd41dfcSArun Sharmaecho "glibc package." 610bd41dfcSArun 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" 77*c398ff00SMike Marciniszynecho 'KBUILD_IMAGE=$(make image_name)' 78d2cb1a95SGreg Edwardsecho "%ifarch ia64" 79a5fa393bSRolf Eike Beerecho 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules' 8046dca86cSEvgeniy Manachkinecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' 81d2cb1a95SGreg Edwardsecho "%else" 82a5fa393bSRolf Eike Beerecho 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules' 8346dca86cSEvgeniy Manachkinecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' 84d2cb1a95SGreg Edwardsecho "%endif" 851da177e4SLinus Torvalds 86c2d5a730SNishanth Aravamudanecho 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= modules_install' 87d2cb1a95SGreg Edwardsecho "%ifarch ia64" 88d2cb1a95SGreg Edwardsecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE" 89d2cb1a95SGreg Edwardsecho 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/" 90d2cb1a95SGreg Edwardsecho "%else" 911a0f3d42SMike Wolfecho "%ifarch ppc64" 921a0f3d42SMike Wolfecho "cp vmlinux arch/powerpc/boot" 931a0f3d42SMike Wolfecho "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" 941a0f3d42SMike Wolfecho "%else" 951da177e4SLinus Torvaldsecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" 96d2cb1a95SGreg Edwardsecho "%endif" 971a0f3d42SMike Wolfecho "%endif" 981da177e4SLinus Torvalds 99e0367a61SDavid R. Bildecho 'make %{?_smp_mflags} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr KBUILD_SRC= headers_install' 1001da177e4SLinus Torvaldsecho 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE" 1011da177e4SLinus Torvalds 1021da177e4SLinus Torvaldsecho 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE" 103fc370ecfSJosh Hunt 104fc370ecfSJosh Huntecho "%ifnarch ppc64" 105fc370ecfSJosh Huntecho 'cp vmlinux vmlinux.orig' 106fc370ecfSJosh Huntecho 'bzip2 -9 vmlinux' 107fc370ecfSJosh Huntecho 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2" 108fc370ecfSJosh Huntecho 'mv vmlinux.orig vmlinux' 109fc370ecfSJosh Huntecho "%endif" 110fc370ecfSJosh Hunt 1111da177e4SLinus Torvaldsecho "" 1121da177e4SLinus Torvaldsecho "%clean" 113a2ebcc7aSJosh Huntecho 'rm -rf $RPM_BUILD_ROOT' 1141da177e4SLinus Torvaldsecho "" 1151da177e4SLinus Torvaldsecho "%files" 1161da177e4SLinus Torvaldsecho '%defattr (-, root, root)' 1171da177e4SLinus Torvaldsecho "%dir /lib/modules" 1181da177e4SLinus Torvaldsecho "/lib/modules/$KERNELRELEASE" 11946dca86cSEvgeniy Manachkinecho "/lib/firmware" 1201da177e4SLinus Torvaldsecho "/boot/*" 1211da177e4SLinus Torvaldsecho "" 1220bd41dfcSArun Sharmaecho "%files headers" 1230bd41dfcSArun Sharmaecho '%defattr (-, root, root)' 1240bd41dfcSArun Sharmaecho "/usr/include" 1250bd41dfcSArun Sharmaecho "" 126