Blob Blame History Raw
diff -up cups-2.0.1/cups/usersys.c.systemd-socket cups-2.0.1/cups/usersys.c
--- cups-2.0.1/cups/usersys.c.systemd-socket	2014-10-20 20:24:56.000000000 +0200
+++ cups-2.0.1/cups/usersys.c	2014-11-15 15:19:11.108125832 +0100
@@ -1078,7 +1078,7 @@ cups_read_client_conf(
     struct stat	sockinfo;		/* Domain socket information */
 
     if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) &&
-	(sockinfo.st_mode & S_IRWXO) == S_IRWXO)
+	(sockinfo.st_mode & (S_IROTH | S_IWOTH)) == (S_IROTH | S_IWOTH))
       cups_server = CUPS_DEFAULT_DOMAINSOCKET;
     else
 #endif /* CUPS_DEFAULT_DOMAINSOCKET */
diff -up cups-2.0.1/scheduler/main.c.systemd-socket cups-2.0.1/scheduler/main.c
--- cups-2.0.1/scheduler/main.c.systemd-socket	2014-11-15 15:19:11.057126510 +0100
+++ cups-2.0.1/scheduler/main.c	2014-11-15 15:19:11.108125832 +0100
@@ -661,6 +661,12 @@ main(int  argc,				/* I - Number of comm
     cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand.");
   else
 #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
+#ifdef HAVE_SYSTEMD
+  sd_notifyf(0, "READY=1\n"
+             "STATUS=Scheduler is running...\n"
+             "MAINPID=%lu",
+             (unsigned long) getpid());
+#endif /* HAVE_SYSTEMD */
   if (fg)
     cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started in foreground.");
   else
diff -up cups-2.0.1/scheduler/org.cups.cupsd.path.in.systemd-socket cups-2.0.1/scheduler/org.cups.cupsd.path.in
--- cups-2.0.1/scheduler/org.cups.cupsd.path.in.systemd-socket	2014-03-21 15:50:24.000000000 +0100
+++ cups-2.0.1/scheduler/org.cups.cupsd.path.in	2014-11-15 15:19:11.108125832 +0100
@@ -2,7 +2,7 @@
 Description=CUPS Scheduler
 
 [Path]
-PathExists=@CUPS_CACHEDIR@/org.cups.cupsd
+PathExistsGlob=@CUPS_REQUESTS@/d*
 
 [Install]
 WantedBy=multi-user.target
diff -up cups-2.0.1/scheduler/org.cups.cupsd.service.in.systemd-socket cups-2.0.1/scheduler/org.cups.cupsd.service.in
--- cups-2.0.1/scheduler/org.cups.cupsd.service.in.systemd-socket	2014-11-15 15:19:11.109125818 +0100
+++ cups-2.0.1/scheduler/org.cups.cupsd.service.in	2014-11-15 15:19:56.480528155 +0100
@@ -1,10 +1,11 @@
 [Unit]
 Description=CUPS Scheduler
 Documentation=man:cupsd(8)
+After=network.target
 
 [Service]
-ExecStart=@sbindir@/cupsd -l
-Type=simple
+ExecStart=@sbindir@/cupsd -f
+Type=notify
 
 [Install]
 Also=org.cups.cupsd.socket org.cups.cupsd.path