mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-17 00:25:36 +00:00
* it uses gdbus-codegen from glib-2.0-native which depended on python3-distutils-native until https://lists.openembedded.org/g/openembedded-core/message/196136 but distutils on host was enforced by sanity check only until mickledore with: https://git.openembedded.org/openembedded-core/commit/?id=8e3a5b0709384f2b455a82ac1e8e212686fe4456 so on hosts without distutils this was already failing with: http://errors.yoctoproject.org/Errors/Details/754697/ gdbus-codegen \ --generate-c-code src/nm-fortisslvpn-pppd-service-dbus \ --c-namespace NMDBus \ --interface-prefix org.freedesktop.NetworkManager \ ../NetworkManager-fortisslvpn-1.4.0/src/nm-fortisslvpn-pppd-service.xml Traceback (most recent call last): File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/bin/gdbus-codegen", line 53, in <module> from codegen import codegen_main File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/codegen_main.py", line 29, in <module> from . import dbustypes File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/dbustypes.py", line 22, in <module> from . import utils File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line 22, in <module> import distutils.version ModuleNotFoundError: No module named 'distutils' make: *** [Makefile:2081: src/nm-fortisslvpn-pppd-service-dbus.h] Error 1 and the glib-2.0-native change only changes the dependency from distutils to packaging which results in: http://errors.yoctoproject.org/Errors/Details/754693/ gdbus-codegen \ --generate-c-code src/nm-fortisslvpn-pppd-service-dbus \ --c-namespace NMDBus \ --interface-prefix org.freedesktop.NetworkManager \ ../NetworkManager-fortisslvpn-1.4.0/src/nm-fortisslvpn-pppd-service.xml Traceback (most recent call last): File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/bin/gdbus-codegen", line 53, in <module> from codegen import codegen_main File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/codegen_main.py", line 29, in <module> from . import dbustypes File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/dbustypes.py", line 22, in <module> from . import utils File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line 22, in <module> import packaging.version ModuleNotFoundError: No module named 'packaging' make: *** [Makefile:2081: src/nm-fortisslvpn-pppd-service-dbus.h] Error 1 * packaging probably isn't as wide spread on host distros as old distutils was, so make sure it's available by using python3-native with python3-packaging-native from OE build Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
72 lines
2.0 KiB
BlitzBasic
72 lines
2.0 KiB
BlitzBasic
SUMMARY = "Fortinet SSLVPN support for NetworkManager"
|
|
SECTION = "net/misc"
|
|
|
|
LICENSE = "GPL-2.0-or-later"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
|
|
|
|
DEPENDS = "glib-2.0-native libxml2-native networkmanager ppp python3-packaging-native"
|
|
|
|
GNOMEBASEBUILDCLASS = "autotools"
|
|
inherit gnomebase gettext useradd python3native
|
|
|
|
SRC_URI = " \
|
|
${GNOME_MIRROR}/NetworkManager-fortisslvpn/${@gnome_verdir("${PV}")}/NetworkManager-fortisslvpn-${PV}.tar.xz \
|
|
file://0001-fix-ppp-2.5.0-build.patch \
|
|
file://0002-fix-ppp-2.5.0-build.patch \
|
|
"
|
|
SRC_URI[sha256sum] = "b055e26349b516b23585798ab3ef57b436b014800e92a8ac732cfc8e76c5dafa"
|
|
|
|
S = "${WORKDIR}/NetworkManager-fortisslvpn-${PV}"
|
|
|
|
# meta-gnome in layers is required using gnome:
|
|
PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret,"
|
|
PACKAGECONFIG[gtk4] = "--with-gtk4,--without-gtk4,gtk4,"
|
|
|
|
EXTRA_OECONF = "--with-pppd-plugin-dir=${libdir}/pppd/${@get_ppp_version(d)}"
|
|
|
|
def get_ppp_version(d):
|
|
import re
|
|
|
|
pppd_plugin = d.expand('${STAGING_LIBDIR}/pppd')
|
|
if not os.path.isdir(pppd_plugin):
|
|
return None
|
|
|
|
bb.debug(1, "pppd plugin dir %s" % pppd_plugin)
|
|
r = re.compile(r"\d*\.\d*\.\d*")
|
|
for f in os.listdir(pppd_plugin):
|
|
if os.path.isdir(os.path.join(pppd_plugin, f)):
|
|
ma = r.match(f)
|
|
if ma:
|
|
bb.debug(1, "pppd version dir %s" % f)
|
|
return f
|
|
else:
|
|
bb.debug(1, "under pppd plugin dir %s" % f)
|
|
|
|
return None
|
|
|
|
# gdbus-codegen requires target directories to exist
|
|
do_configure:append() {
|
|
mkdir -p ${B}/properties
|
|
mkdir -p ${B}/src
|
|
}
|
|
|
|
USERADD_PACKAGES = "${PN}"
|
|
USERADD_PARAM:${PN} = "--system nm-fortisslvpn"
|
|
|
|
FILES:${PN} += " \
|
|
${libdir}/NetworkManager/*.so \
|
|
${libdir}/pppd/*/*.so \
|
|
${nonarch_libdir}/NetworkManager/VPN/nm-fortisslvpn-service.name \
|
|
"
|
|
|
|
FILES:${PN}-staticdev += " \
|
|
${libdir}/NetworkManager/*.a \
|
|
${libdir}/pppd/*/*.a \
|
|
"
|
|
|
|
RDEPENDS:${PN} = " \
|
|
networkmanager \
|
|
openfortivpn \
|
|
ppp \
|
|
"
|