]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
kbuild: deb-pkg: Don't fail if modules.order is missing
authorMatt Fleming <mfleming@cloudflare.com>
Thu, 7 Nov 2024 15:05:08 +0000 (15:05 +0000)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 27 Nov 2024 00:38:27 +0000 (09:38 +0900)
Kernels built without CONFIG_MODULES might still want to create -dbg deb
packages but install_linux_image_dbg() assumes modules.order always
exists. This obviously isn't true if no modules were built, so we should
skip reading modules.order in that case.

Fixes: 16c36f8864e3 ("kbuild: deb-pkg: use build ID instead of debug link for dbg package")
Signed-off-by: Matt Fleming <mfleming@cloudflare.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/package/builddeb

index 441b0bb66e0d0c66362ece081f5a2d314708db87..fb686fd3266f01207f422f0988a857c915160c27 100755 (executable)
@@ -96,16 +96,18 @@ install_linux_image_dbg () {
 
        # Parse modules.order directly because 'make modules_install' may sign,
        # compress modules, and then run unneeded depmod.
-       while read -r mod; do
-               mod="${mod%.o}.ko"
-               dbg="${pdir}/usr/lib/debug/lib/modules/${KERNELRELEASE}/kernel/${mod}"
-               buildid=$("${READELF}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p')
-               link="${pdir}/usr/lib/debug/.build-id/${buildid}.debug"
-
-               mkdir -p "${dbg%/*}" "${link%/*}"
-               "${OBJCOPY}" --only-keep-debug "${mod}" "${dbg}"
-               ln -sf --relative "${dbg}" "${link}"
-       done < modules.order
+       if is_enabled CONFIG_MODULES; then
+               while read -r mod; do
+                       mod="${mod%.o}.ko"
+                       dbg="${pdir}/usr/lib/debug/lib/modules/${KERNELRELEASE}/kernel/${mod}"
+                       buildid=$("${READELF}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p')
+                       link="${pdir}/usr/lib/debug/.build-id/${buildid}.debug"
+
+                       mkdir -p "${dbg%/*}" "${link%/*}"
+                       "${OBJCOPY}" --only-keep-debug "${mod}" "${dbg}"
+                       ln -sf --relative "${dbg}" "${link}"
+               done < modules.order
+       fi
 
        # Build debug package
        # Different tools want the image in different locations