This is same as upstream commit: http://cgit.freedesktop.org/systemd/systemd/commit/?id=d8d4bee76cf3b40ea923bc57d44aa0815ca9b5ff Except we patch configure and config.h.in to avoid autotools. --- src/udev/udev-builtin.c +++ src/udev/udev-builtin.c @@ -34,7 +34,7 @@ static const struct udev_builtin *builtins[] = { [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, #endif [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, -#ifdef ENABLE_FIRMWARE +#ifdef HAVE_FIRMWARE [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, #endif [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, --- src/udev/udev.h +++ src/udev/udev.h @@ -140,7 +140,7 @@ enum udev_builtin_cmd { UDEV_BUILTIN_BLKID, #endif UDEV_BUILTIN_BTRFS, -#ifdef ENABLE_FIRMWARE +#ifdef HAVE_FIRMWARE UDEV_BUILTIN_FIRMWARE, #endif UDEV_BUILTIN_HWDB, @@ -169,7 +169,7 @@ struct udev_builtin { extern const struct udev_builtin udev_builtin_blkid; #endif extern const struct udev_builtin udev_builtin_btrfs; -#ifdef ENABLE_FIRMWARE +#ifdef HAVE_FIRMWARE extern const struct udev_builtin udev_builtin_firmware; #endif extern const struct udev_builtin udev_builtin_hwdb; --- src/udev/udevd.c +++ src/udev/udevd.c @@ -98,7 +98,7 @@ struct event { dev_t devnum; int ifindex; bool is_block; -#ifdef ENABLE_FIRMWARE +#ifdef HAVE_FIRMWARE bool nodelay; #endif }; @@ -444,7 +444,7 @@ static int event_queue_insert(struct udev_device *dev) event->devnum = udev_device_get_devnum(dev); event->is_block = streq("block", udev_device_get_subsystem(dev)); event->ifindex = udev_device_get_ifindex(dev); -#ifdef ENABLE_FIRMWARE +#ifdef HAVE_FIRMWARE if (streq(udev_device_get_subsystem(dev), "firmware")) event->nodelay = true; #endif @@ -527,7 +527,7 @@ static bool is_devpath_busy(struct event *event) return true; } -#ifdef ENABLE_FIRMWARE +#ifdef HAVE_FIRMWARE /* allow to bypass the dependency tracking */ if (event->nodelay) continue; --- configure +++ configure @@ -18066,6 +18099,11 @@ done IFS=$OLD_IFS +if test "x${FIRMWARE_PATH}" != "x"; then : + +$as_echo "#define HAVE_FIRMWARE 1" >>confdefs.h + +fi if test "x${FIRMWARE_PATH}" != "x"; then ENABLE_FIRMWARE_TRUE= ENABLE_FIRMWARE_FALSE='#' --- config.h.in +++ config.h.in @@ -57,6 +57,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H +/* Define if FIRMWARE is available */ +#undef HAVE_FIRMWARE + /* GCRYPT available */ #undef HAVE_GCRYPT