Skip to content

Commit

Permalink
deb-pkg: Inhibit initramfs builders if CONFIG_BLK_DEV_INITRD is not set
Browse files Browse the repository at this point in the history
The kernel postinst hook for initramfs-tools will build an initramfs
on installation unless $INITRD is set to 'No'.  make-kpkg generates a
postinst script that sets this variable appropriately, but we don't.
Set it based on CONFIG_BLK_DEV_INITRD.

This should also work with dracut when <http://bugs.debian.org/729622>
is fixed.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
  • Loading branch information
Ben Hutchings authored and Michal Marek committed Nov 18, 2013
1 parent 6cf3a6e commit 1c8ddae
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion scripts/package/builddeb
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,15 @@ fi

# Install the maintainer scripts
# Note: hook scripts under /etc/kernel are also executed by official Debian
# kernel packages, as well as kernel packages built using make-kpkg
# kernel packages, as well as kernel packages built using make-kpkg.
# make-kpkg sets $INITRD to indicate whether an initramfs is wanted, and
# so do we; recent versions of dracut and initramfs-tools will obey this.
debhookdir=${KDEB_HOOKDIR:-/etc/kernel}
if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then
want_initrd=Yes
else
want_initrd=No
fi
for script in postinst postrm preinst prerm ; do
mkdir -p "$tmpdir$debhookdir/$script.d"
cat <<EOF > "$tmpdir/DEBIAN/$script"
Expand All @@ -184,6 +191,9 @@ set -e
# Pass maintainer script parameters to hook scripts
export DEB_MAINT_PARAMS="\$*"
# Tell initramfs builder whether it's wanted
export INITRD=$want_initrd
test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d
exit 0
EOF
Expand Down

0 comments on commit 1c8ddae

Please sign in to comment.