Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b7f12f5 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 8c5d4b64
Loading
Loading
Loading
Loading
+32 −25
Original line number Diff line number Diff line
@@ -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