From: Andreas Oberritter <obi@opendreambox.org>
To: openembedded-core@lists.openembedded.org,
Jussi Kukkonen <jussi.kukkonen@intel.com>
Subject: Re: [PATCH] connman: Simplify and fix packaging of VPN plug-ins
Date: Tue, 9 May 2017 11:19:24 +0200 [thread overview]
Message-ID: <20170509111924.6249752a@t510.zcs.saftware.de> (raw)
In-Reply-To: <20170130231930.30dd039c@t510.zcs.saftware.de>
Ping.
I know conflicts may have appeared in the meantime. I've got a rebased
version in my tree. Some feedback would be nice however, before I'm going
to send it again.
Regards,
Andreas
On Mon, 30 Jan 2017 23:19:30 +0100
Andreas Oberritter <obi@opendreambox.org> wrote:
> Ping.
>
> On Mon, 5 Dec 2016 23:41:53 +0100
> Andreas Oberritter <obi@opendreambox.org> wrote:
>
> > - Use simple static packaging.
> > - Move VPN runtime dependencies from connman to the individual plug-ins.
> > - Create a connmann-ppp package containing libppp-plugin.so, which is
> > a shared library needed by l2tp and pptp plug-ins.
> > - Let connman suggest VPN packages instead of recommending them, so they
> > don't get installed by default.
> > - Remove unknown configure options (--with-pptp --with-l2tp)
> >
> > Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
> > ---
> > v2: Made dependencies from meta-networking conditional. Now the reported
> > errors should appear only if meta-network is not available and a
> > packageconfig option related to VPN was enabled.
> >
> > Note: I can't build-test it right now, because python3-native has weird
> > conflicts populating sysroot. But this patch doesn't cause parse
> > errors, so I guess syntax is fine.
> >
> > meta/recipes-connectivity/connman/connman.inc | 95 +++++++++------------------
> > 1 file changed, 32 insertions(+), 63 deletions(-)
> >
> > diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
> > index 35a7eed..671d533 100644
> > --- a/meta/recipes-connectivity/connman/connman.inc
> > +++ b/meta/recipes-connectivity/connman/connman.inc
> > @@ -46,24 +46,17 @@ PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-suppli
> > PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}, ${BLUEZ}"
> > PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
> > PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
> > -PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
> > -PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
> > -PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
> > -PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,pptp-linux"
> > +PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn"
> > +PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc"
> > +PACKAGECONFIG[l2tp] = "--enable-l2tp,--disable-l2tp"
> > +PACKAGECONFIG[pptp] = "--enable-pptp,--disable-pptp"
> > # WISPr support for logging into hotspots, requires TLS
> > PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls,"
> >
> > INITSCRIPT_NAME = "connman"
> > INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
> >
> > -python __anonymous () {
> > - systemd_packages = "${PN}"
> > - pkgconfig = d.getVar('PACKAGECONFIG', True)
> > - if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
> > - systemd_packages += " ${PN}-vpn"
> > - d.setVar('SYSTEMD_PACKAGES', systemd_packages)
> > -}
> > -
> > +SYSTEMD_PACKAGES = "${PN} ${PN}-vpn"
> > SYSTEMD_SERVICE_${PN} = "connman.service"
> > SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
> > SYSTEMD_SERVICE_${PN}-wait-online = "connman-wait-online.service"
> > @@ -103,36 +96,6 @@ RDEPENDS_${PN} = "\
> > dbus \
> > "
> >
> > -PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
> > -
> > -def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
> > - plugintype = pkg.split( '-' )[-1]
> > - if plugintype in depmap:
> > - rdepends = map(lambda x: multilib_prefix + x, \
> > - depmap[plugintype].split())
> > - d.setVar("RDEPENDS_%s" % pkg, " ".join(rdepends))
> > - if add_insane_skip:
> > - d.appendVar("INSANE_SKIP_%s" % pkg, "dev-so")
> > -
> > -python populate_packages_prepend() {
> > - depmap = dict(pppd="ppp")
> > - multilib_prefix = (d.getVar("MLPREFIX", True) or "")
> > -
> > - hook = lambda file,pkg,x,y,z: \
> > - add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
> > - plugin_dir = d.expand('${libdir}/connman/plugins/')
> > - plugin_name = d.expand('${PN}-plugin-%s')
> > - do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
> > - '${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
> > -
> > - hook = lambda file,pkg,x,y,z: \
> > - add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
> > - plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
> > - plugin_name = d.expand('${PN}-plugin-vpn-%s')
> > - do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
> > - '${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
> > -}
> > -
> > PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
> >
> > FILES_${PN}-tools = "${bindir}/wispr"
> > @@ -152,7 +115,12 @@ FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
> >
> > FILES_${PN}-dev += "${libdir}/connman/*/*.la"
> >
> > -PACKAGES =+ "${PN}-vpn ${PN}-wait-online"
> > +PACKAGES =+ "${PN}-vpn ${PN}-wait-online \
> > + ${PN}-ppp \
> > + ${PN}-plugin-vpn-l2tp \
> > + ${PN}-plugin-vpn-openvpn \
> > + ${PN}-plugin-vpn-pptp \
> > + ${PN}-plugin-vpn-vpnc"
> >
> > SUMMARY_${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
> > DESCRIPTION_${PN}-vpn = "The ConnMan VPN provides a daemon for \
> > @@ -161,10 +129,10 @@ operating system. The connman-vpnd handles all the VPN connections \
> > and starts/stops VPN client processes when necessary. The connman-vpnd \
> > provides a DBus API for managing VPN connections. All the different \
> > VPN technogies are implemented using plug-ins."
> > -FILES_${PN}-vpn += "${sbindir}/connman-vpnd \
> > - ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
> > - ${datadir}/dbus-1/system-services/net.connman.vpn.service \
> > - ${systemd_unitdir}/system/connman-vpn.service"
> > +FILES_${PN}-vpn = "${sbindir}/connman-vpnd \
> > + ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
> > + ${datadir}/dbus-1/system-services/net.connman.vpn.service \
> > + ${systemd_unitdir}/system/connman-vpn.service"
> >
> > SUMMARY_${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
> > DESCRIPTION_${PN}-wait-online = "A service that can be enabled so that \
> > @@ -175,31 +143,32 @@ FILES_${PN}-wait-online += "${sbindir}/connmand-wait-online \
> > SUMMARY_${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
> > DESCRIPTION_${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
> > to create a VPN connection to OpenVPN server."
> > -FILES_${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
> > - ${libdir}/connman/plugins-vpn/openvpn.so"
> > -RDEPENDS_${PN}-plugin-vpn-openvpn += "${PN}-vpn"
> > -RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
> > +FILES_${PN}-plugin-vpn-openvpn = "${libdir}/connman/scripts/openvpn-script \
> > + ${libdir}/connman/plugins-vpn/openvpn.so"
> > +RDEPENDS_${PN}-plugin-vpn-openvpn = "${PN}-vpn ${@bb.utils.contains('PACKAGECONFIG', 'openvpn', 'openvpn', '', d)}"
> > +RSUGGESTS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
> >
> > SUMMARY_${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
> > DESCRIPTION_${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
> > to create a VPN connection to Cisco3000 VPN Concentrator."
> > -FILES_${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
> > - ${libdir}/connman/plugins-vpn/vpnc.so"
> > -RDEPENDS_${PN}-plugin-vpn-vpnc += "${PN}-vpn"
> > -RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
> > +FILES_${PN}-plugin-vpn-vpnc = "${libdir}/connman/scripts/openconnect-script \
> > + ${libdir}/connman/plugins-vpn/vpnc.so"
> > +RDEPENDS_${PN}-plugin-vpn-vpnc = "${PN}-vpn ${@bb.utils.contains('PACKAGECONFIG', 'vpnc', 'vpnc', '', d)}"
> > +RSUGGESTS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
> >
> > SUMMARY_${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
> > DESCRIPTION_${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
> > to create a VPN connection to L2TP server."
> > -FILES_${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
> > - ${libdir}/connman/plugins-vpn/l2tp.so"
> > -RDEPENDS_${PN}-plugin-vpn-l2tp += "${PN}-vpn"
> > -RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
> > +FILES_${PN}-plugin-vpn-l2tp = "${libdir}/connman/plugins-vpn/l2tp.so"
> > +RDEPENDS_${PN}-plugin-vpn-l2tp = "${PN}-vpn ${PN}-ppp ${@bb.utils.contains('PACKAGECONFIG', 'l2tp', 'xl2tpd', '', d)}"
> > +RSUGGESTS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
> >
> > SUMMARY_${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
> > DESCRIPTION_${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
> > to create a VPN connection to PPTP server."
> > -FILES_${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
> > - ${libdir}/connman/plugins-vpn/pptp.so"
> > -RDEPENDS_${PN}-plugin-vpn-pptp += "${PN}-vpn"
> > -RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
> > +FILES_${PN}-plugin-vpn-pptp = "${libdir}/connman/plugins-vpn/pptp.so"
> > +RDEPENDS_${PN}-plugin-vpn-pptp = "${PN}-vpn ${PN}-ppp ${@bb.utils.contains('PACKAGECONFIG', 'pptp', 'pptp-linux', '', d)}"
> > +RSUGGESTS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
> > +
> > +FILES_${PN}-ppp = "${libdir}/connman/scripts/libppp-plugin.so"
> > +RDEPENDS_${PN}-ppp = "ppp"
>
prev parent reply other threads:[~2017-05-09 9:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-30 12:22 [PATCH 1/2] connman: Simplify and fix packaging of VPN plug-ins Andreas Oberritter
2016-11-30 12:22 ` [PATCH 2/2] connman: enable connman-wait-online.service Andreas Oberritter
2017-01-30 22:20 ` Andreas Oberritter
2017-05-09 9:22 ` Andreas Oberritter
2016-12-05 16:16 ` [PATCH 1/2] connman: Simplify and fix packaging of VPN plug-ins Burton, Ross
2016-12-05 22:41 ` [PATCH] " Andreas Oberritter
2017-01-30 22:19 ` Andreas Oberritter
2017-05-09 9:19 ` Andreas Oberritter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170509111924.6249752a@t510.zcs.saftware.de \
--to=obi@opendreambox.org \
--cc=jussi.kukkonen@intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox