Tim Waugh 72a35e
diff -up cups-2.0.0/cups/usersys.c.systemd-socket cups-2.0.0/cups/usersys.c
Tim Waugh 72a35e
--- cups-2.0.0/cups/usersys.c.systemd-socket	2014-08-28 16:37:22.000000000 +0100
Tim Waugh 72a35e
+++ cups-2.0.0/cups/usersys.c	2014-10-16 14:39:05.839530224 +0100
6dd074
@@ -1028,7 +1028,7 @@ cups_read_client_conf(
Tim Waugh 3bce79
     struct stat	sockinfo;		/* Domain socket information */
Tim Waugh 3bce79
 
Tim Waugh 3bce79
     if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) &&
Tim Waugh 3bce79
-	(sockinfo.st_mode & S_IRWXO) == S_IRWXO)
Tim Waugh 3bce79
+	(sockinfo.st_mode & (S_IROTH | S_IWOTH)) == (S_IROTH | S_IWOTH))
Tim Waugh 3bce79
       cups_server = CUPS_DEFAULT_DOMAINSOCKET;
Tim Waugh 3bce79
     else
Tim Waugh 3bce79
 #endif /* CUPS_DEFAULT_DOMAINSOCKET */
Tim Waugh 72a35e
diff -up cups-2.0.0/scheduler/main.c.systemd-socket cups-2.0.0/scheduler/main.c
Tim Waugh 72a35e
--- cups-2.0.0/scheduler/main.c.systemd-socket	2014-10-16 14:39:05.811530076 +0100
Tim Waugh 72a35e
+++ cups-2.0.0/scheduler/main.c	2014-10-16 14:39:05.839530224 +0100
6dd074
@@ -653,6 +653,12 @@ main(int  argc,				/* I - Number of comm
6dd074
     cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand.");
52c42a
   else
6dd074
 #endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
52c42a
+#ifdef HAVE_SYSTEMD
52c42a
+  sd_notifyf(0, "READY=1\n"
52c42a
+             "STATUS=Scheduler is running...\n"
52c42a
+             "MAINPID=%lu",
52c42a
+             (unsigned long) getpid());
52c42a
+#endif /* HAVE_SYSTEMD */
52c42a
   if (fg)
6dd074
     cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started in foreground.");
6dd074
   else
Tim Waugh 72a35e
diff -up cups-2.0.0/scheduler/org.cups.cupsd.path.in.systemd-socket cups-2.0.0/scheduler/org.cups.cupsd.path.in
Tim Waugh 72a35e
--- cups-2.0.0/scheduler/org.cups.cupsd.path.in.systemd-socket	2014-03-21 14:50:24.000000000 +0000
Tim Waugh 72a35e
+++ cups-2.0.0/scheduler/org.cups.cupsd.path.in	2014-10-16 14:39:05.839530224 +0100
6dd074
@@ -2,7 +2,7 @@
6dd074
 Description=CUPS Scheduler
6dd074
 
6dd074
 [Path]
6dd074
-PathExists=@CUPS_CACHEDIR@/org.cups.cupsd
6dd074
+PathExistsGlob=@CUPS_REQUESTS@/d*
Tim Waugh 9829b0
 
6dd074
 [Install]
6dd074
 WantedBy=multi-user.target
Tim Waugh 72a35e
diff -up cups-2.0.0/scheduler/org.cups.cupsd.service.in.systemd-socket cups-2.0.0/scheduler/org.cups.cupsd.service.in
Tim Waugh 72a35e
--- cups-2.0.0/scheduler/org.cups.cupsd.service.in.systemd-socket	2014-03-21 14:50:24.000000000 +0000
Tim Waugh 72a35e
+++ cups-2.0.0/scheduler/org.cups.cupsd.service.in	2014-10-16 14:39:28.636650224 +0100
Tim Waugh 72a35e
@@ -2,9 +2,10 @@
6dd074
 Description=CUPS Scheduler
Tim Waugh 6865fd
+After=network.target
6dd074
 
6dd074
 [Service]
6dd074
-ExecStart=@sbindir@/cupsd -l
6dd074
-Type=simple
6dd074
+ExecStart=@sbindir@/cupsd -f
6dd074
+Type=notify
Tim Waugh 9829b0
 
6dd074
 [Install]
6dd074
 Also=org.cups.cupsd.socket org.cups.cupsd.path
Tim Waugh 72a35e
 WantedBy=printer.target