The debian packages coming out of "make *deb-pkg" lack some critical information in the control-files e.g. the "Depends:" field. If one tries to install a fresh system with such a "linux-image" debootstrap or multistrap might try to install the kernel before its deps and the package hooks will fail. Different debian-based distros use different values for the missing fields. And the values differ between distro versions as well. So hardcoding of e.g. "Depends" is not possible. This patch introduces an option variable for every debian package built by builddeb. That allows advanced users to pass additional arguments to "dpkg-gencontrol" e.g. to set "Depends". All the new variables are optional. for example: make \ KDEB_OPTS_IMAGE=\ "-DDepends='initramfs-tools | linux-initramfs-tool, kmod, linux-base'" \ KDEB_OPTS_LIBC_HEADERS="-DMaintainer='root@machine' -v42" \ bindeb-pkg Signed-off-by: Henning Schild <henning.schild@xxxxxxxxxxx> Signed-off-by: Konrad Schwarz <konrad.schwarz@xxxxxxxxxxx> --- scripts/package/builddeb | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/package/builddeb b/scripts/package/builddeb index b4f0f2b3f8d2..037e722bbd8f 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -13,7 +13,10 @@ set -e create_package() { - local pname="$1" pdir="$2" + local pname="$1" + shift + local pdir="$1" + shift mkdir -m 755 -p "$pdir/DEBIAN" mkdir -p "$pdir/usr/share/doc/$pname" @@ -30,7 +33,8 @@ create_package() { chmod -R a+rX "$pdir" # Create the package - dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname \ + -P"$pdir" "$@" dpkg --build "$pdir" .. } @@ -353,11 +357,13 @@ Description: Linux support headers for userspace development EOF if [ "$ARCH" != "um" ]; then - create_package "$kernel_headers_packagename" "$kernel_headers_dir" - create_package "$libc_headers_packagename" "$libc_headers_dir" + eval 'create_package "$kernel_headers_packagename" \ + "$kernel_headers_dir"' "$KDEB_OPTS_IMAGE_HEADERS" + eval 'create_package "$libc_headers_packagename" \ + "$libc_headers_dir"' "$KDEB_OPTS_LIBC_HEADERS" fi -create_package "$packagename" "$tmpdir" +eval 'create_package "$packagename" "$tmpdir"' "$KDEB_OPTS_IMAGE" if [ -n "$BUILD_DEBUG" ] ; then # Build debug package @@ -381,7 +387,8 @@ Description: Linux kernel debugging symbols for $version all the necessary debug symbols for the kernel and its modules. EOF - create_package "$dbg_packagename" "$dbg_dir" + eval 'create_package "$dbg_packagename" "$dbg_dir" \ + ' "$KDEB_OPTS_IMAGE_DBG" fi if [ "x$1" = "xdeb-pkg" ] -- 2.13.6 -- 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