From 176e91ef28800adb6295b29c455b2efb91a01876 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 9 Oct 2014 13:35:07 +0800 Subject: rpcbind: make service socket activated Instead of setting 'Restart=always' in the service file, we should make the service socket activated, just like what Fedora does. Signed-off-by: Chen Qi --- meta/recipes-extended/rpcbind/rpcbind/rpcbind.service | 9 +++------ meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket | 8 ++++++++ meta/recipes-extended/rpcbind/rpcbind_0.2.1.bb | 5 +++-- 3 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service index 33ee268441..b3ae2541a0 100644 --- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service +++ b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service @@ -1,15 +1,12 @@ [Unit] -Description=RPC Bind -After=network.target -Wants=rpcbind.target -Before=rpcbind.target +Description=RPC Bind Service +Requires=rpcbind.socket [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/rpcbind.conf ExecStart=@SBINDIR@/rpcbind -w $RPCBIND_OPTS -Restart=always SuccessExitStatus=2 [Install] -WantedBy=multi-user.target +Also=rpcbind.socket diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket new file mode 100644 index 0000000000..d63c1d9720 --- /dev/null +++ b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket @@ -0,0 +1,8 @@ +[Unit] +Description=RPCbind Server Activation Socket + +[Socket] +ListenStream=/var/run/rpcbind.sock + +[Install] +WantedBy=sockets.target diff --git a/meta/recipes-extended/rpcbind/rpcbind_0.2.1.bb b/meta/recipes-extended/rpcbind/rpcbind_0.2.1.bb index 4a5562b7d2..b7324766f7 100644 --- a/meta/recipes-extended/rpcbind/rpcbind_0.2.1.bb +++ b/meta/recipes-extended/rpcbind/rpcbind_0.2.1.bb @@ -15,6 +15,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \ file://init.d \ ${UCLIBCPATCHES} \ file://rpcbind.conf \ + file://rpcbind.socket \ file://rpcbind.service \ " @@ -34,8 +35,7 @@ PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" INITSCRIPT_NAME = "rpcbind" INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ." -SYSTEMD_SERVICE_${PN} = "rpcbind.service" -SYSTEMD_AUTO_ENABLE = "disable" +SYSTEMD_SERVICE_${PN} = "rpcbind.service rpcbind.socket" inherit useradd @@ -56,6 +56,7 @@ do_install_append () { install -m 0755 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir} install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/rpcbind.socket ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/rpcbind.service ${D}${systemd_unitdir}/system sed -i -e 's,@SBINDIR@,${sbindir},g' \ -e 's,@SYSCONFDIR@,${sysconfdir},g' \ -- cgit 1.2.3-korg