[systemd-devel] [PATCH] Add --disable-binfmt configure switch

Miklos Vajna vmiklos at frugalware.org
Tue Apr 26 14:24:56 PDT 2011


On Tue, Apr 26, 2011 at 08:37:24PM +0200, Lennart Poettering <lennart at poettering.net> wrote:
> OK, one last request before I merge it. Could you rename the conditional
> to ENABLE_BINFMT please? I'd like to make clear that this is a boolean
> conditional instead of anything elsse.

Sure, third version attached (including the extra linebreaks).
-------------- next part --------------
From 7706b0a7403495545ca0fdc91a385487ff7f81d1 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos at frugalware.org>
Date: Wed, 20 Apr 2011 22:59:29 +0200
Subject: [PATCH] Add --disable-binfmt configure switch

---
 Makefile.am  |   47 ++++++++++++++++++++++++++++++++++++-----------
 configure.ac |    8 ++++++++
 2 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 0aaa1e4..3d27e1a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -151,9 +151,13 @@ rootlibexec_PROGRAMS = \
 	systemd-ac-power \
 	systemd-detect-virt \
 	systemd-sysctl \
-	systemd-binfmt \
         systemd-hostnamed
 
+if ENABLE_BINFMT
+rootlibexec_PROGRAMS += \
+	systemd-binfmt
+endif
+
 systemgenerator_PROGRAMS = \
 	systemd-getty-generator
 
@@ -257,8 +261,6 @@ dist_systemunit_DATA = \
 	units/dev-hugepages.mount \
 	units/dev-mqueue.automount \
 	units/dev-mqueue.mount \
-	units/proc-sys-fs-binfmt_misc.automount \
-	units/proc-sys-fs-binfmt_misc.mount \
 	units/sys-kernel-debug.automount \
 	units/sys-kernel-debug.mount \
 	units/sys-kernel-security.automount \
@@ -284,6 +286,12 @@ dist_systemunit_DATA += \
 	units/var-lock.mount
 endif
 
+if ENABLE_BINFMT
+dist_systemunit_DATA += \
+	units/proc-sys-fs-binfmt_misc.automount \
+	units/proc-sys-fs-binfmt_misc.mount
+endif
+
 nodist_systemunit_DATA = \
 	units/getty at .service \
 	units/serial-getty at .service \
@@ -310,7 +318,6 @@ nodist_systemunit_DATA = \
 	units/systemd-ask-password-wall.service \
 	units/systemd-ask-password-console.service \
 	units/systemd-sysctl.service \
-	units/systemd-binfmt.service \
 	units/halt.service \
 	units/poweroff.service \
 	units/reboot.service \
@@ -320,6 +327,11 @@ nodist_systemunit_DATA = \
 	units/quotacheck.service \
 	units/rescue.service
 
+if ENABLE_BINFMT
+nodist_systemunit_DATA += \
+	units/systemd-binfmt.service
+endif
+
 dist_userunit_DATA = \
 	units/user/default.target \
 	units/user/exit.target
@@ -355,7 +367,6 @@ EXTRA_DIST = \
 	units/systemd-ask-password-wall.service.in \
 	units/systemd-ask-password-console.service.in \
 	units/systemd-sysctl.service.in \
-	units/systemd-binfmt.service.in \
 	units/halt.service.in \
 	units/poweroff.service.in \
 	units/reboot.service.in \
@@ -368,6 +379,11 @@ EXTRA_DIST = \
 	introspect.awk \
 	src/org.freedesktop.systemd1.policy.in
 
+if ENABLE_BINFMT
+EXTRA_DIST += \
+	units/systemd-binfmt.service.in
+endif
+
 if TARGET_FEDORA
 dist_systemunit_DATA += \
 	units/fedora/prefdm.service \
@@ -588,10 +604,14 @@ MANPAGES = \
 	man/os-release.5 \
         man/machine-info.5 \
 	man/modules-load.d.5 \
-	man/binfmt.d.5 \
 	man/sysctl.d.5 \
         man/systemd-ask-password.1
 
+if ENABLE_BINFMT
+MANPAGES += \
+	man/binfmt.d.5
+endif
+
 MANPAGES_ALIAS = \
 	man/reboot.8 \
 	man/poweroff.8 \
@@ -1288,10 +1308,12 @@ install-data-hook:
 		$(DESTDIR)$(tmpfilesdir) \
 		$(DESTDIR)$(sysconfdir)/modules-load.d \
 		$(DESTDIR)$(sysconfdir)/sysctl.d \
-		$(DESTDIR)$(sysconfdir)/binfmt.d \
 		$(DESTDIR)$(systemshutdowndir) \
 		$(DESTDIR)$(systemgeneratordir) \
 		$(DESTDIR)$(usergeneratordir)
+if ENABLE_BINFMT
+	$(MKDIR_P) -m 0755 $(DESTDIR)$(sysconfdir)/binfmt.d
+endif
 	$(MKDIR_P) -m 0755 \
 		$(DESTDIR)$(systemunitdir) \
 		$(DESTDIR)$(userunitdir) \
@@ -1401,7 +1423,6 @@ install-data-hook:
 	( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
 		rm -f dev-hugepages.automount \
 			dev-mqueue.automount \
-			proc-sys-fs-binfmt_misc.automount \
 			sys-kernel-debug.automount \
 			sys-kernel-security.automount \
 			systemd-vconsole-setup.service \
@@ -1409,13 +1430,11 @@ install-data-hook:
 			systemd-random-seed-load.service \
 			systemd-tmpfiles-setup.service \
 			systemd-sysctl.service \
-			systemd-binfmt.service \
 			systemd-ask-password-console.path \
 			systemd-kmsg-syslogd.service \
 			cryptsetup.target && \
 		$(LN_S) ../dev-hugepages.automount dev-hugepages.automount && \
 		$(LN_S) ../dev-mqueue.automount dev-mqueue.automount && \
-		$(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount && \
 		$(LN_S) ../sys-kernel-debug.automount sys-kernel-debug.automount && \
 		$(LN_S) ../sys-kernel-security.automount sys-kernel-security.automount && \
 		$(LN_S) ../systemd-vconsole-setup.service systemd-vconsole-setup.service && \
@@ -1423,10 +1442,16 @@ install-data-hook:
 		$(LN_S) ../systemd-random-seed-load.service systemd-random-seed-load.service && \
 		$(LN_S) ../systemd-tmpfiles-setup.service systemd-tmpfiles-setup.service && \
 		$(LN_S) ../systemd-sysctl.service systemd-sysctl.service && \
-		$(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \
 		$(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path && \
 		$(LN_S) ../systemd-kmsg-syslogd.service && \
 		$(LN_S) ../cryptsetup.target cryptsetup.target )
+if ENABLE_BINFMT
+	( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
+		rm -f systemd-binfmt.service \
+			proc-sys-fs-binfmt_misc.automount && \
+		$(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \
+		$(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount )
+endif
 	( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
 		rm -f systemd-tmpfiles-clean.timer && \
 		$(LN_S) ../systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.timer )
diff --git a/configure.ac b/configure.ac
index 730861f..7235bdb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -241,6 +241,13 @@ if test "x$enable_libcryptsetup" != "xno"; then
 fi
 AM_CONDITIONAL(HAVE_LIBCRYPTSETUP, [test "$have_libcryptsetup" = "yes"])
 
+have_binfmt=no
+AC_ARG_ENABLE(binfmt, AS_HELP_STRING([--disable-binfmt], [disable binfmt tool]))
+if test "x$enable_binfmt" != "xno"; then
+	have_binfmt=yes
+fi
+AM_CONDITIONAL(ENABLE_BINFMT, [test "$have_binfmt" = "yes"])
+
 have_gtk=no
 AC_ARG_ENABLE(gtk, AS_HELP_STRING([--disable-gtk], [disable GTK tools]))
 if test "x$enable_gtk" != "xno"; then
@@ -480,6 +487,7 @@ echo "
         PAM:                     ${have_pam}
         AUDIT:                   ${have_audit}
         SELinux:                 ${have_selinux}
+        binfmt:                  ${have_binfmt}
         prefix:                  ${prefix}
         root dir:                ${with_rootdir}
         udev rules dir:          ${with_udevrulesdir}
-- 
1.7.4.4

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20110426/f9f820bd/attachment.pgp>


More information about the systemd-devel mailing list