[Initscripts-ng-commits] r1108 - in /trunk/src/insserv/debian: changelog patches/230_systemd_on_linux.patch patches/series run-testsuite

pere at users.alioth.debian.org pere at users.alioth.debian.org
Wed Feb 19 12:34:51 UTC 2014


Author: pere
Date: Wed Feb 19 12:34:50 2014
New Revision: 1108

URL: http://svn.debian.org/wsvn/initscripts-ng/?sc=1&rev=1108
Log:
Added 230_systemd_on_linux.patch to skip systemd support on non-Linux
architectures like kfreebsd and hurd.  Adjust testsuite to only use
-y option on Linux.

Added:
    trunk/src/insserv/debian/patches/230_systemd_on_linux.patch
Modified:
    trunk/src/insserv/debian/changelog
    trunk/src/insserv/debian/patches/series
    trunk/src/insserv/debian/run-testsuite

Modified: trunk/src/insserv/debian/changelog
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/changelog?rev=1108&op=diff
==============================================================================
--- trunk/src/insserv/debian/changelog	(original)
+++ trunk/src/insserv/debian/changelog	Wed Feb 19 12:34:50 2014
@@ -2,6 +2,9 @@
 
   * Added patch 220_no_MAXSYMLINKS.patch to get source building on Hurd.
   * Drop now obsolete control file option DM-Upload-Allowed.
+  * Added 230_systemd_on_linux.patch to skip systemd support on non-Linux
+    architectures like kfreebsd and hurd.  Adjust testsuite to only use
+    -y option on Linux.
 
  -- Petter Reinholdtsen <pere at debian.org>  Tue, 18 Feb 2014 22:02:18 +0100
 

Added: trunk/src/insserv/debian/patches/230_systemd_on_linux.patch
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/patches/230_systemd_on_linux.patch?rev=1108&op=file
==============================================================================
--- trunk/src/insserv/debian/patches/230_systemd_on_linux.patch	(added)
+++ trunk/src/insserv/debian/patches/230_systemd_on_linux.patch	Wed Feb 19 12:34:50 2014
@@ -0,0 +1,232 @@
+Description: Only build systemd support on Linux
+ Systemd is only working on Linux.  Drop systemd support on
+ non-linux platforms like kfreebsd and hurd.
+Author: Petter Reinholdtsen <pere at debian.org>
+
+Forwarded: no
+Reviewed-By: Petter Reinholdtsen <pere at debian.org>
+Last-Update: 2014-02-19
+
+Index: insserv/Makefile
+===================================================================
+--- insserv.orig/Makefile	2014-02-19 12:58:29.457954636 +0100
++++ insserv/Makefile	2014-02-19 13:29:55.630204109 +0100
+@@ -15,6 +15,15 @@
+ VERSION	 =	1.16.0
+ DATE	 =	$(shell date +'%d%b%y' | tr '[:lower:]' '[:upper:]')
+ CFLDBUS	 =	$(shell pkg-config --cflags dbus-1)
++OS := $(shell uname -s)
++
++ifeq ($(OS),Linux)
++SYSTEMD  =      -DUSE_SYSTEMD
++SYSTEMDOBJ = systemd.o
++else
++SYSTEMD  =
++SYSTEMDOBJ =
++endif
+ 
+ #
+ # Architecture
+@@ -29,7 +38,7 @@
+ 	  COPTS ?= -g -O2
+ endif
+ endif
+-	 CFLAGS = -W -Wall $(COPTS) $(DEBUG) $(LOOPS) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 \
++	 CFLAGS = -W -Wall $(COPTS) $(DEBUG) $(SYSTEMD) $(LOOPS) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 \
+ 		  $(ISSUSE) -DINITDIR=\"$(INITDIR)\" -DINSCONF=\"$(INSCONF)\" -pipe
+ 	  CLOOP = -falign-loops=0
+ 	LDFLAGS ?= -Wl,-O,3,--relax
+@@ -76,7 +85,7 @@
+ 
+ all:		$(TODO)
+ 
+-insserv:	insserv.o listing.o systemd.o
++insserv:	insserv.o listing.o $(SYSTEMDOBJ)
+ 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
+ 
+ listing.o:	listing.c listing.h config.h .system
+Index: insserv/insserv.c
+===================================================================
+--- insserv.orig/insserv.c	2014-02-19 12:58:29.585955472 +0100
++++ insserv/insserv.c	2014-02-19 12:58:29.597955548 +0100
+@@ -23,11 +23,13 @@
+  *
+  */
+ 
++#if defined(USE_SYSTEMD)
+ /*
+  * Systemd integration
+  */
+ #define SYSTEMD_SERVICE_PATH	"/lib/systemd/system"
+ #define SYSTEMD_BINARY_PATH	"/bin/systemd"
++#endif /* USE_SYSTEMD */
+ 
+ #define MINIMAL_MAKE	1	/* Remove disabled scripts from .depend.boot,
+ 				 * .depend.start, .depend.halt, and .depend.stop */
+@@ -66,8 +68,11 @@
+ # include <sys/mount.h>
+ #endif /* SUSE */
+ #include "listing.h"
++#if defined(USE_SYSTEMD)
+ #include "systemd.h"
+-
++/* Systemd support */
++static DBusConnection *sbus;
++#endif /* USE_SYSTEMD */
+ #ifdef __m68k__ /* Fix #493637 */
+ #  define aligned(a)
+ #endif
+@@ -133,9 +138,6 @@
+ /* Upstart suport */
+ static const char *upstartjob_path = "/lib/init/upstart-job";
+ 
+-/* Systemd support */
+-static DBusConnection *sbus;
+-
+ /*
+  * For a description of regular expressions see regex(7).
+  */
+@@ -188,9 +190,11 @@
+ static boolean set_override = false;
+ static boolean set_insconf = false;
+ 
++#if defined(USE_SYSTEMD)
+ /* Wether systemd is active or not */
+ static boolean systemd = false;
+ static boolean is_overridden_by_systemd(const char *);
++#endif /* USE_SYSTEMD */
+ 
+ /* Search results points here */
+ typedef struct lsb_struct {
+@@ -1720,6 +1724,7 @@
+     }
+ #endif /* SUSE */
+ 
++#if defined(USE_SYSTEMD)
+     if (systemd) {
+ 	const char *serv;
+ 	serv = path;
+@@ -1729,6 +1734,7 @@
+ 	    ret |= FOUND_LSB_SYSTEMD;
+ 	}
+     }
++#endif
+ 
+     if (is_upstart_job(path) != (char*)0) {
+ 	/*
+@@ -2287,6 +2293,7 @@
+     regfree(&creg.isactive);
+ }
+ 
++#if defined(USE_SYSTEMD)
+ /*
+  * Maps between systemd and SystemV
+  */
+@@ -2437,6 +2444,7 @@
+ 	}
+     }
+ }
++#endif /* USE_SYSTEMD */
+ 
+ static void expand_faci(list_t *restrict rlist, list_t *restrict head,
+ 			int *restrict deep) attribute((noinline,nonnull(1,2,3)));
+@@ -2632,6 +2640,7 @@
+ }
+ #endif /* SUSE */
+ 
++#if defined(USE_SYSTEMD)
+ /*
+  * Systemd integration
+  */
+@@ -2687,6 +2696,7 @@
+ 	free (p);
+     }
+ }
++#endif /* USE_SYSTEMD */
+ 
+ static struct option long_options[] =
+ {
+@@ -2739,7 +2749,9 @@
+     char * override_path = OVERRIDEDIR;
+     char * insconf = INSCONF;
+     const char *const ipath = path;
++#if defined(USE_SYSTEMD)
+     char * systemd_binary_path = SYSTEMD_BINARY_PATH;
++#endif
+     int runlevel, c, dfd;
+     boolean del = false;
+     boolean defaults = false;
+@@ -2761,8 +2773,13 @@
+ 
+     for (c = 0; c < argc; c++)
+ 	argr[c] = (char*)0;
++#if defined(USE_SYSTEMD)
++#  define OPTIONS "c:dfrhvno:p:u:esy:"
++#else
++#  define OPTIONS "c:dfrhvno:p:u:es"
++#endif
+ 
+-    while ((c = getopt_long(argc, argv, "c:dfrhvno:p:u:esy:", long_options, (int *)0)) != -1) {
++    while ((c = getopt_long(argc, argv, OPTIONS, long_options, (int *)0)) != -1) {
+ 	size_t l;
+ 	switch (c) {
+ 	    case 'c':
+@@ -2814,11 +2831,13 @@
+ 	    case 'e':
+ 		recursive = true;
+ 		break;
++#if defined(USE_SYSTEMD)
+ 	    case 'y':
+ 		if (optarg == (char*)0 || *optarg == '\0')
+ 		    goto err;
+ 		systemd_binary_path = optarg;
+ 	        break;
++#endif /* USE_SYSTEMD */
+ 	    case '?':
+ 	    err:
+ 		error("For help use: %s -h\n", myname);
+@@ -2940,6 +2959,7 @@
+ 	    printf("Overwrite argument for %s is %s\n", argv[c], argr[c]);
+ #endif /* DEBUG */
+ 
++#if defined(USE_SYSTEMD)
+ #ifdef SUSE
+     if (!underrpm())
+ #endif
+@@ -2955,23 +2975,26 @@
+ 	systemd_close_conn(sbus);
+ 	systemd = true;
+     }
+-
++#endif /* USE_SYSTEMD */
+     /*
+      * Scan and set our configuration for virtual services.
+      */
+     scan_conf(insconf);
+ 
++#if defined(USE_SYSTEMD)
+     /*
+      * Handle Systemd target as system facilities (<name>.target -> $<name>)
+      */
+     if (systemd)
+ 	import_systemd_facilities();
++#endif /* USE_SYSTEMD */
+ 
+     /*
+      * Expand system facilities to real services
+      */
+     expand_conf();
+ 
++#if defined(USE_SYSTEMD)
+     /*
+      * Handle Systemd services (<name>.service -> <name>)
+      */
+@@ -2979,7 +3002,7 @@
+ 	import_systemd_services();
+ 	systemd_free();		/* Not used anymore */
+     }
+-
++#endif /* USE_SYSTEMD */
+     /*
+      * Initialize the regular scanner for the scripts.
+      */

Modified: trunk/src/insserv/debian/patches/series
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/patches/series?rev=1108&op=diff
==============================================================================
--- trunk/src/insserv/debian/patches/series	(original)
+++ trunk/src/insserv/debian/patches/series	Wed Feb 19 12:34:50 2014
@@ -13,3 +13,4 @@
 200_upstream-fixes.patch
 210_systemd_path_option.patch
 220_no_MAXSYMLINKS.patch
+230_systemd_on_linux.patch

Modified: trunk/src/insserv/debian/run-testsuite
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/run-testsuite?rev=1108&op=diff
==============================================================================
--- trunk/src/insserv/debian/run-testsuite	(original)
+++ trunk/src/insserv/debian/run-testsuite	Wed Feb 19 12:34:50 2014
@@ -12,7 +12,9 @@
 fi
 
 # Run tests without trying to talk to systemd
-insopts="-y /non-existing"
+if [ Linux = $(uname -s) ] ; then
+    insopts="-y /non-existing"
+fi
 
 update_conf() {
 set +C
@@ -2418,7 +2420,9 @@
 test_cross_runlevel_dep() {
 
 initdir_purge
-insopts="-y /bin/true"
+if [ Linux = $(uname -s) ] ; then
+    insopts="-y /bin/true"
+fi
 
 insertscript rpcbind <<'EOF'
 ### BEGIN INIT INFO
@@ -2456,7 +2460,9 @@
 check_script_present 2 nfs-common
 check_script_present 2 nfs-server
 check_order 2 nfs-common nfs-server
-insopts="-y /non-existing"
+if [ Linux = $(uname -s) ] ; then
+    insopts="-y /non-existing"
+fi
 }
 ##########################################################################
 




More information about the Initscripts-ng-commits mailing list