linux/scripts/package/mkspec
<<
>>
Prefs
   1#!/bin/sh
   2#
   3#       Output a simple RPM spec file that uses no fancy features requring
   4#       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
  60echo "make clean && make %{?_smp_mflags}"
  61echo ""
  62fi
  63
  64echo "%install"
  65echo "%ifarch ia64"
  66echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
  67echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
  68echo "%else"
  69echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
  70echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
  71echo "%endif"
  72
  73echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} KBUILD_SRC= modules_install'
  74echo "%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"
  78echo "%ifarch ppc64"
  79echo "cp vmlinux arch/powerpc/boot"
  80echo "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
  81echo "%else"
  82echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
  83echo "%endif"
  84echo "%endif"
  85
  86echo 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE"
  87
  88echo 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE"
  89
  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
  97echo ""
  98echo "%clean"
  99echo 'rm -rf $RPM_BUILD_ROOT'
 100echo ""
 101echo "%files"
 102echo '%defattr (-, root, root)'
 103echo "%dir /lib/modules"
 104echo "/lib/modules/$KERNELRELEASE"
 105echo "/lib/firmware"
 106echo "/boot/*"
 107echo ""
 108