[OE-core] [PATCH] glibc: add systemd support
Li, Xin
lixin.fnst at cn.fujitsu.com
Mon Jul 6 10:11:45 UTC 2015
Hi, Ross
I have sent some patches about "add systemd support and add systemd service files",
Such as iptables, iputils, sysstat and so on.
So how about those patches? :)
Regards,
Li
> -----Original Message-----
> From: Li, Xin/李 欣
> Sent: Wednesday, June 24, 2015 11:15 AM
> To: openembedded-core at lists.openembedded.org
> Cc: Li, Xin/李 欣
> Subject: [OE-core][PATCH] glibc: add systemd support
>
> add systemd service files nscd.service and nscd.socket
>
> Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
> ---
> meta/recipes-core/glibc/glibc-package.inc | 2 +-
> meta/recipes-core/glibc/glibc.inc | 20 +++++++++++++++++++-
> meta/recipes-core/glibc/glibc/nscd.service | 16 ++++++++++++++++
> meta/recipes-core/glibc/glibc/nscd.socket | 8 ++++++++
> meta/recipes-core/glibc/glibc_2.21.bb | 2 ++
> 5 files changed, 46 insertions(+), 2 deletions(-) create mode 100644
> meta/recipes-core/glibc/glibc/nscd.service
> create mode 100644 meta/recipes-core/glibc/glibc/nscd.socket
>
> diff --git a/meta/recipes-core/glibc/glibc-package.inc
> b/meta/recipes-core/glibc/glibc-package.inc
> index 984362e..4897479 100644
> --- a/meta/recipes-core/glibc/glibc-package.inc
> +++ b/meta/recipes-core/glibc/glibc-package.inc
> @@ -47,7 +47,7 @@ FILES_libsotruss = "${libdir}/audit/sotruss-lib.so"
> FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
> FILES_${PN}-dev += "${bindir}/rpcgen ${libdir}/*_nonshared.a
> ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
> FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
> -FILES_nscd = "${sbindir}/nscd*"
> +FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/nscd.conf ${sysconfdir}/init.d/nscd
> ${localstatedir}/db ${systemd_unitdir}/system/nscd.*"
> FILES_${PN}-mtrace = "${bindir}/mtrace"
> FILES_tzcode = "${bindir}/tzselect ${sbindir}/zic ${sbindir}/zdump"
> FILES_${PN}-utils = "${bindir}/* ${sbindir}/*"
> diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
> index da56bc9..4c28461 100644
> --- a/meta/recipes-core/glibc/glibc.inc
> +++ b/meta/recipes-core/glibc/glibc.inc
> @@ -41,7 +41,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial
> linux-libc-headers #RDEPENDS_${PN} += "${@['','libgcc']['nptl' in
> '${GLIBC_ADDONS}']}"
> PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
> PROVIDES += "virtual/libintl virtual/libiconv"
> -inherit autotools texinfo distro_features_check
> +inherit autotools texinfo distro_features_check systemd
> require glibc-options.inc
>
> # The main purpose of setting this variable is to prevent users from accidently
> @@ -95,4 +95,22 @@ do_configure_append() {
> sed -i
> 's/^OPTION_EGLIBC_NSSWITCH_FIXED_\(.*\)="\(.*\)"$/OPTION_EGLIBC_NSSWITC
> H_FIXED_\1=\2/' option-groups.config }
>
> +do_install_append() {
> + install -d ${D}/${sysconfdir}
> + install -m 0644 ${S}/nscd/nscd.conf ${D}/${sysconfdir}/nscd.conf
> + install -d ${D}/${sysconfdir}/init.d
> + install -m 0755 ${S}/nscd/nscd.init ${D}/${sysconfdir}/init.d/nscd
> + install -m 755 -d ${D}/${localstatedir}/db
> + install -m 755 -d ${D}/${localstatedir}/db/nscd
> +
> + install -d ${D}${systemd_unitdir}/system
> + install -m 0644 ${WORKDIR}/nscd.service ${D}${systemd_unitdir}/system/
> + install -m 0644 ${WORKDIR}/nscd.socket ${D}${systemd_unitdir}/system/
> + sed -i -e 's, at localstatedir@,${localstatedir},g'
> ${D}${systemd_unitdir}/system/*
> + sed -i -e 's, at SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*
> + sed -i -e 's, at base_bindir@,${base_bindir},g'
> +${D}${systemd_unitdir}/system/* }
> +
> +
> GLIBC_ADDONS ?= "nptl,libidn"
> +
> diff --git a/meta/recipes-core/glibc/glibc/nscd.service
> b/meta/recipes-core/glibc/glibc/nscd.service
> new file mode 100644
> index 0000000..014103e
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc/nscd.service
> @@ -0,0 +1,16 @@
> +[Unit]
> +Description=Name Service Cache Daemon
> +After=syslog.target
> +
> +[Service]
> +Type=forking
> +ExecStartPre=@base_bindir@/mkdir -p @localstatedir@/run/nscd
> +ExecStartPre=@base_bindir@/mkdir -p @localstatedir@/db/nscd
> +ExecStart=@SBINDIR@/nscd ExecStop=@SBINDIR@/nscd --shutdown
> +Restart=always PIDFile=@localstatedir@/run/nscd/nscd.pid
> +
> +[Install]
> +WantedBy=multi-user.target
> +Also=nscd.socket
> diff --git a/meta/recipes-core/glibc/glibc/nscd.socket
> b/meta/recipes-core/glibc/glibc/nscd.socket
> new file mode 100644
> index 0000000..fc63453
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc/nscd.socket
> @@ -0,0 +1,8 @@
> +[Unit]
> +Description=Name Service Cache Daemon Socket
> +
> +[Socket]
> +ListenDatagram=@localstatedir@/run/nscd/socket
> +
> +[Install]
> +WantedBy=sockets.target
> diff --git a/meta/recipes-core/glibc/glibc_2.21.bb
> b/meta/recipes-core/glibc/glibc_2.21.bb
> index 8197c29..4230630 100644
> --- a/meta/recipes-core/glibc/glibc_2.21.bb
> +++ b/meta/recipes-core/glibc/glibc_2.21.bb
> @@ -30,6 +30,8 @@ SRC_URI =
> "git://sourceware.org/git/glibc.git;branch=${BRANCH} \
> file://Fix-__memcpy_chk-on-non-SSE2-CPUs.patch \
> ${EGLIBCPATCHES} \
> ${CVEPATCHES} \
> + file://nscd.service \
> + file://nscd.socket \
> "
> EGLIBCPATCHES = "\
> file://timezone-re-written-tzselect-as-posix-sh.patch \
> --
> 1.8.4.2
More information about the Openembedded-core
mailing list