1*53ee8cc1Swenshuai.xi#!/bin/sh 2*53ee8cc1Swenshuai.xi# 3*53ee8cc1Swenshuai.xi# Output a simple RPM spec file that uses no fancy features requiring 4*53ee8cc1Swenshuai.xi# RPM v4. This is intended to work with any RPM distro. 5*53ee8cc1Swenshuai.xi# 6*53ee8cc1Swenshuai.xi# The only gothic bit here is redefining install_post to avoid 7*53ee8cc1Swenshuai.xi# stripping the symbols from files in the kernel which we want 8*53ee8cc1Swenshuai.xi# 9*53ee8cc1Swenshuai.xi# Patched for non-x86 by Opencon (L) 2002 <opencon@rio.skydome.net> 10*53ee8cc1Swenshuai.xi# 11*53ee8cc1Swenshuai.xi 12*53ee8cc1Swenshuai.xi# how we were called determines which rpms we build and how we build them 13*53ee8cc1Swenshuai.xiif [ "$1" = "prebuilt" ]; then 14*53ee8cc1Swenshuai.xi PREBUILT=true 15*53ee8cc1Swenshuai.xielse 16*53ee8cc1Swenshuai.xi PREBUILT=false 17*53ee8cc1Swenshuai.xifi 18*53ee8cc1Swenshuai.xi 19*53ee8cc1Swenshuai.xi# starting to output the spec 20*53ee8cc1Swenshuai.xiif [ "`grep CONFIG_DRM=y .config | cut -f2 -d\=`" = "y" ]; then 21*53ee8cc1Swenshuai.xi PROVIDES=kernel-drm 22*53ee8cc1Swenshuai.xifi 23*53ee8cc1Swenshuai.xi 24*53ee8cc1Swenshuai.xiPROVIDES="$PROVIDES kernel-$KERNELRELEASE" 25*53ee8cc1Swenshuai.xi__KERNELRELEASE=`echo $KERNELRELEASE | sed -e "s/-/_/g"` 26*53ee8cc1Swenshuai.xi 27*53ee8cc1Swenshuai.xiecho "Name: kernel" 28*53ee8cc1Swenshuai.xiecho "Summary: The Linux Kernel" 29*53ee8cc1Swenshuai.xiecho "Version: $__KERNELRELEASE" 30*53ee8cc1Swenshuai.xi# we need to determine the NEXT version number so that uname and 31*53ee8cc1Swenshuai.xi# rpm -q will agree 32*53ee8cc1Swenshuai.xiecho "Release: `. $srctree/scripts/mkversion`" 33*53ee8cc1Swenshuai.xiecho "License: GPL" 34*53ee8cc1Swenshuai.xiecho "Group: System Environment/Kernel" 35*53ee8cc1Swenshuai.xiecho "Vendor: The Linux Community" 36*53ee8cc1Swenshuai.xiecho "URL: http://www.kernel.org" 37*53ee8cc1Swenshuai.xi 38*53ee8cc1Swenshuai.xiif ! $PREBUILT; then 39*53ee8cc1Swenshuai.xiecho "Source: kernel-$__KERNELRELEASE.tar.gz" 40*53ee8cc1Swenshuai.xifi 41*53ee8cc1Swenshuai.xi 42*53ee8cc1Swenshuai.xiecho "BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root" 43*53ee8cc1Swenshuai.xiecho "Provides: $PROVIDES" 44*53ee8cc1Swenshuai.xiecho "%define __spec_install_post /usr/lib/rpm/brp-compress || :" 45*53ee8cc1Swenshuai.xiecho "%define debug_package %{nil}" 46*53ee8cc1Swenshuai.xiecho "" 47*53ee8cc1Swenshuai.xiecho "%description" 48*53ee8cc1Swenshuai.xiecho "The Linux Kernel, the operating system core itself" 49*53ee8cc1Swenshuai.xiecho "" 50*53ee8cc1Swenshuai.xiecho "%package headers" 51*53ee8cc1Swenshuai.xiecho "Summary: Header files for the Linux kernel for use by glibc" 52*53ee8cc1Swenshuai.xiecho "Group: Development/System" 53*53ee8cc1Swenshuai.xiecho "Obsoletes: kernel-headers" 54*53ee8cc1Swenshuai.xiecho "Provides: kernel-headers = %{version}" 55*53ee8cc1Swenshuai.xiecho "%description headers" 56*53ee8cc1Swenshuai.xiecho "Kernel-headers includes the C header files that specify the interface" 57*53ee8cc1Swenshuai.xiecho "between the Linux kernel and userspace libraries and programs. The" 58*53ee8cc1Swenshuai.xiecho "header files define structures and constants that are needed for" 59*53ee8cc1Swenshuai.xiecho "building most standard programs and are also needed for rebuilding the" 60*53ee8cc1Swenshuai.xiecho "glibc package." 61*53ee8cc1Swenshuai.xiecho "" 62*53ee8cc1Swenshuai.xi 63*53ee8cc1Swenshuai.xiif ! $PREBUILT; then 64*53ee8cc1Swenshuai.xiecho "%prep" 65*53ee8cc1Swenshuai.xiecho "%setup -q" 66*53ee8cc1Swenshuai.xiecho "" 67*53ee8cc1Swenshuai.xifi 68*53ee8cc1Swenshuai.xi 69*53ee8cc1Swenshuai.xiecho "%build" 70*53ee8cc1Swenshuai.xi 71*53ee8cc1Swenshuai.xiif ! $PREBUILT; then 72*53ee8cc1Swenshuai.xiecho "make clean && make %{?_smp_mflags}" 73*53ee8cc1Swenshuai.xiecho "" 74*53ee8cc1Swenshuai.xifi 75*53ee8cc1Swenshuai.xi 76*53ee8cc1Swenshuai.xiecho "%install" 77*53ee8cc1Swenshuai.xiecho "%ifarch ia64" 78*53ee8cc1Swenshuai.xiecho 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules' 79*53ee8cc1Swenshuai.xiecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' 80*53ee8cc1Swenshuai.xiecho "%else" 81*53ee8cc1Swenshuai.xiecho 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules' 82*53ee8cc1Swenshuai.xiecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' 83*53ee8cc1Swenshuai.xiecho "%endif" 84*53ee8cc1Swenshuai.xi 85*53ee8cc1Swenshuai.xiecho 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= modules_install' 86*53ee8cc1Swenshuai.xiecho "%ifarch ia64" 87*53ee8cc1Swenshuai.xiecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE" 88*53ee8cc1Swenshuai.xiecho 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/" 89*53ee8cc1Swenshuai.xiecho "%else" 90*53ee8cc1Swenshuai.xiecho "%ifarch ppc64" 91*53ee8cc1Swenshuai.xiecho "cp vmlinux arch/powerpc/boot" 92*53ee8cc1Swenshuai.xiecho "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" 93*53ee8cc1Swenshuai.xiecho "%else" 94*53ee8cc1Swenshuai.xiecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" 95*53ee8cc1Swenshuai.xiecho "%endif" 96*53ee8cc1Swenshuai.xiecho "%endif" 97*53ee8cc1Swenshuai.xi 98*53ee8cc1Swenshuai.xiecho 'make %{?_smp_mflags} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install' 99*53ee8cc1Swenshuai.xiecho 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE" 100*53ee8cc1Swenshuai.xi 101*53ee8cc1Swenshuai.xiecho 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE" 102*53ee8cc1Swenshuai.xi 103*53ee8cc1Swenshuai.xiecho "%ifnarch ppc64" 104*53ee8cc1Swenshuai.xiecho 'cp vmlinux vmlinux.orig' 105*53ee8cc1Swenshuai.xiecho 'bzip2 -9 vmlinux' 106*53ee8cc1Swenshuai.xiecho 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2" 107*53ee8cc1Swenshuai.xiecho 'mv vmlinux.orig vmlinux' 108*53ee8cc1Swenshuai.xiecho "%endif" 109*53ee8cc1Swenshuai.xi 110*53ee8cc1Swenshuai.xiecho "" 111*53ee8cc1Swenshuai.xiecho "%clean" 112*53ee8cc1Swenshuai.xiecho 'rm -rf $RPM_BUILD_ROOT' 113*53ee8cc1Swenshuai.xiecho "" 114*53ee8cc1Swenshuai.xiecho "%files" 115*53ee8cc1Swenshuai.xiecho '%defattr (-, root, root)' 116*53ee8cc1Swenshuai.xiecho "%dir /lib/modules" 117*53ee8cc1Swenshuai.xiecho "/lib/modules/$KERNELRELEASE" 118*53ee8cc1Swenshuai.xiecho "/lib/firmware" 119*53ee8cc1Swenshuai.xiecho "/boot/*" 120*53ee8cc1Swenshuai.xiecho "" 121*53ee8cc1Swenshuai.xiecho "%files headers" 122*53ee8cc1Swenshuai.xiecho '%defattr (-, root, root)' 123*53ee8cc1Swenshuai.xiecho "/usr/include" 124*53ee8cc1Swenshuai.xiecho "" 125