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

Miklos Vajna vmiklos at frugalware.org
Wed Apr 20 14:02:39 PDT 2011


On Mon, Apr 18, 2011 at 07:38:54PM +0200, Lennart Poettering <lennart at poettering.net> wrote:
> At this point we have collected a few components of systemd that are of
> little or no use on embedded systems. To mind come here hostnamed, the
> binfmt handling, the console handling or even readahead.

I'm attaching a patch adding --disable-binfmt.
-------------- next part --------------
From 1ef3b65406fa235f522a0e9caaa6d4400179e365 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  |   31 ++++++++++++++++++++++++-------
 configure.ac |    8 ++++++++
 2 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 0aaa1e4..ed90afe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -151,9 +151,12 @@ rootlibexec_PROGRAMS = \
 	systemd-ac-power \
 	systemd-detect-virt \
 	systemd-sysctl \
-	systemd-binfmt \
         systemd-hostnamed
 
+if BINFMT
+rootlibexec_PROGRAMS += systemd-binfmt
+endif
+
 systemgenerator_PROGRAMS = \
 	systemd-getty-generator
 
@@ -310,7 +313,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 +322,10 @@ nodist_systemunit_DATA = \
 	units/quotacheck.service \
 	units/rescue.service
 
+if BINFMT
+nodist_systemunit_DATA += units/systemd-binfmt.service
+endif
+
 dist_userunit_DATA = \
 	units/user/default.target \
 	units/user/exit.target
@@ -355,7 +361,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 +373,10 @@ EXTRA_DIST = \
 	introspect.awk \
 	src/org.freedesktop.systemd1.policy.in
 
+if BINFMT
+EXTRA_DIST += units/systemd-binfmt.service.in
+endif
+
 if TARGET_FEDORA
 dist_systemunit_DATA += \
 	units/fedora/prefdm.service \
@@ -588,10 +597,13 @@ 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 BINFMT
+MANPAGES += man/binfmt.d.5
+endif
+
 MANPAGES_ALIAS = \
 	man/reboot.8 \
 	man/poweroff.8 \
@@ -1288,10 +1300,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 BINFMT
+	$(MKDIR_P) -m 0755 $(DESTDIR)$(sysconfdir)/binfmt.d
+endif
 	$(MKDIR_P) -m 0755 \
 		$(DESTDIR)$(systemunitdir) \
 		$(DESTDIR)$(userunitdir) \
@@ -1409,7 +1423,6 @@ 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 && \
@@ -1423,10 +1436,14 @@ 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 BINFMT
+	( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
+		rm -f systemd-binfmt.service && \
+		$(LN_S) ../systemd-binfmt.service systemd-binfmt.service )
+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 7837918..e371f28 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(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/20110420/232f04de/attachment.pgp>


More information about the systemd-devel mailing list