xref: /linux-6.15/scripts/package/mkspec (revision e0367a61)
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 ""
500bd41dfcSArun Sharmaecho "%package headers"
510bd41dfcSArun Sharmaecho "Summary: Header files for the Linux kernel for use by glibc"
520bd41dfcSArun Sharmaecho "Group: Development/System"
530bd41dfcSArun Sharmaecho "Obsoletes: kernel-headers"
540bd41dfcSArun Sharmaecho "Provides: kernel-headers = %{version}"
550bd41dfcSArun Sharmaecho "%description headers"
560bd41dfcSArun Sharmaecho "Kernel-headers includes the C header files that specify the interface"
570bd41dfcSArun Sharmaecho "between the Linux kernel and userspace libraries and programs.  The"
580bd41dfcSArun Sharmaecho "header files define structures and constants that are needed for"
590bd41dfcSArun Sharmaecho "building most standard programs and are also needed for rebuilding the"
600bd41dfcSArun Sharmaecho "glibc package."
610bd41dfcSArun 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*e0367a61SDavid R. Bildecho 'make %{?_smp_mflags} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr KBUILD_SRC= 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 ""
1210bd41dfcSArun Sharmaecho "%files headers"
1220bd41dfcSArun Sharmaecho '%defattr (-, root, root)'
1230bd41dfcSArun Sharmaecho "/usr/include"
1240bd41dfcSArun Sharmaecho ""
125