cups/cups-systemd-socket.patch
Tim Waugh e946d3c862 Fixed systemd notify support (bug #1184453).
Resolves: rhbz#1184453
2015-01-27 11:21:21 +00:00

61 lines
2.4 KiB
Diff

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 19:24:56.000000000 +0100
+++ cups-2.0.1/cups/usersys.c 2015-01-27 11:20:16.674428706 +0000
@@ -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 2015-01-27 11:20:16.647428582 +0000
+++ cups-2.0.1/scheduler/main.c 2015-01-27 11:20:16.675428711 +0000
@@ -658,8 +658,15 @@ main(int argc, /* I - Number of comm
#if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD)
if (OnDemand)
+ {
cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand.");
- else
+# ifdef HAVE_SYSTEMD
+ sd_notifyf(0, "READY=1\n"
+ "STATUS=Scheduler is running...\n"
+ "MAINPID=%lu",
+ (unsigned long) getpid());
+# endif /* HAVE_SYSTEMD */
+ } else
#endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
if (fg)
cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started in foreground.");
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 14:50:24.000000000 +0000
+++ cups-2.0.1/scheduler/org.cups.cupsd.path.in 2015-01-27 11:20:16.675428711 +0000
@@ -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-10-21 12:55:01.000000000 +0100
+++ cups-2.0.1/scheduler/org.cups.cupsd.service.in 2015-01-27 11:20:39.631534108 +0000
@@ -1,10 +1,11 @@
[Unit]
Description=CUPS Scheduler
Documentation=man:cupsd(8)
+After=network.target
[Service]
ExecStart=@sbindir@/cupsd -l
-Type=simple
+Type=notify
[Install]
Also=org.cups.cupsd.socket org.cups.cupsd.path