diff -Naur cups-2.2.3/scheduler/main.c cups-2.2.3-socket/scheduler/main.c --- cups-2.2.3/scheduler/main.c 2017-03-28 20:26:53.000000000 +0200 +++ cups-2.2.3-socket/scheduler/main.c 2017-05-22 10:41:34.799330859 +0200 @@ -680,8 +680,15 @@ #if defined(HAVE_ONDEMAND) 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_ONDEMAND */ if (fg) cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, "Scheduler started in foreground."); diff -Naur cups-2.2.3/scheduler/org.cups.cupsd.path.in cups-2.2.3-socket/scheduler/org.cups.cupsd.path.in --- cups-2.2.3/scheduler/org.cups.cupsd.path.in 2017-03-28 20:26:53.000000000 +0200 +++ cups-2.2.3-socket/scheduler/org.cups.cupsd.path.in 2017-05-22 10:42:06.231989427 +0200 @@ -3,7 +3,7 @@ PartOf=org.cups.cupsd.service [Path] -PathExists=@CUPS_CACHEDIR@/org.cups.cupsd +PathExistsGlob=@CUPS_REQUESTS@/d* [Install] WantedBy=multi-user.target diff -Naur cups-2.2.3/scheduler/org.cups.cupsd.service.in cups-2.2.3-socket/scheduler/org.cups.cupsd.service.in --- cups-2.2.3/scheduler/org.cups.cupsd.service.in 2017-03-28 20:26:53.000000000 +0200 +++ cups-2.2.3-socket/scheduler/org.cups.cupsd.service.in 2017-05-22 10:42:41.294608833 +0200 @@ -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