[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