Fixed systemd notify support (bug #1184453).

Resolves: rhbz#1184453
This commit is contained in:
Tim Waugh 2015-01-27 11:06:16 +00:00
parent fce8f58b49
commit e946d3c862
2 changed files with 26 additions and 21 deletions

View File

@ -1,6 +1,6 @@
diff -up cups-2.0.1/cups/usersys.c.systemd-socket cups-2.0.1/cups/usersys.c 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.systemd-socket 2014-10-20 19:24:56.000000000 +0100
+++ cups-2.0.1/cups/usersys.c 2014-11-15 15:19:11.108125832 +0100 +++ cups-2.0.1/cups/usersys.c 2015-01-27 11:20:16.674428706 +0000
@@ -1078,7 +1078,7 @@ cups_read_client_conf( @@ -1078,7 +1078,7 @@ cups_read_client_conf(
struct stat sockinfo; /* Domain socket information */ struct stat sockinfo; /* Domain socket information */
@ -11,24 +11,28 @@ diff -up cups-2.0.1/cups/usersys.c.systemd-socket cups-2.0.1/cups/usersys.c
else else
#endif /* CUPS_DEFAULT_DOMAINSOCKET */ #endif /* CUPS_DEFAULT_DOMAINSOCKET */
diff -up cups-2.0.1/scheduler/main.c.systemd-socket cups-2.0.1/scheduler/main.c 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.systemd-socket 2015-01-27 11:20:16.647428582 +0000
+++ cups-2.0.1/scheduler/main.c 2014-11-15 15:19:11.108125832 +0100 +++ cups-2.0.1/scheduler/main.c 2015-01-27 11:20:16.675428711 +0000
@@ -661,6 +661,12 @@ main(int argc, /* I - Number of comm @@ -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."); cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started on demand.");
else - else
#endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */ +# ifdef HAVE_SYSTEMD
+#ifdef HAVE_SYSTEMD
+ sd_notifyf(0, "READY=1\n" + sd_notifyf(0, "READY=1\n"
+ "STATUS=Scheduler is running...\n" + "STATUS=Scheduler is running...\n"
+ "MAINPID=%lu", + "MAINPID=%lu",
+ (unsigned long) getpid()); + (unsigned long) getpid());
+#endif /* HAVE_SYSTEMD */ +# endif /* HAVE_SYSTEMD */
+ } else
#endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
if (fg) if (fg)
cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started in foreground."); 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 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.systemd-socket 2014-03-21 14:50:24.000000000 +0000
+++ cups-2.0.1/scheduler/org.cups.cupsd.path.in 2014-11-15 15:19:11.108125832 +0100 +++ cups-2.0.1/scheduler/org.cups.cupsd.path.in 2015-01-27 11:20:16.675428711 +0000
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
Description=CUPS Scheduler Description=CUPS Scheduler
@ -39,8 +43,8 @@ diff -up cups-2.0.1/scheduler/org.cups.cupsd.path.in.systemd-socket cups-2.0.1/s
[Install] [Install]
WantedBy=multi-user.target 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 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.systemd-socket 2014-10-21 12:55:01.000000000 +0100
+++ cups-2.0.1/scheduler/org.cups.cupsd.service.in 2014-11-15 15:19:56.480528155 +0100 +++ cups-2.0.1/scheduler/org.cups.cupsd.service.in 2015-01-27 11:20:39.631534108 +0000
@@ -1,10 +1,11 @@ @@ -1,10 +1,11 @@
[Unit] [Unit]
Description=CUPS Scheduler Description=CUPS Scheduler
@ -48,9 +52,8 @@ diff -up cups-2.0.1/scheduler/org.cups.cupsd.service.in.systemd-socket cups-2.0.
+After=network.target +After=network.target
[Service] [Service]
-ExecStart=@sbindir@/cupsd -l ExecStart=@sbindir@/cupsd -l
-Type=simple -Type=simple
+ExecStart=@sbindir@/cupsd -f
+Type=notify +Type=notify
[Install] [Install]

View File

@ -11,7 +11,7 @@ Summary: CUPS printing system
Name: cups Name: cups
Epoch: 1 Epoch: 1
Version: 2.0.1 Version: 2.0.1
Release: 1%{?dist} Release: 2%{?dist}
License: GPLv2 License: GPLv2
Url: http://www.cups.org/ Url: http://www.cups.org/
Source0: http://www.cups.org/software/%{version}/cups-%{version}-source.tar.bz2 Source0: http://www.cups.org/software/%{version}/cups-%{version}-source.tar.bz2
@ -231,7 +231,6 @@ Sends IPP requests to the specified URI and tests and/or displays the results.
%patch24 -p1 -b .ricoh-deviceid-oid %patch24 -p1 -b .ricoh-deviceid-oid
# Make cups.service Type=notify (bug #1088918). # Make cups.service Type=notify (bug #1088918).
%patch25 -p1 -b .systemd-socket %patch25 -p1 -b .systemd-socket
# Use IP address when resolving DNSSD URIs (bug #948288). # Use IP address when resolving DNSSD URIs (bug #948288).
%patch27 -p1 -b .avahi-address %patch27 -p1 -b .avahi-address
# Return from cupsEnumDests() once all records have been returned. # Return from cupsEnumDests() once all records have been returned.
@ -602,6 +601,9 @@ rm -f %{cups_serverbin}/backend/smb
%{_mandir}/man5/ipptoolfile.5.gz %{_mandir}/man5/ipptoolfile.5.gz
%changelog %changelog
* Tue Jan 27 2015 Tim Waugh <twaugh@redhat.com> - 1:2.0.1-2
- Fixed systemd notify support (bug #1184453).
* Sat Nov 15 2014 Jiri Popelka <jpopelka@redhat.com> - 1:2.0.1-1 * Sat Nov 15 2014 Jiri Popelka <jpopelka@redhat.com> - 1:2.0.1-1
- 2.0.1 - 2.0.1