diff options
Diffstat (limited to 'meta/recipes-extended/sysklogd/sysklogd.inc')
-rw-r--r-- | meta/recipes-extended/sysklogd/sysklogd.inc | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc index bcf8aa7a96..294eb4f073 100644 --- a/meta/recipes-extended/sysklogd/sysklogd.inc +++ b/meta/recipes-extended/sysklogd/sysklogd.inc @@ -11,12 +11,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \ " -inherit update-rc.d update-alternatives +inherit update-rc.d systemd update-alternatives SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \ file://no-strip-install.patch \ + file://0001-syslogd.c-add-systemd-support.patch \ file://sysklogd \ file://syslog.conf \ + file://sysklogd.service \ + file://klogd.service \ " SRC_URI_append_e500v2 = " file://no-vectorization.patch" @@ -24,6 +27,8 @@ SRC_URI_append_e500v2 = " file://no-vectorization.patch" INITSCRIPT_NAME = "syslog" CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${BPN}" +SYSTEMD_SERVICE_${PN} = "sysklogd.service" + CFLAGS_append = " -DSYSV" do_install () { @@ -35,20 +40,39 @@ do_install () { install -d ${D}${sysconfdir} install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog + install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog.${BPN} + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/sysklogd.service ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/klogd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${systemd_unitdir}/system/*.service } -# sysklogd package has no internal systemd support, so we weigh busybox's -# sysklogd utility over it in case of systemd -ALTERNATIVE_PRIORITY = "${@bb.utils.contains('DISTRO_FEATURES','systemd','10','100',d)}" +ALTERNATIVE_PRIORITY = '100' -ALTERNATIVE_${PN} = "syslogd klogd syslog-init syslog-conf" +ALTERNATIVE_${PN} = "syslogd klogd syslog-conf" ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd" ALTERNATIVE_LINK_NAME[klogd] = "${base_sbindir}/klogd" -ALTERNATIVE_LINK_NAME[syslog-init] = "${sysconfdir}/init.d/syslog" ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf" +python () { + if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + pn = d.getVar('PN', True) + sysconfdir = d.getVar('sysconfdir', True) + d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init') + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir)) + d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True))) + + if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d): + pn = d.getVar('PN', True) + d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service') + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True))) + d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/sysklogd.service' % (d.getVar('systemd_unitdir', True))) +} + pkg_prerm_${PN} () { if test "x$D" = "x"; then if test "$1" = "upgrade" -o "$1" = "remove"; then |