aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
blob: 48f50abaf1828cdc8c5b68b9d6c7eb71e318722c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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 \
"