pacho 15/02/13 14:23:59
Added: cups-2.0.2-systemd-socket.patch
cups-2.0.2-rename-systemd-service-files.patch
Log:
Fix cups starting (socket and ports handling) on systemd with Fedora approach
(that also improves the way errors in cups are reported when occur) as
currently starting is not working properly leading to the printers being not
accessible for other machines in the network.
(Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key
A188FBD4)
Revision Changes Path
1.1 net-print/cups/files/cups-2.0.2-systemd-socket.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-2.0.2-systemd-socket.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-2.0.2-systemd-socket.patch?rev=1.1&content-type=text/plain
Index: cups-2.0.2-systemd-socket.patch
===================================================================
diff -up cups-2.0.2/cups/usersys.c.ustTJg cups-2.0.2/cups/usersys.c
--- cups-2.0.2/cups/usersys.c.ustTJg 2015-02-10 13:40:24.294545077 +0100
+++ cups-2.0.2/cups/usersys.c 2015-02-10 13:46:56.763989233 +0100
@@ -1017,7 +1017,7 @@ cups_finalize_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_set_server_name(cc, CUPS_DEFAULT_DOMAINSOCKET);
else
#endif /* CUPS_DEFAULT_DOMAINSOCKET */
diff -up cups-2.0.2/scheduler/main.c.ustTJg cups-2.0.2/scheduler/main.c
--- cups-2.0.2/scheduler/main.c.ustTJg 2015-02-10 13:40:24.121547526 +0100
+++ cups-2.0.2/scheduler/main.c 2015-02-10 13:40:24.295545063 +0100
@@ -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.2/scheduler/org.cups.cupsd.path.in.ustTJg
cups-2.0.2/scheduler/org.cups.cupsd.path.in
--- cups-2.0.2/scheduler/org.cups.cupsd.path.in.ustTJg 2014-03-21
15:50:24.000000000 +0100
+++ cups-2.0.2/scheduler/org.cups.cupsd.path.in 2015-02-10 13:40:24.295545063
+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.2/scheduler/org.cups.cupsd.service.in.ustTJg
cups-2.0.2/scheduler/org.cups.cupsd.service.in
--- cups-2.0.2/scheduler/org.cups.cupsd.service.in.ustTJg 2014-10-21
13:55:01.000000000 +0200
+++ cups-2.0.2/scheduler/org.cups.cupsd.service.in 2015-02-10
13:40:24.296545049 +0100
@@ -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
1.1
net-print/cups/files/cups-2.0.2-rename-systemd-service-files.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-2.0.2-rename-systemd-service-files.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-2.0.2-rename-systemd-service-files.patch?rev=1.1&content-type=text/plain
Index: cups-2.0.2-rename-systemd-service-files.patch
===================================================================
>From 33e0d4c8e450fe69b195422c0880aaa96ca9478d Mon Sep 17 00:00:00 2001
From: Matthias Maier <[email protected]>
Date: Wed, 19 Nov 2014 18:00:06 +0100
Subject: [PATCH] change systemd service files to gentoo naming scheme
---
scheduler/Makefile | 10 +++++-----
scheduler/org.cups.cupsd.path.in | 2 +-
scheduler/org.cups.cupsd.service.in | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/scheduler/Makefile b/scheduler/Makefile
index 3e0884a..b354420 100644
--- a/scheduler/Makefile
+++ b/scheduler/Makefile
@@ -203,11 +203,11 @@ install-data:
if test "x$(SYSTEMD_DIR)" != x; then \
echo Installing systemd configuration files...; \
$(INSTALL_DIR) $(BUILDROOT)$(SYSTEMD_DIR); \
- $(INSTALL_DATA) org.cups.cupsd.path $(BUILDROOT)$(SYSTEMD_DIR);
\
- $(INSTALL_DATA) org.cups.cupsd.service
$(BUILDROOT)$(SYSTEMD_DIR); \
- $(INSTALL_DATA) org.cups.cupsd.socket
$(BUILDROOT)$(SYSTEMD_DIR); \
- $(INSTALL_DATA) org.cups.cups-lpdAT.service
$(BUILDROOT)$(SYSTEMD_DIR)/[email protected]; \
- $(INSTALL_DATA) org.cups.cups-lpd.socket
$(BUILDROOT)$(SYSTEMD_DIR); \
+ $(INSTALL_DATA) org.cups.cupsd.path
$(BUILDROOT)$(SYSTEMD_DIR)/cups.path; \
+ $(INSTALL_DATA) org.cups.cupsd.service
$(BUILDROOT)$(SYSTEMD_DIR)/cups.service; \
+ $(INSTALL_DATA) org.cups.cupsd.socket
$(BUILDROOT)$(SYSTEMD_DIR)/cups.socket; \
+ $(INSTALL_DATA) org.cups.cups-lpdAT.service
$(BUILDROOT)$(SYSTEMD_DIR)/[email protected]; \
+ $(INSTALL_DATA) org.cups.cups-lpd.socket
$(BUILDROOT)$(SYSTEMD_DIR)/cups-lpd.socket; \
elif test "x$(XINETD)" != x; then \
echo Installing xinetd configuration file for cups-lpd...; \
$(INSTALL_DIR) -m 755 $(BUILDROOT)$(XINETD); \
diff --git a/scheduler/org.cups.cupsd.service.in
b/scheduler/org.cups.cupsd.service.in
index 0a27c76..7a04248 100644
--- a/scheduler/org.cups.cupsd.service.in
+++ b/scheduler/org.cups.cupsd.service.in
@@ -7,5 +7,5 @@ ExecStart=@sbindir@/cupsd -l
Type=simple
[Install]
-Also=org.cups.cupsd.socket org.cups.cupsd.path
+Also=cups.socket cups.path
WantedBy=printer.target
--
2.0.4