Package: nvme-cli
Version: 1.12-1
Severity: important

Hi,

every time I generate my dracut initramfs, I see:

  dracut: Generating /boot/initrd.img-5.7.0-1-amd64
  
/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf:install_items+="/etc/udev/rules.d/70-nvmf-autoconnect.rules"

  dracut: WARNING: <key>+=" <values> ": <values> should have surrounding white 
spaces!
  dracut: WARNING: This will lead to unwanted side effects! Please fix the 
configuration file.

I'm setting severity=important as this can break the boot on systems
that use dracut, rely on another install_items directive, that would
suddenly be broken simply by installing the nvme-cli package.
Since dracut is not the default in Debian, I think this is not RC.

It would be nice to fix the syntax of that file. This part is an
upstream bug.

Now, taking a step back, perhaps this would just paper over a somewhat
deeper problem. It looks like the whole point of
/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf is to deal with
the fact 70-nvmf-autoconnect.rules is installed in /etc/udev/rules.d/,
which seems incorrect, because AFAIK:

 - packages should install udev rules in /lib/udev/rules.d/

 - /etc/udev/rules.d/ is meant for the system administrator,
   e.g. it allows overriding rules from /lib/udev/rules.d/

 - The dracut nvmf module (/usr/lib/dracut/modules.d/95nvmf/), shipped
   by dracut-core, would install the udev rules itself already, if
   they were installed in the correct place:

    inst_rules /usr/lib/udev/rules.d/70-nvm*-autoconnect.rules
    inst_rules /usr/lib/udev/rules.d/71-nvmf-iopolicy-netapp.rules

So I think a better resolution for this bug in Debian would be:

1. Install 70-nvmf-autoconnect.rules in /lib/udev/rules.d/

   Looking at upstream Makefile, it looks like passing
   UDEVDIR=/lib/udev to dh_auto_install would do the trick.

2. Don't install the buggy 70-nvmf-autoconnect.conf

   I supposed this should boil down to a call to "rm" in
   override_dh_auto_install.

Cheers!

Reply via email to