~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/package/mkspec

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/package/mkspec (Version linux-6.12-rc7) and /scripts/package/mkspec (Version linux-4.10.17)


  1 #!/bin/sh                                           1 #!/bin/sh
  2 #                                                   2 #
  3 #       Output a simple RPM spec file.              3 #       Output a simple RPM spec file.
  4 #       This version assumes a minimum of RPM  !!   4 #       This version assumes a minimum of RPM 4.0.3.
  5 #                                                   5 #
  6 #       The only gothic bit here is redefining      6 #       The only gothic bit here is redefining install_post to avoid
  7 #       stripping the symbols from files in th      7 #       stripping the symbols from files in the kernel which we want
  8 #                                                   8 #
  9 #       Patched for non-x86 by Opencon (L) 200<      9 #       Patched for non-x86 by Opencon (L) 2002 <opencon@rio.skydome.net>
 10 #                                                  10 #
 11                                                    11 
 12 set -eu                                        !!  12 # how we were called determines which rpms we build and how we build them
                                                   >>  13 if [ "$1" = "prebuilt" ]; then
                                                   >>  14         PREBUILT=true
                                                   >>  15 else
                                                   >>  16         PREBUILT=false
                                                   >>  17 fi
 13                                                    18 
 14 output=$1                                      !!  19 # starting to output the spec
                                                   >>  20 if [ "`grep CONFIG_DRM=y .config | cut -f2 -d\=`" = "y" ]; then
                                                   >>  21         PROVIDES=kernel-drm
                                                   >>  22 fi
 15                                                    23 
 16 mkdir -p "$(dirname "${output}")"              !!  24 PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
                                                   >>  25 __KERNELRELEASE=`echo $KERNELRELEASE | sed -e "s/-/_/g"`
 17                                                    26 
 18 exec >"${output}"                              !!  27 echo "Name: kernel"
                                                   >>  28 echo "Summary: The Linux Kernel"
                                                   >>  29 echo "Version: $__KERNELRELEASE"
                                                   >>  30 # we need to determine the NEXT version number so that uname and
                                                   >>  31 # rpm -q will agree
                                                   >>  32 echo "Release: `. $srctree/scripts/mkversion`"
                                                   >>  33 echo "License: GPL"
                                                   >>  34 echo "Group: System Environment/Kernel"
                                                   >>  35 echo "Vendor: The Linux Community"
                                                   >>  36 echo "URL: http://www.kernel.org"
 19                                                    37 
 20 if grep -q CONFIG_MODULES=y include/config/aut !!  38 if ! $PREBUILT; then
 21 echo '%define with_devel %{?_without_devel: 0} !!  39 echo "Source: kernel-$__KERNELRELEASE.tar.gz"
 22 else                                           << 
 23 echo '%define with_devel 0'                    << 
 24 fi                                                 40 fi
 25                                                    41 
 26 cat<<EOF                                       !!  42 echo "BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root"
 27 %define ARCH ${ARCH}                           !!  43 echo "Provides: $PROVIDES"
 28 %define KERNELRELEASE ${KERNELRELEASE}         !!  44 echo "%define __spec_install_post /usr/lib/rpm/brp-compress || :"
 29 %define pkg_release $("${srctree}/scripts/buil !!  45 echo "%define debug_package %{nil}"
 30 EOF                                            !!  46 echo ""
                                                   >>  47 echo "%description"
                                                   >>  48 echo "The Linux Kernel, the operating system core itself"
                                                   >>  49 echo ""
                                                   >>  50 echo "%package headers"
                                                   >>  51 echo "Summary: Header files for the Linux kernel for use by glibc"
                                                   >>  52 echo "Group: Development/System"
                                                   >>  53 echo "Obsoletes: kernel-headers"
                                                   >>  54 echo "Provides: kernel-headers = %{version}"
                                                   >>  55 echo "%description headers"
                                                   >>  56 echo "Kernel-headers includes the C header files that specify the interface"
                                                   >>  57 echo "between the Linux kernel and userspace libraries and programs.  The"
                                                   >>  58 echo "header files define structures and constants that are needed for"
                                                   >>  59 echo "building most standard programs and are also needed for rebuilding the"
                                                   >>  60 echo "glibc package."
                                                   >>  61 echo ""
                                                   >>  62 echo "%package devel"
                                                   >>  63 echo "Summary: Development package for building kernel modules to match the $__KERNELRELEASE kernel"
                                                   >>  64 echo "Group: System Environment/Kernel"
                                                   >>  65 echo "AutoReqProv: no"
                                                   >>  66 echo "%description -n kernel-devel"
                                                   >>  67 echo "This package provides kernel headers and makefiles sufficient to build modules"
                                                   >>  68 echo "against the $__KERNELRELEASE kernel package."
                                                   >>  69 echo ""
                                                   >>  70 
                                                   >>  71 if ! $PREBUILT; then
                                                   >>  72 echo "%prep"
                                                   >>  73 echo "%setup -q"
                                                   >>  74 echo ""
                                                   >>  75 fi
 31                                                    76 
 32 cat "${srctree}/scripts/package/kernel.spec"   !!  77 echo "%build"
 33                                                    78 
 34 # collect the user's name and email address fo !!  79 if ! $PREBUILT; then
 35 if [ "$(command -v git)" ]; then               !!  80 echo "make clean && make %{?_smp_mflags}"
 36         name=$(git config user.name) || true   !!  81 echo ""
 37         email=$(git config user.email) || true << 
 38 fi                                                 82 fi
 39                                                    83 
 40 if [ ! "${name:+set}" ]; then                  !!  84 echo "%install"
 41         name=${KBUILD_BUILD_USER:-$(id -nu)}   !!  85 echo 'KBUILD_IMAGE=$(make image_name)'
                                                   >>  86 echo "%ifarch ia64"
                                                   >>  87 echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
                                                   >>  88 echo "%else"
                                                   >>  89 echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
                                                   >>  90 echo "%endif"
                                                   >>  91 echo 'mkdir -p $RPM_BUILD_ROOT'"/lib/firmware/$KERNELRELEASE"
                                                   >>  92 
                                                   >>  93 echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= mod-fw= modules_install'
                                                   >>  94 echo 'INSTALL_FW_PATH=$RPM_BUILD_ROOT'"/lib/firmware/$KERNELRELEASE"
                                                   >>  95 echo 'make INSTALL_FW_PATH=$INSTALL_FW_PATH' firmware_install
                                                   >>  96 echo "%ifarch ia64"
                                                   >>  97 echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE"
                                                   >>  98 echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/"
                                                   >>  99 echo "%else"
                                                   >> 100 echo "%ifarch ppc64"
                                                   >> 101 echo "cp vmlinux arch/powerpc/boot"
                                                   >> 102 echo "cp arch/powerpc/boot/"'$KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
                                                   >> 103 echo "%else"
                                                   >> 104 echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/vmlinuz-$KERNELRELEASE"
                                                   >> 105 echo "%endif"
                                                   >> 106 echo "%endif"
                                                   >> 107 
                                                   >> 108 echo 'make %{?_smp_mflags} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr KBUILD_SRC= headers_install'
                                                   >> 109 echo 'cp System.map $RPM_BUILD_ROOT'"/boot/System.map-$KERNELRELEASE"
                                                   >> 110 
                                                   >> 111 echo 'cp .config $RPM_BUILD_ROOT'"/boot/config-$KERNELRELEASE"
                                                   >> 112 
                                                   >> 113 echo "%ifnarch ppc64"
                                                   >> 114 echo 'bzip2 -9 --keep vmlinux'
                                                   >> 115 echo 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2"
                                                   >> 116 echo "%endif"
                                                   >> 117 
                                                   >> 118 if ! $PREBUILT; then
                                                   >> 119 echo 'rm -f $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE/build"
                                                   >> 120 echo 'rm -f $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE/source"
                                                   >> 121 echo "mkdir -p "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE"
                                                   >> 122 echo "EXCLUDES=\"$RCS_TAR_IGNORE --exclude .tmp_versions --exclude=*vmlinux* --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation --exclude=firmware --exclude .config.old --exclude .missing-syscalls.d\""
                                                   >> 123 echo "tar "'$EXCLUDES'" -cf- . | (cd "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE;tar xvf -)"
                                                   >> 124 echo 'cd $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE"
                                                   >> 125 echo "ln -sf /usr/src/kernels/$KERNELRELEASE build"
                                                   >> 126 echo "ln -sf /usr/src/kernels/$KERNELRELEASE source"
 42 fi                                                127 fi
 43                                                   128 
 44 if [ ! "${email:+set}" ]; then                 !! 129 echo ""
 45         buildhost=${KBUILD_BUILD_HOST:-$(hostn !! 130 echo "%clean"
 46         builduser=${KBUILD_BUILD_USER:-$(id -n !! 131 echo 'rm -rf $RPM_BUILD_ROOT'
 47         email="${builduser}@${buildhost}"      !! 132 echo ""
                                                   >> 133 echo "%post"
                                                   >> 134 echo "if [ -x /sbin/installkernel -a -r /boot/vmlinuz-$KERNELRELEASE -a -r /boot/System.map-$KERNELRELEASE ]; then"
                                                   >> 135 echo "cp /boot/vmlinuz-$KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm"
                                                   >> 136 echo "cp /boot/System.map-$KERNELRELEASE /boot/.System.map-$KERNELRELEASE-rpm"
                                                   >> 137 echo "rm -f /boot/vmlinuz-$KERNELRELEASE /boot/System.map-$KERNELRELEASE"
                                                   >> 138 echo "/sbin/installkernel $KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm"
                                                   >> 139 echo "rm -f /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm"
                                                   >> 140 echo "fi"
                                                   >> 141 echo ""
                                                   >> 142 echo "%preun"
                                                   >> 143 echo "if [ -x /sbin/new-kernel-pkg ]; then"
                                                   >> 144 echo "new-kernel-pkg --remove $KERNELRELEASE --rminitrd --initrdfile=/boot/initramfs-$KERNELRELEASE.img"
                                                   >> 145 echo "fi"
                                                   >> 146 echo ""
                                                   >> 147 echo "%postun"
                                                   >> 148 echo "if [ -x /sbin/update-bootloader ]; then"
                                                   >> 149 echo "/sbin/update-bootloader --remove $KERNELRELEASE"
                                                   >> 150 echo "fi"
                                                   >> 151 echo ""
                                                   >> 152 echo "%files"
                                                   >> 153 echo '%defattr (-, root, root)'
                                                   >> 154 echo "/lib/modules/$KERNELRELEASE"
                                                   >> 155 echo "%exclude /lib/modules/$KERNELRELEASE/build"
                                                   >> 156 echo "%exclude /lib/modules/$KERNELRELEASE/source"
                                                   >> 157 echo "/lib/firmware/$KERNELRELEASE"
                                                   >> 158 echo "/boot/*"
                                                   >> 159 echo ""
                                                   >> 160 echo "%files headers"
                                                   >> 161 echo '%defattr (-, root, root)'
                                                   >> 162 echo "/usr/include"
                                                   >> 163 echo ""
                                                   >> 164 if ! $PREBUILT; then
                                                   >> 165 echo "%files devel"
                                                   >> 166 echo '%defattr (-, root, root)'
                                                   >> 167 echo "/usr/src/kernels/$KERNELRELEASE"
                                                   >> 168 echo "/lib/modules/$KERNELRELEASE/build"
                                                   >> 169 echo "/lib/modules/$KERNELRELEASE/source"
                                                   >> 170 echo ""
 48 fi                                                171 fi
 49                                                << 
 50 cat << EOF                                     << 
 51                                                << 
 52 %changelog                                     << 
 53 * $(LC_ALL=C date +'%a %b %d %Y') ${name} <${e << 
 54 - Custom built Linux kernel.                   << 
 55 EOF                                            << 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php