AM_CONDITIONAL([HAVE_SYSTEMD], [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != "xno" ])
+AC_ARG_WITH([smack],
+ AS_HELP_STRING([--with-smack], [build with SMACK support]),
+ [], [with_smack=no]
+)
+AS_IF([test "x$with_smack" = xyes], [
+ AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
+])
+
+
AC_ARG_WITH([bashcompletiondir],
AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
[],
#ifdef HAVE_LIBSELINUX
int se_fix = 0, se_rem = 0;
#endif
+#ifdef HAVE_SMACK
+ int sm_rem = 0;
+#endif
+
assert(cxt);
assert(cxt->fs);
assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED));
mnt_optstr_deduplicate_option(&fs->fs_optstr, "rootcontext");
mnt_optstr_deduplicate_option(&fs->fs_optstr, "seclabel");
}
+#endif
+#ifdef HAVE_SMACK
+ if (access("sys/fs/smackfs", F_OK) != 0)
+ sm_rem = 1;
#endif
while (!mnt_optstr_next_option(&next, &name, &namesz, &val, &valsz)) {
rc = mnt_optstr_fix_secontext(&fs->fs_optstr,
val, valsz, &next);
}
+#endif
+#ifdef HAVE_SMACK
+ else if (sm_rem && namesz >= 10
+ && (!strncmp(name, "smackfsdef", 10) ||
+ !strncmp(name, "smackfsfloor", 12) ||
+ !strncmp(name, "smackfshat", 10) ||
+ !strncmp(name, "smackfsroot", 11) ||
+ !strncmp(name, "smackfstransmute", 16))) {
+
+ next = name;
+ rc = mnt_optstr_remove_option_at(&fs->fs_optstr,
+ name,
+ val ? val + valsz : name + namesz);
+ }
#endif
if (rc)
goto done;