[oe] [meta-networking][PATCH] vsftpd: install volatiles file based on init system
Joe MacDonald
joe at deserted.net
Fri Dec 13 14:34:36 UTC 2013
[Re: [oe] [meta-networking][PATCH] vsftpd: install volatiles file based on init system] On 13.12.13 (Fri 10:33) Paul Eggleton wrote:
> Hi Joe,
>
> On Thursday 12 December 2013 14:00:57 Joe MacDonald wrote:
> > The sysvinit populate-volatile.sh scans for volatiles in
> > /etc/default/volatiles. systemd expects the same format files to live in
> > /etc/tmpfiles.d. Depedning on the DISTRO_FEATURE list, install vsftpd's
> > volatiles file to the expected location. While we're here, drop the
> > creation of the empty ${localstatedir}/run/ hierarchy since they should be
> > created by the volatiles processing.
> >
> > Signed-off-by: Joe MacDonald <joe at deserted.net>
> > ---
> > meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb | 10 +++++++---
> > 1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb
> > b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb index
> > 0698a63..9d82fd7 100644
> > --- a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb
> > +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb
> > @@ -59,8 +59,13 @@ do_install() {
> > install -m 600 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir}/vsftpd.conf
> > install -d ${D}${sysconfdir}/init.d/
> > install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/vsftpd
> > - install -d ${D}/${sysconfdir}/default/volatiles
> > - install -m 644 ${WORKDIR}/volatiles.99_vsftpd
> > ${D}/${sysconfdir}/default/volatiles/99_vsftpd + if
> > ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then +
> > install -d ${D}/${sysconfdir}/tmpfiles.d
> > + install -m 644 ${WORKDIR}/volatiles.99_vsftpd
> > ${D}/${sysconfdir}/tmpfiles.d/99_vsftpd + else
> > + install -d ${D}/${sysconfdir}/default/volatiles
> > + install -m 644 ${WORKDIR}/volatiles.99_vsftpd
> > ${D}/${sysconfdir}/default/volatiles/99_vsftpd + fi
> >
> > install -m 600 ${WORKDIR}/vsftpd.ftpusers ${D}${sysconfdir}/
> > install -m 600 ${WORKDIR}/vsftpd.user_list ${D}${sysconfdir}/
> > @@ -70,7 +75,6 @@ do_install() {
> > sed -i "s:/lib/security:${base_libdir}/security:"
> > ${D}${sysconfdir}/pam.d/vsftpd sed -i "s:ftpusers:vsftpd.ftpusers:"
> > ${D}${sysconfdir}/pam.d/vsftpd fi
> > - install -d ${D}${localstatedir}/run/vsftpd/empty
> > }
> >
> > INITSCRIPT_PACKAGES = "${PN}"
>
> I think there might be a problem with this: the DISTRO_FEATURES options aren't
> mutually exclusive - both can be enabled at the same time (usually where you
> want sysvinit for some rescue/initramfs image and systemd for the main image).
Hey Paul,
That's a good point and I probably should've at least made mention of it
in my email. I'd thought about it (thought I try to only have either
sysvinit or systemd enabled in a configuration at a time, multiple init
systems running concurrently make my teeth itch) but I had thought that
in this case vsftpd would only be relying on one of them (preferring
systemd if available) to create the volatiles. Since I try very hard
not to be in the scenario where I include both, though, I could be
overlooking a case here. Do you think I should be doing something more
like this:
62 if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
63 install -d ${D}/${sysconfdir}/tmpfiles.d
64 install -m 644 ${WORKDIR}/volatiles.99_vsftpd ${D}/${sysconfdir}/tmpfiles.d/99_vsftpd
65 fi
66 if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
67 install -d ${D}/${sysconfdir}/default/volatiles
68 install -m 644 ${WORKDIR}/volatiles.99_vsftpd ${D}/${sysconfdir}/default/volatiles/99_vsftpd
69 fi
--
-Joe MacDonald.
:wq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20131213/f12f2743/attachment-0002.sig>
More information about the Openembedded-devel
mailing list