xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "OpenFlow communications protocol"
2*4882a593SmuzhiyunDESCRIPTION = "\
3*4882a593SmuzhiyunOpen standard that enables researchers to run experimental protocols in \
4*4882a593Smuzhiyuncontained networks.  OpenFlow is a communications interface between \
5*4882a593Smuzhiyuncontrol and forwarding planes of a software-defined networking architecture.\
6*4882a593Smuzhiyun"
7*4882a593SmuzhiyunHOMEPAGE = "http://www.openflow.org"
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunSECTION = "net"
10*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=e870c934e2c3d6ccf085fd7cf0a1e2e2"
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunSRC_URI = "git://gitosis.stanford.edu/openflow.git;protocol=git;branch=master"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunCVE_CHECK_IGNORE = "\
17*4882a593Smuzhiyun    CVE-2015-1611 \
18*4882a593Smuzhiyun    CVE-2015-1612 \
19*4882a593Smuzhiyun"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunDEPENDS = "virtual/libc"
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunPACKAGECONFIG ??= ""
24*4882a593SmuzhiyunPACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl, openssl openssl-native, libssl"
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunEXTRA_OECONF += " \
27*4882a593Smuzhiyun                 KARCH=${TARGET_ARCH} \
28*4882a593Smuzhiyun                 ${@bb.utils.contains('PACKAGECONFIG', 'openssl', 'SSL_LIBS="-lssl -lcrypto"', '', d)} \
29*4882a593Smuzhiyun                "
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunS = "${WORKDIR}/git"
32*4882a593Smuzhiyun
33*4882a593Smuzhiyuninherit autotools-brokensep pkgconfig
34*4882a593Smuzhiyun
35*4882a593Smuzhiyundo_configure:prepend() {
36*4882a593Smuzhiyun    ./boot.sh
37*4882a593Smuzhiyun}
38*4882a593Smuzhiyun
39*4882a593Smuzhiyundo_install:append() {
40*4882a593Smuzhiyun    # Remove /var/run as it is created on startup
41*4882a593Smuzhiyun    rm -rf ${D}${localstatedir}/run
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun    # /var/log/openflow needs to be created in runtime. Use rmdir to catch if
44*4882a593Smuzhiyun    # upstream stops creating /var/log/openflow, or adds something else in
45*4882a593Smuzhiyun    # /var/log.
46*4882a593Smuzhiyun    rmdir ${D}${localstatedir}/log/${BPN} ${D}${localstatedir}/log
47*4882a593Smuzhiyun    rmdir --ignore-fail-on-non-empty ${D}${localstatedir}
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun    # Create /var/log/openflow in runtime.
50*4882a593Smuzhiyun    if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
51*4882a593Smuzhiyun        install -d ${D}${nonarch_libdir}/tmpfiles.d
52*4882a593Smuzhiyun        echo "d ${localstatedir}/log/${BPN} - - - -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf
53*4882a593Smuzhiyun    fi
54*4882a593Smuzhiyun    if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then
55*4882a593Smuzhiyun        install -d ${D}${sysconfdir}/default/volatiles
56*4882a593Smuzhiyun        echo "d root root 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN}
57*4882a593Smuzhiyun    fi
58*4882a593Smuzhiyun}
59*4882a593Smuzhiyun
60*4882a593SmuzhiyunFILES:${PN} += "${nonarch_libdir}/tmpfiles.d"
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun# This CVE is not for this product but cve-check assumes it is
63*4882a593Smuzhiyun# because two CPE collides when checking the NVD database
64*4882a593SmuzhiyunCVE_CHECK_IGNORE = "CVE-2018-1078"
65