xref: /linux-6.15/scripts/package/mkspec (revision 0bd41dfc)
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 ""
50*0bd41dfcSArun Sharmaecho "%package headers"
51*0bd41dfcSArun Sharmaecho "Summary: Header files for the Linux kernel for use by glibc"
52*0bd41dfcSArun Sharmaecho "Group: Development/System"
53*0bd41dfcSArun Sharmaecho "Obsoletes: kernel-headers"
54*0bd41dfcSArun Sharmaecho "Provides: kernel-headers = %{version}"
55*0bd41dfcSArun Sharmaecho "%description headers"
56*0bd41dfcSArun Sharmaecho "Kernel-headers includes the C header files that specify the interface"
57*0bd41dfcSArun Sharmaecho "between the Linux kernel and userspace libraries and programs.  The"
58*0bd41dfcSArun Sharmaecho "header files define structures and constants that are needed for"
59*0bd41dfcSArun Sharmaecho "building most standard programs and are also needed for rebuilding the"
60*0bd41dfcSArun Sharmaecho "glibc package."
61*0bd41dfcSArun 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"
77d2cb1a95SGreg Edwardsecho "%ifarch ia64"
78a5fa393bSRolf Eike Beerecho 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
7946dca86cSEvgeniy Manachkinecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
80d2cb1a95SGreg Edwardsecho "%else"
81a5fa393bSRolf Eike Beerecho 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
8246dca86cSEvgeniy Manachkinecho 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'
83d2cb1a95SGreg Edwardsecho "%endif"
841da177e4SLinus Torvalds
85c2d5a730SNishanth Aravamudanecho 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= modules_install'
86d2cb1a95SGreg Edwardsecho "%ifarch ia64"
87d2cb1a95SGreg Edwardsecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE"
88d2cb1a95SGreg Edwardsecho 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/"
89d2cb1a95SGreg Edwardsecho "%else"
901a0f3d42SMike Wolfecho "%ifarch ppc64"
911a0f3d42SMike Wolfecho "cp vmlinux arch/powerpc/boot"
921a0f3d42SMike Wolfecho "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
931a0f3d42SMike Wolfecho "%else"
941da177e4SLinus Torvaldsecho 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
95d2cb1a95SGreg Edwardsecho "%endif"
961a0f3d42SMike Wolfecho "%endif"
971da177e4SLinus Torvalds
98*0bd41dfcSArun Sharmaecho 'make %{?_smp_mflags} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install'
991da177e4SLinus Torvaldsecho 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE"
1001da177e4SLinus Torvalds
1011da177e4SLinus Torvaldsecho 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE"
102fc370ecfSJosh Hunt
103fc370ecfSJosh Huntecho "%ifnarch ppc64"
104fc370ecfSJosh Huntecho 'cp vmlinux vmlinux.orig'
105fc370ecfSJosh Huntecho 'bzip2 -9 vmlinux'
106fc370ecfSJosh Huntecho 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2"
107fc370ecfSJosh Huntecho 'mv vmlinux.orig vmlinux'
108fc370ecfSJosh Huntecho "%endif"
109fc370ecfSJosh Hunt
1101da177e4SLinus Torvaldsecho ""
1111da177e4SLinus Torvaldsecho "%clean"
112a2ebcc7aSJosh Huntecho 'rm -rf $RPM_BUILD_ROOT'
1131da177e4SLinus Torvaldsecho ""
1141da177e4SLinus Torvaldsecho "%files"
1151da177e4SLinus Torvaldsecho '%defattr (-, root, root)'
1161da177e4SLinus Torvaldsecho "%dir /lib/modules"
1171da177e4SLinus Torvaldsecho "/lib/modules/$KERNELRELEASE"
11846dca86cSEvgeniy Manachkinecho "/lib/firmware"
1191da177e4SLinus Torvaldsecho "/boot/*"
1201da177e4SLinus Torvaldsecho ""
121*0bd41dfcSArun Sharmaecho "%files headers"
122*0bd41dfcSArun Sharmaecho '%defattr (-, root, root)'
123*0bd41dfcSArun Sharmaecho "/usr/include"
124*0bd41dfcSArun Sharmaecho ""
125