summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2013-01-25 13:34:21 -0500
committerAnthony G. Basile <blueness@gentoo.org>2013-01-28 17:42:47 -0500
commita9ef3ca7642ae67fc6859d2b5861f8b0f0ab3a68 (patch)
treedb8a07223c6d258e8f9dc860bc2fa137a661118c
parent34bcd6cd8c8f5dc7f01bef9a294a132cf856345e (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.ac14
-rw-r--r--rules/Makefile.am6
-rw-r--r--src/udev/Makefile.am6
-rw-r--r--src/udev/udev-builtin.c2
-rw-r--r--src/udev/udev.h4
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;