diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2017-09-30 10:10:07 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2017-11-14 23:18:53 +0900 |
commit | 0b7f12f5912de636a9c1671ee343f31f21c42b2f (patch) | |
tree | 12131f4400c81b991961df72bd8b60b1cfffb5d7 /scripts/package | |
parent | 8c5d4b648b46b3f5b721b9aff021c9f639d42c35 (diff) | |
download | lwn-0b7f12f5912de636a9c1671ee343f31f21c42b2f.tar.gz lwn-0b7f12f5912de636a9c1671ee343f31f21c42b2f.zip |
kbuild: rpm-pkg: fix build error when CONFIG_MODULES is disabled
When CONFIG_MODULES is disabled, make rpm-pkg / binrpm-pkg fails
with the following message:
The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.
Do not install modules in the case. Also, omit the devel package.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/package')
-rwxr-xr-x | scripts/package/mkspec | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/scripts/package/mkspec b/scripts/package/mkspec index b341d5d8e793..d352a0188770 100755 --- a/scripts/package/mkspec +++ b/scripts/package/mkspec @@ -16,6 +16,12 @@ else S= fi +if grep -q CONFIG_MODULES=y .config; then + M= +else + M=DEL +fi + if grep -q CONFIG_DRM=y .config; then PROVIDES=kernel-drm fi @@ -30,6 +36,7 @@ EXCLUDES="$RCS_TAR_IGNORE --exclude=.tmp_versions --exclude=*vmlinux* \ # # Labels: # $S: this line is enabled only when building source package +# $M: this line is enabled only when CONFIG_MODULES is enabled sed -e '/^DEL/d' -e 's/^\t*//' <<EOF Name: kernel Summary: The Linux Kernel @@ -59,14 +66,14 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz building most standard programs and are also needed for rebuilding the glibc package. -$S %package devel -$S Summary: Development package for building kernel modules to match the $__KERNELRELEASE kernel -$S Group: System Environment/Kernel -$S AutoReqProv: no -$S %description -n kernel-devel -$S This package provides kernel headers and makefiles sufficient to build modules -$S against the $__KERNELRELEASE kernel package. -$S +$S$M %package devel +$S$M Summary: Development package for building kernel modules to match the $__KERNELRELEASE kernel +$S$M Group: System Environment/Kernel +$S$M AutoReqProv: no +$S$M %description -n kernel-devel +$S$M This package provides kernel headers and makefiles sufficient to build modules +$S$M against the $__KERNELRELEASE kernel package. +$S$M $S %prep $S %setup -q $S @@ -82,19 +89,19 @@ $S %else cp \$(make image_name) \$RPM_BUILD_ROOT/boot/vmlinuz-$KERNELRELEASE %endif - make %{?_smp_mflags} INSTALL_MOD_PATH=\$RPM_BUILD_ROOT KBUILD_SRC= modules_install +$M make %{?_smp_mflags} INSTALL_MOD_PATH=\$RPM_BUILD_ROOT KBUILD_SRC= modules_install make %{?_smp_mflags} INSTALL_HDR_PATH=\$RPM_BUILD_ROOT/usr KBUILD_SRC= headers_install cp System.map \$RPM_BUILD_ROOT/boot/System.map-$KERNELRELEASE cp .config \$RPM_BUILD_ROOT/boot/config-$KERNELRELEASE bzip2 -9 --keep vmlinux mv vmlinux.bz2 \$RPM_BUILD_ROOT/boot/vmlinux-$KERNELRELEASE.bz2 -$S rm -f \$RPM_BUILD_ROOT/lib/modules/$KERNELRELEASE/build -$S rm -f \$RPM_BUILD_ROOT/lib/modules/$KERNELRELEASE/source -$S mkdir -p \$RPM_BUILD_ROOT/usr/src/kernels/$KERNELRELEASE -$S tar cf - . $EXCLUDES | tar xf - -C \$RPM_BUILD_ROOT/usr/src/kernels/$KERNELRELEASE -$S cd \$RPM_BUILD_ROOT/lib/modules/$KERNELRELEASE -$S ln -sf /usr/src/kernels/$KERNELRELEASE build -$S ln -sf /usr/src/kernels/$KERNELRELEASE source +$S$M rm -f \$RPM_BUILD_ROOT/lib/modules/$KERNELRELEASE/build +$S$M rm -f \$RPM_BUILD_ROOT/lib/modules/$KERNELRELEASE/source +$S$M mkdir -p \$RPM_BUILD_ROOT/usr/src/kernels/$KERNELRELEASE +$S$M tar cf - . $EXCLUDES | tar xf - -C \$RPM_BUILD_ROOT/usr/src/kernels/$KERNELRELEASE +$S$M cd \$RPM_BUILD_ROOT/lib/modules/$KERNELRELEASE +$S$M ln -sf /usr/src/kernels/$KERNELRELEASE build +$S$M ln -sf /usr/src/kernels/$KERNELRELEASE source %clean rm -rf \$RPM_BUILD_ROOT @@ -120,18 +127,18 @@ $S ln -sf /usr/src/kernels/$KERNELRELEASE source %files %defattr (-, root, root) - /lib/modules/$KERNELRELEASE - %exclude /lib/modules/$KERNELRELEASE/build - %exclude /lib/modules/$KERNELRELEASE/source +$M /lib/modules/$KERNELRELEASE +$M %exclude /lib/modules/$KERNELRELEASE/build +$M %exclude /lib/modules/$KERNELRELEASE/source /boot/* %files headers %defattr (-, root, root) /usr/include -$S -$S %files devel -$S %defattr (-, root, root) -$S /usr/src/kernels/$KERNELRELEASE -$S /lib/modules/$KERNELRELEASE/build -$S /lib/modules/$KERNELRELEASE/source +$S$M +$S$M %files devel +$S$M %defattr (-, root, root) +$S$M /usr/src/kernels/$KERNELRELEASE +$S$M /lib/modules/$KERNELRELEASE/build +$S$M /lib/modules/$KERNELRELEASE/source EOF |