Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

kbuild: deb-pkg: Don't fail if modules.order is missing

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>

authored by

Matt Fleming and committed by
Masahiro Yamada
bcbbf493 dbefa1f3

+11 -9
+11 -9
scripts/package/builddeb
··· 96 96 97 97 # Parse modules.order directly because 'make modules_install' may sign, 98 98 # compress modules, and then run unneeded depmod. 99 - while read -r mod; do 100 - mod="${mod%.o}.ko" 101 - dbg="${pdir}/usr/lib/debug/lib/modules/${KERNELRELEASE}/kernel/${mod}" 102 - buildid=$("${READELF}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p') 103 - link="${pdir}/usr/lib/debug/.build-id/${buildid}.debug" 99 + if is_enabled CONFIG_MODULES; then 100 + while read -r mod; do 101 + mod="${mod%.o}.ko" 102 + dbg="${pdir}/usr/lib/debug/lib/modules/${KERNELRELEASE}/kernel/${mod}" 103 + buildid=$("${READELF}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p') 104 + link="${pdir}/usr/lib/debug/.build-id/${buildid}.debug" 104 105 105 - mkdir -p "${dbg%/*}" "${link%/*}" 106 - "${OBJCOPY}" --only-keep-debug "${mod}" "${dbg}" 107 - ln -sf --relative "${dbg}" "${link}" 108 - done < modules.order 106 + mkdir -p "${dbg%/*}" "${link%/*}" 107 + "${OBJCOPY}" --only-keep-debug "${mod}" "${dbg}" 108 + ln -sf --relative "${dbg}" "${link}" 109 + done < modules.order 110 + fi 109 111 110 112 # Build debug package 111 113 # Different tools want the image in different locations