linux-imx/scripts/package/mkspec
Linus Torvalds 1f73897861 Merge branch 'for-35' of git://repo.or.cz/linux-kbuild
* 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits)
  kbuild: Revert part of e8d400a to resolve a conflict
  kbuild: Fix checking of scm-identifier variable
  gconfig: add support to show hidden options that have prompts
  menuconfig: add support to show hidden options which have prompts
  gconfig: remove show_debug option
  gconfig: remove dbg_print_ptype() and dbg_print_stype()
  kconfig: fix zconfdump()
  kconfig: some small fixes
  add random binaries to .gitignore
  kbuild: Include gen_initramfs_list.sh and the file list in the .d file
  kconfig: recalc symbol value before showing search results
  .gitignore: ignore *.lzo files
  headerdep: perlcritic warning
  scripts/Makefile.lib: Align the output of LZO
  kbuild: Generate modules.builtin in make modules_install
  Revert "kbuild: specify absolute paths for cscope"
  kbuild: Do not unnecessarily regenerate modules.builtin
  headers_install: use local file handles
  headers_check: fix perl warnings
  export_report: fix perl warnings
  ...
2010-06-01 08:55:52 -07:00

2.8 KiB
Executable File

#!/bin/sh

Output a simple RPM spec file that uses no fancy features requiring

RPM v4. This is intended to work with any RPM distro.

The only gothic bit here is redefining install_post to avoid

stripping the symbols from files in the kernel which we want

Patched for non-x86 by Opencon (L) 2002 opencon@rio.skydome.net

how we were called determines which rpms we build and how we build them

if [ "$1" = "prebuilt" ]; then PREBUILT=true else PREBUILT=false fi

starting to output the spec

if [ "grep CONFIG_DRM=y .config | cut -f2 -d\=" = "y" ]; then PROVIDES=kernel-drm fi

PROVIDES="$PROVIDES kernel-$KERNELRELEASE" __KERNELRELEASE=echo $KERNELRELEASE | sed -e "s/-//g"

echo "Name: kernel" echo "Summary: The Linux Kernel" echo "Version: $__KERNELRELEASE"

we need to determine the NEXT version number so that uname and

rpm -q will agree

echo "Release: . $srctree/scripts/mkversion" echo "License: GPL" echo "Group: System Environment/Kernel" echo "Vendor: The Linux Community" echo "URL: http://www.kernel.org"

if ! $PREBUILT; then echo "Source: kernel-$__KERNELRELEASE.tar.gz" fi

echo "BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root" echo "Provides: $PROVIDES" echo "%define __spec_install_post /usr/lib/rpm/brp-compress || :" echo "%define debug_package %{nil}" echo "" echo "%description" echo "The Linux Kernel, the operating system core itself" echo ""

if ! $PREBUILT; then echo "%prep" echo "%setup -q" echo "" fi

echo "%build"

if ! $PREBUILT; then echo "make clean && make %{?_smp_mflags}" echo "" fi

echo "%install" echo "%ifarch ia64" echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules' echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' echo "%else" echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules' echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' echo "%endif"

echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} KBUILD_SRC= modules_install' echo "%ifarch ia64" echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE" echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/" echo "%else" echo "%ifarch ppc64" echo "cp vmlinux arch/powerpc/boot" echo "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" echo "%else" echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE" echo "%endif" echo "%endif"

echo 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE"

echo 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE"

echo "%ifnarch ppc64" echo 'cp vmlinux vmlinux.orig' echo 'bzip2 -9 vmlinux' echo 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2" echo 'mv vmlinux.orig vmlinux' echo "%endif"

echo "" echo "%clean" echo 'rm -rf $RPM_BUILD_ROOT' echo "" echo "%files" echo '%defattr (-, root, root)' echo "%dir /lib/modules" echo "/lib/modules/$KERNELRELEASE" echo "/lib/firmware" echo "/boot/*" echo ""