diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2013-01-25 13:34:21 -0500 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2013-01-28 17:42:47 -0500 |
commit | a9ef3ca7642ae67fc6859d2b5861f8b0f0ab3a68 (patch) | |
tree | db8a07223c6d258e8f9dc860bc2fa137a661118c | |
parent | 34bcd6cd8c8f5dc7f01bef9a294a132cf856345e (diff) |
Make blkid optional
Embedded systems may not want to include util-linux when they do
not intend to use blkid functionality
Modified from original author's commit to not install
60-persistent-storage.rules if blkid is disabled
systemd commit f553b3b1074151200187df916427a1468186435e
Original author: Anders Olofsson <Anders.Olofsson@axis.com>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
-rw-r--r-- | configure.ac | 14 | ||||
-rw-r--r-- | rules/Makefile.am | 6 | ||||
-rw-r--r-- | src/udev/Makefile.am | 6 | ||||
-rw-r--r-- | src/udev/udev-builtin.c | 2 | ||||
-rw-r--r-- | src/udev/udev.h | 4 |
5 files changed, 28 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index 5de88126d2..2f83e0538f 100644 --- a/configure.ac +++ b/configure.ac @@ -41,8 +41,6 @@ if test -z "$GPERF" ; then AC_MSG_ERROR([*** gperf not found]) fi -PKG_CHECK_MODULES(BLKID,[blkid >= 2.20]) - # Checks for header files. AC_CHECK_HEADERS( [arpa/inet.h fcntl.h inttypes.h langinfo.h limits.h locale.h \ @@ -161,6 +159,18 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1]) AM_CONDITIONAL([HAVE_INTROSPECTION], [test "$enable_introspection" = "yes"]) # ------------------------------------------------------------------------------ +have_blkid=no +AC_ARG_ENABLE(blkid, AS_HELP_STRING([--disable-blkid], [Disable optional blkid support])) +if test "x$enable_blkid" != "xno"; then + PKG_CHECK_MODULES([BLKID], [blkid >= 2.20], + [AC_DEFINE(HAVE_BLKID, 1, [Define if blkid is available]) have_blkid=yes], have_blkid=no) + if test "x$have_blkid" = xno -a "x$enable_blkd" = xyes; then + AC_MSG_ERROR([*** blkid support requested but not found]) + fi +fi +AM_CONDITIONAL(HAVE_SELINUX, [test "x$have_blkid" = "xyes"]) + +# ------------------------------------------------------------------------------ have_selinux=no AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support])) if test "x$enable_selinux" != "xno"; then diff --git a/rules/Makefile.am b/rules/Makefile.am index 1741bd2ed8..319b7c59f6 100644 --- a/rules/Makefile.am +++ b/rules/Makefile.am @@ -8,7 +8,6 @@ dist_udevrules_DATA = \ 60-persistent-serial.rules \ 60-persistent-input.rules \ 60-persistent-alsa.rules \ - 60-persistent-storage.rules \ 60-persistent-v4l.rules \ 61-accelerometer.rules \ 64-btrfs.rules \ @@ -19,6 +18,11 @@ dist_udevrules_DATA = \ 80-net-name-slot.rules \ 95-udev-late.rules +if HAVE_BLKID +dist_udevrules_DATA += \ + 60-persistent-storage.rules +endif + if HAVE_MODULES dist_udevrules_DATA += \ 80-drivers.rules diff --git a/src/udev/Makefile.am b/src/udev/Makefile.am index 866d2c2537..038803454f 100644 --- a/src/udev/Makefile.am +++ b/src/udev/Makefile.am @@ -46,7 +46,6 @@ libudev_core_la_SOURCES = \ udev-rules.c \ udev-ctrl.c \ udev-builtin.c \ - udev-builtin-blkid.c \ udev-builtin-btrfs.c \ udev-builtin-firmware.c \ udev-builtin-hwdb.c \ @@ -75,6 +74,11 @@ libudev_core_la_LIBADD = \ $(BLKID_LIBS) \ $(SELINUX_LIBS) +if HAVE_BLKID +libudev_core_la_SOURCES += \ + udev-builtin-blkid.c +endif + if HAVE_MODULES libudev_core_la_SOURCES += \ udev-builtin-kmod.c diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index d53663f0a4..b9dbe87dcc 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -30,7 +30,9 @@ static bool initialized; static const struct udev_builtin *builtins[] = { +#ifdef HAVE_BLKID [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, +#endif [UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs, [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware, [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, diff --git a/src/udev/udev.h b/src/udev/udev.h index c8ee2feede..682e03721f 100644 --- a/src/udev/udev.h +++ b/src/udev/udev.h @@ -136,7 +136,9 @@ int udev_ctrl_get_set_children_max(struct udev_ctrl_msg *ctrl_msg); /* built-in commands */ enum udev_builtin_cmd { +#ifdef HAVE_BLKID UDEV_BUILTIN_BLKID, +#endif UDEV_BUILTIN_BTRFS, UDEV_BUILTIN_FIRMWARE, UDEV_BUILTIN_HWDB, @@ -158,7 +160,9 @@ struct udev_builtin { bool (*validate)(struct udev *udev); bool run_once; }; +#ifdef HAVE_BLKID extern const struct udev_builtin udev_builtin_blkid; +#endif extern const struct udev_builtin udev_builtin_btrfs; extern const struct udev_builtin udev_builtin_firmware; extern const struct udev_builtin udev_builtin_hwdb; |