blob: 41bedcd0cf69d40e18d971d64c4f58f97b6cbcef [file] [log] [blame]
Patrick Williams03514f12024-04-05 07:04:11 -05001SUMMARY = "OpenFlow communications protocol"
2DESCRIPTION = "\
3Open standard that enables researchers to run experimental protocols in \
4contained networks. OpenFlow is a communications interface between \
5control and forwarding planes of a software-defined networking architecture.\
6"
7HOMEPAGE = "http://www.openflow.org"
8
9SECTION = "net"
10LICENSE = "GPL-2.0-only"
11
12LIC_FILES_CHKSUM = "file://COPYING;md5=e870c934e2c3d6ccf085fd7cf0a1e2e2"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050013
Patrick Williams73bd93f2024-02-20 08:07:48 -060014SRCREV = "82ad07d997b0b2ee70e1b2c7e82fcc6d0ccf23ea"
Patrick Williams03514f12024-04-05 07:04:11 -050015
Patrick Williams73bd93f2024-02-20 08:07:48 -060016PV = "1.0+git"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050017
Patrick Williams03514f12024-04-05 07:04:11 -050018SRC_URI = "git://github.com/mininet/openflow;protocol=https;branch=master \
19 file://0001-Check-and-use-strlcpy-from-libc-before-defining-own.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050020 file://0002-lib-netdev-Adjust-header-include-sequence.patch \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080021 file://0001-generate-not-static-get_dh-functions.patch \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050022 file://0001-socket-util-Include-sys-stat.h-for-fchmod.patch \
Patrick Williams73bd93f2024-02-20 08:07:48 -060023 file://0001-Makefile.am-Specify-export-dynamic-directly-to-linke.patch \
Patrick Williams03514f12024-04-05 07:04:11 -050024"
25CVE_STATUS[CVE-2015-1611] = "not-applicable-config: Not referred to our implementation of openflow"
26CVE_STATUS[CVE-2015-1612] = "not-applicable-config: Not referred to our implementation of openflow"
27CVE_STATUS[CVE-2018-1078] = "cpe-incorrect: This CVE is not for this product but cve-check assumes it is \
28because two CPE collides when checking the NVD database"
29
30PACKAGECONFIG ??= ""
31PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl, openssl openssl-native, libssl"
32
33EXTRA_OECONF += " \
34 KARCH=${TARGET_ARCH} \
35 ${@bb.utils.contains('PACKAGECONFIG', 'openssl', 'SSL_LIBS="-lssl -lcrypto"', '', d)} \
36 "
37
38DEPENDS:append:libc-musl = " libexecinfo"
39LDFLAGS:append:libc-musl = " -lexecinfo"
40
41S = "${WORKDIR}/git"
42
43inherit autotools-brokensep pkgconfig
44
45do_configure:prepend() {
46 ./boot.sh
47}
48
49do_install:append() {
50 # Remove /var/run as it is created on startup
51 rm -rf ${D}${localstatedir}/run
52
53 # /var/log/openflow needs to be created in runtime. Use rmdir to catch if
54 # upstream stops creating /var/log/openflow, or adds something else in
55 # /var/log.
56 rmdir ${D}${localstatedir}/log/${BPN} ${D}${localstatedir}/log
57 rmdir --ignore-fail-on-non-empty ${D}${localstatedir}
58
59 # Create /var/log/openflow in runtime.
60 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
61 install -d ${D}${nonarch_libdir}/tmpfiles.d
62 echo "d ${localstatedir}/log/${BPN} - - - -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf
63 fi
64 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then
65 install -d ${D}${sysconfdir}/default/volatiles
66 echo "d root root 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN}
67 fi
68}
69
70FILES:${PN} += "${nonarch_libdir}/tmpfiles.d"