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@xxxxxxxxxxxxx> --- scripts/package/mkspec | 57 ++++++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/scripts/package/mkspec b/scripts/package/mkspec index f34e3bf..8a9ab85 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 -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html