xref: /utopia/UTPA2-700.0.x/projects/build/scripts/package/mkspec (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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