diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2014-09-03 15:09:10 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-09-03 10:24:21 +0100 |
commit | 020065d3c57ccdc86c47cd0fc288071cdd194bbc (patch) | |
tree | 1be6fe9f1f0a937d199a3e95f75be9379e9875a6 /meta/recipes-extended | |
parent | a8b2f086034585f3e115db3055575833922e3a59 (diff) | |
download | openembedded-core-020065d3c57ccdc86c47cd0fc288071cdd194bbc.tar.gz openembedded-core-020065d3c57ccdc86c47cd0fc288071cdd194bbc.tar.bz2 openembedded-core-020065d3c57ccdc86c47cd0fc288071cdd194bbc.zip |
cups: add systemd support
Add systemd unit files.
Also remove sysvinit related files if 'sysvinit' is not in
DISTRO_FEATURES.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r-- | meta/recipes-extended/cups/cups.inc | 20 | ||||
-rw-r--r-- | meta/recipes-extended/cups/cups/cups.path | 8 | ||||
-rw-r--r-- | meta/recipes-extended/cups/cups/cups.service | 10 | ||||
-rw-r--r-- | meta/recipes-extended/cups/cups/cups.socket | 8 |
4 files changed, 45 insertions, 1 deletions
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc index 162b3fd844..fbdc48eab1 100644 --- a/meta/recipes-extended/cups/cups.inc +++ b/meta/recipes-extended/cups/cups.inc @@ -8,15 +8,20 @@ SRC_URI = "http://www.cups.org/software/${PV}/${BP}-source.tar.bz2 \ file://0001-don-t-try-to-run-generated-binaries.patch \ file://cups_serverbin.patch \ file://cups-no-gcrypt.patch \ + file://cups.socket \ + file://cups.path \ + file://cups.service \ " LEAD_SONAME = "libcupsdriver.so" -inherit autotools-brokensep binconfig useradd +inherit autotools-brokensep binconfig useradd systemd USERADD_PACKAGES = "${PN}" GROUPADD_PARAM_${PN} = "--system lpadmin" +SYSTEMD_SERVICE_${PN} = "cups.socket cups.path cups.service" + PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" @@ -71,6 +76,19 @@ fakeroot do_install () { # Remove /var/run from package as cupsd will populate it on startup rm -fr ${D}/${localstatedir}/run rmdir ${D}/${libdir}/${BPN}/driver + + # Remove sysinit script and symlinks if sysvinit is not in DISTRO_FEATURES + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then + rm -rf ${D}${sysconfdir}/init.d/ + rm -rf ${D}${sysconfdir}/rc* + fi + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/cups.socket ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/cups.path ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/cups.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/cups.service } python do_package_append() { diff --git a/meta/recipes-extended/cups/cups/cups.path b/meta/recipes-extended/cups/cups/cups.path new file mode 100644 index 0000000000..de8cc57c27 --- /dev/null +++ b/meta/recipes-extended/cups/cups/cups.path @@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printer Service Spool + +[Path] +PathExistsGlob=/var/spool/cups/d* + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-extended/cups/cups/cups.service b/meta/recipes-extended/cups/cups/cups.service new file mode 100644 index 0000000000..7d3e839867 --- /dev/null +++ b/meta/recipes-extended/cups/cups/cups.service @@ -0,0 +1,10 @@ +[Unit] +Description=CUPS Printing Service + +[Service] +ExecStart=@SBINDIR@/cupsd -f +PrivateTmp=true + +[Install] +Also=cups.socket cups.path +WantedBy=printer.target diff --git a/meta/recipes-extended/cups/cups/cups.socket b/meta/recipes-extended/cups/cups/cups.socket new file mode 100644 index 0000000000..33148705d6 --- /dev/null +++ b/meta/recipes-extended/cups/cups/cups.socket @@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printing Service Sockets + +[Socket] +ListenStream=/var/run/cups/cups.sock + +[Install] +WantedBy=sockets.target |