eudev-project / eudev

Repository for eudev development
GNU General Public License v2.0
529 stars 144 forks source link

Let libudev find hwdb.bin under UDEV_HWDB_BIN #264

Closed ghost closed 1 year ago

ghost commented 1 year ago

Dear eudev developers,

It is not very convenient that libudev can only use /etc/udev/hwdb.bin or /lib/udev/hwdb.bin. For Guix, we would like that the hwdb.bin file would be compiled for every used combination of hwdb-providing packages, and then let different users choose the file to use at run-time. The minimum that would work would be to add a single (absolute) file name under UDEV_HWDB_BIN, so that libudev would try that file first (and then, fall back to /etc and /lib). This is NOT a path variable. Libudev cannot use multiple hwdb.bin files anyway, so there is no need for a path.

The list of files to try for hwdb.bin is now dynamic, and so we should account for malloc failures. However, udev_hwdb_validate is not supposed to be able to fail. So, I think it should be OK to store the list of files to try in the struct udev_hwdb instance.

What do you think?

Best regards,

Vivien

bbonev commented 1 year ago

Please add patch(es) to the respective man pages before we can merge