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

Miklos Vajna vmiklos at frugalware.org
Tue Apr 26 14:31:09 PDT 2011


On Tue, Apr 26, 2011 at 11:26:18PM +0200, Lennart Poettering <lennart at poettering.net> wrote:
> Hmm, doesn't apply on current git... :-(
> 
> Can you rebase?

Oh, sure I forgot to pull Kay's stacked config patches.
-------------- next part --------------
From 3f3b485ad26324e98d2c8a07f78c2c36f035f6cb 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  |   50 ++++++++++++++++++++++++++++++++++++++------------
 configure.ac |    8 ++++++++
 2 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index d6182f1..873090e 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 \
@@ -1291,11 +1311,14 @@ install-data-hook:
 		$(DESTDIR)$(sysconfdir)/modules-load.d \
 		$(DESTDIR)$(prefix)/lib/sysctl.d \
 		$(DESTDIR)$(sysconfdir)/sysctl.d \
-		$(DESTDIR)$(prefix)/lib/binfmt.d \
-		$(DESTDIR)$(sysconfdir)/binfmt.d \
 		$(DESTDIR)$(systemshutdowndir) \
 		$(DESTDIR)$(systemgeneratordir) \
 		$(DESTDIR)$(usergeneratordir)
+if ENABLE_BINFMT
+	$(MKDIR_P) -m 0755 \
+		$(DESTDIR)$(prefix)/lib/binfmt.d \
+		$(DESTDIR)$(sysconfdir)/binfmt.d
+endif
 	$(MKDIR_P) -m 0755 \
 		$(DESTDIR)$(systemunitdir) \
 		$(DESTDIR)$(userunitdir) \
@@ -1405,7 +1428,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 \
@@ -1413,13 +1435,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 && \
@@ -1427,10 +1447,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 a510026..bc14b4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -242,6 +242,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
@@ -481,6 +488,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/109625f7/attachment-0001.pgp>


More information about the systemd-devel mailing list