From: Zbigniew Jędrzejewski-Szmek Date: Mon, 11 Jul 2011 20:29:45 +0000 (+0200) Subject: logind: Fix compilation without ACL X-Git-Tag: v30~29 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=2fb1aedaf2493d9598693c123d5e9c168ca1b3c1;hp=-c logind: Fix compilation without ACL Compilation fails if sys/acl.h is not available. The configure script already tests for sys/acl.h presence, but the result was so far unused. To compile without acl, stub implementations of the acl functions are used. --- 2fb1aedaf2493d9598693c123d5e9c168ca1b3c1 diff --git a/Makefile.am b/Makefile.am index 4acdb2e7f..ca2c43773 100644 --- a/Makefile.am +++ b/Makefile.am @@ -885,7 +885,6 @@ systemd_logind_SOURCES = \ src/logind-session-dbus.c \ src/logind-user.c \ src/logind-user-dbus.c \ - src/logind-acl.c \ src/dbus-common.c \ src/dbus-loop.c \ src/cgroup-util.c \ @@ -905,8 +904,15 @@ systemd_logind_LDADD = \ $(ACL_LIBS) systemd_uaccess_SOURCES = \ - src/uaccess.c \ - src/logind-acl.c + src/uaccess.c + +if HAVE_ACL +systemd_logind_SOURCES += \ + src/logind-acl.c + +systemd_uaccess_SOURCES += \ + src/logind-acl.c +endif systemd_uaccess_CFLAGS = \ $(AM_CFLAGS) \ diff --git a/src/logind-acl.h b/src/logind-acl.h index 9c88a8064..72740f5b9 100644 --- a/src/logind-acl.h +++ b/src/logind-acl.h @@ -26,6 +26,8 @@ #include #include +#ifdef HAVE_ACL + int devnode_acl(const char *path, bool flush, bool del, uid_t old_uid, @@ -36,5 +38,23 @@ int devnode_acl_all(struct udev *udev, bool flush, bool del, uid_t old_uid, bool add, uid_t new_uid); +#else + +static inline int devnode_acl(const char *path, + bool flush, + bool del, uid_t old_uid, + bool add, uid_t new_uid) { + return 0; +} + +static inline int devnode_acl_all(struct udev *udev, + const char *seat, + bool flush, + bool del, uid_t old_uid, + bool add, uid_t new_uid) { + return 0; +} + +#endif #endif