~ [ 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-6.3.13)


  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.13
  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                                                !!  13 if [ "$1" = prebuilt ]; then
 14 output=$1                                      !!  14         S=DEL
 15                                                !!  15         MAKE="$MAKE -f $srctree/Makefile"
 16 mkdir -p "$(dirname "${output}")"              << 
 17                                                << 
 18 exec >"${output}"                              << 
 19                                                << 
 20 if grep -q CONFIG_MODULES=y include/config/aut << 
 21 echo '%define with_devel %{?_without_devel: 0} << 
 22 else                                               16 else
 23 echo '%define with_devel 0'                    !!  17         S=
 24 fi                                             << 
 25                                                    18 
 26 cat<<EOF                                       !!  19         mkdir -p rpmbuild/SOURCES
 27 %define ARCH ${ARCH}                           !!  20         cp linux.tar.gz rpmbuild/SOURCES
 28 %define KERNELRELEASE ${KERNELRELEASE}         !!  21         cp "${KCONFIG_CONFIG}" rpmbuild/SOURCES/config
 29 %define pkg_release $("${srctree}/scripts/buil !!  22         "${srctree}/scripts/package/gen-diff-patch" rpmbuild/SOURCES/diff.patch
 30 EOF                                            << 
 31                                                << 
 32 cat "${srctree}/scripts/package/kernel.spec"   << 
 33                                                << 
 34 # collect the user's name and email address fo << 
 35 if [ "$(command -v git)" ]; then               << 
 36         name=$(git config user.name) || true   << 
 37         email=$(git config user.email) || true << 
 38 fi                                                 23 fi
 39                                                    24 
 40 if [ ! "${name:+set}" ]; then                  !!  25 if grep -q CONFIG_MODULES=y include/config/auto.conf; then
 41         name=${KBUILD_BUILD_USER:-$(id -nu)}   !!  26         M=
                                                   >>  27 else
                                                   >>  28         M=DEL
 42 fi                                                 29 fi
 43                                                    30 
 44 if [ ! "${email:+set}" ]; then                 !!  31 if grep -q CONFIG_DRM=y include/config/auto.conf; then
 45         buildhost=${KBUILD_BUILD_HOST:-$(hostn !!  32         PROVIDES=kernel-drm
 46         builduser=${KBUILD_BUILD_USER:-$(id -n << 
 47         email="${builduser}@${buildhost}"      << 
 48 fi                                                 33 fi
 49                                                    34 
 50 cat << EOF                                     !!  35 PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
 51                                                !!  36 __KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
 52 %changelog                                     !!  37 EXCLUDES="$RCS_TAR_IGNORE --exclude=*vmlinux* --exclude=*.mod \
 53 * $(LC_ALL=C date +'%a %b %d %Y') ${name} <${e !!  38 --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation \
 54 - Custom built Linux kernel.                   !!  39 --exclude=.config.old --exclude=.missing-syscalls.d --exclude=*.s"
                                                   >>  40 
                                                   >>  41 # We can label the here-doc lines for conditional output to the spec file
                                                   >>  42 #
                                                   >>  43 # Labels:
                                                   >>  44 #  $S: this line is enabled only when building source package
                                                   >>  45 #  $M: this line is enabled only when CONFIG_MODULES is enabled
                                                   >>  46 sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
                                                   >>  47         Name: kernel
                                                   >>  48         Summary: The Linux Kernel
                                                   >>  49         Version: $__KERNELRELEASE
                                                   >>  50         Release: $(cat .version 2>/dev/null || echo 1)
                                                   >>  51         License: GPL
                                                   >>  52         Group: System Environment/Kernel
                                                   >>  53         Vendor: The Linux Community
                                                   >>  54         URL: https://www.kernel.org
                                                   >>  55 $S      Source0: linux.tar.gz
                                                   >>  56 $S      Source1: config
                                                   >>  57 $S      Source2: diff.patch
                                                   >>  58         Provides: $PROVIDES
                                                   >>  59 $S      BuildRequires: bc binutils bison dwarves
                                                   >>  60 $S      BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
                                                   >>  61 $S      BuildRequires: gcc make openssl openssl-devel perl python3 rsync
                                                   >>  62 
                                                   >>  63         # $UTS_MACHINE as a fallback of _arch in case
                                                   >>  64         # /usr/lib/rpm/platform/*/macros was not included.
                                                   >>  65         %define _arch %{?_arch:$UTS_MACHINE}
                                                   >>  66         %define __spec_install_post /usr/lib/rpm/brp-compress || :
                                                   >>  67         %define debug_package %{nil}
                                                   >>  68 
                                                   >>  69         %description
                                                   >>  70         The Linux Kernel, the operating system core itself
                                                   >>  71 
                                                   >>  72         %package headers
                                                   >>  73         Summary: Header files for the Linux kernel for use by glibc
                                                   >>  74         Group: Development/System
                                                   >>  75         Obsoletes: kernel-headers
                                                   >>  76         Provides: kernel-headers = %{version}
                                                   >>  77         %description headers
                                                   >>  78         Kernel-headers includes the C header files that specify the interface
                                                   >>  79         between the Linux kernel and userspace libraries and programs.  The
                                                   >>  80         header files define structures and constants that are needed for
                                                   >>  81         building most standard programs and are also needed for rebuilding the
                                                   >>  82         glibc package.
                                                   >>  83 
                                                   >>  84 $S$M    %package devel
                                                   >>  85 $S$M    Summary: Development package for building kernel modules to match the $__KERNELRELEASE kernel
                                                   >>  86 $S$M    Group: System Environment/Kernel
                                                   >>  87 $S$M    AutoReqProv: no
                                                   >>  88 $S$M    %description -n kernel-devel
                                                   >>  89 $S$M    This package provides kernel headers and makefiles sufficient to build modules
                                                   >>  90 $S$M    against the $__KERNELRELEASE kernel package.
                                                   >>  91 $S$M
                                                   >>  92 $S      %prep
                                                   >>  93 $S      %setup -q -n linux
                                                   >>  94 $S      cp %{SOURCE1} .config
                                                   >>  95 $S      patch -p1 < %{SOURCE2}
                                                   >>  96 $S
                                                   >>  97 $S      %build
                                                   >>  98 $S      $MAKE %{?_smp_mflags} KERNELRELEASE=$KERNELRELEASE KBUILD_BUILD_VERSION=%{release}
                                                   >>  99 $S
                                                   >> 100         %install
                                                   >> 101         mkdir -p %{buildroot}/boot
                                                   >> 102         %ifarch ia64
                                                   >> 103         mkdir -p %{buildroot}/boot/efi
                                                   >> 104         cp \$($MAKE -s image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE
                                                   >> 105         ln -s efi/vmlinuz-$KERNELRELEASE %{buildroot}/boot/
                                                   >> 106         %else
                                                   >> 107         cp \$($MAKE -s image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE
                                                   >> 108         %endif
                                                   >> 109 $M      $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install
                                                   >> 110         $MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
                                                   >> 111         cp System.map %{buildroot}/boot/System.map-$KERNELRELEASE
                                                   >> 112         cp .config %{buildroot}/boot/config-$KERNELRELEASE
                                                   >> 113 $S$M    rm -f %{buildroot}/lib/modules/$KERNELRELEASE/build
                                                   >> 114 $S$M    rm -f %{buildroot}/lib/modules/$KERNELRELEASE/source
                                                   >> 115 $S$M    mkdir -p %{buildroot}/usr/src/kernels/$KERNELRELEASE
                                                   >> 116 $S$M    tar cf - $EXCLUDES . | tar xf - -C %{buildroot}/usr/src/kernels/$KERNELRELEASE
                                                   >> 117 $S$M    cd %{buildroot}/lib/modules/$KERNELRELEASE
                                                   >> 118 $S$M    ln -sf /usr/src/kernels/$KERNELRELEASE build
                                                   >> 119 $S$M    ln -sf /usr/src/kernels/$KERNELRELEASE source
                                                   >> 120 
                                                   >> 121         %clean
                                                   >> 122         rm -rf %{buildroot}
                                                   >> 123 
                                                   >> 124         %post
                                                   >> 125         if [ -x /sbin/installkernel -a -r /boot/vmlinuz-$KERNELRELEASE -a -r /boot/System.map-$KERNELRELEASE ]; then
                                                   >> 126         cp /boot/vmlinuz-$KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm
                                                   >> 127         cp /boot/System.map-$KERNELRELEASE /boot/.System.map-$KERNELRELEASE-rpm
                                                   >> 128         rm -f /boot/vmlinuz-$KERNELRELEASE /boot/System.map-$KERNELRELEASE
                                                   >> 129         /sbin/installkernel $KERNELRELEASE /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm
                                                   >> 130         rm -f /boot/.vmlinuz-$KERNELRELEASE-rpm /boot/.System.map-$KERNELRELEASE-rpm
                                                   >> 131         fi
                                                   >> 132 
                                                   >> 133         %preun
                                                   >> 134         if [ -x /sbin/new-kernel-pkg ]; then
                                                   >> 135         new-kernel-pkg --remove $KERNELRELEASE --rminitrd --initrdfile=/boot/initramfs-$KERNELRELEASE.img
                                                   >> 136         elif [ -x /usr/bin/kernel-install ]; then
                                                   >> 137         kernel-install remove $KERNELRELEASE
                                                   >> 138         fi
                                                   >> 139 
                                                   >> 140         %postun
                                                   >> 141         if [ -x /sbin/update-bootloader ]; then
                                                   >> 142         /sbin/update-bootloader --remove $KERNELRELEASE
                                                   >> 143         fi
                                                   >> 144 
                                                   >> 145         %files
                                                   >> 146         %defattr (-, root, root)
                                                   >> 147 $M      /lib/modules/$KERNELRELEASE
                                                   >> 148 $M      %exclude /lib/modules/$KERNELRELEASE/build
                                                   >> 149 $M      %exclude /lib/modules/$KERNELRELEASE/source
                                                   >> 150         /boot/*
                                                   >> 151 
                                                   >> 152         %files headers
                                                   >> 153         %defattr (-, root, root)
                                                   >> 154         /usr/include
                                                   >> 155 $S$M
                                                   >> 156 $S$M    %files devel
                                                   >> 157 $S$M    %defattr (-, root, root)
                                                   >> 158 $S$M    /usr/src/kernels/$KERNELRELEASE
                                                   >> 159 $S$M    /lib/modules/$KERNELRELEASE/build
                                                   >> 160 $S$M    /lib/modules/$KERNELRELEASE/source
 55 EOF                                               161 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