From 1c7d6584a7811b7785ae5c1e378f14b5ba0971cf Mon Sep 17 00:00:00 2001 From: takeshi_hoshina Date: Mon, 2 Nov 2020 11:07:33 +0900 Subject: basesystem-jj recipes --- .../freediameter/freediameter_1.3.2.bb | 139 +++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb (limited to 'external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb') diff --git a/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb b/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb new file mode 100644 index 00000000..385b8b37 --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb @@ -0,0 +1,139 @@ +SUMMARY = "An open source implementation of the diameter protocol" +DESCRIPTION = "\ +freeDiameter is an open source Diameter protocol implementation \ +(RFC3588). It provides an extensible platform for deploying a \ +Diameter network for your Authentication, Authorization and \ +Accounting needs." + +HOMEPAGE = "http://www.freediameter.net" + +DEPENDS = "flex bison cmake-native libgcrypt gnutls libidn lksctp-tools virtual/kernel bison-native" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +fd_pkgname = "freeDiameter" + +SRC_URI = "\ + http://www.freediameter.net/hg/${fd_pkgname}/archive/${PV}.tar.gz;downloadfilename=${fd_pkgname}-${PV}.tar.gz \ + file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \ + file://freediameter.service \ + file://freediameter.init \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \ + file://freeDiameter.conf \ + file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \ + " + +SRC_URI[md5sum] = "73ce230b4789f9f28fff77cbc83c65af" +SRC_URI[sha256sum] = "ce05b4bf2a04cd2f472e77ba4b86fbfca690bfc83e51da8ce0e575804b763eda" + +S = "${WORKDIR}/${fd_pkgname}-${PV}" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=69bdc1d97648a2d35914563fcbbb361a" + +PTEST_PATH = "${libdir}/${fd_pkgname}/ptest" + +inherit cmake pkgconfig update-rc.d ptest systemd + +EXTRA_OECMAKE = " \ + -DDEFAULT_CONF_PATH:PATH=${sysconfdir}/${fd_pkgname} \ + -DBUILD_DBG_MONITOR:BOOL=ON \ + -DBUILD_TEST_APP:BOOL=ON \ + -DBUILD_TESTING:BOOL=ON \ + -DBUILD_APP_RADGW:BOOL=ON \ + -DBUILD_APP_REDIRECT:BOOL=ON \ + -DBUILD_TEST_ACCT:BOOL=ON \ + -DBUILD_TEST_NETEMUL:BOOL=ON \ + -DBUILD_TEST_RT_ANY:BOOL=ON \ + -DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \ + -DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \ + -DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \ + -DCMAKE_SKIP_RPATH:BOOL=ON \ +" +# INSTALL_LIBRARY_SUFFIX is relative to CMAKE_INSTALL_PREFIX +# specify it on cmd line will fix the SET bug in CMakeList.txt + +# -DBUILD_APP_ACCT:BOOL=ON This needs POSTGRESQL support + +# -DBUILD_APP_DIAMEAP:BOOL=ON -DBUILD_APP_SIP:BOOL=ON -DBUILD_TEST_SIP:BOOL=ON +# These need MySQL support + +# -DBUILD_DBG_INTERACTIVE:BOOL=ON This needs SWIG support + +# -DALL_EXTENSIONS=ON will enable all + +FD_KEY ?="${BPN}.key" +FD_PEM ?= "${BPN}.pem" +FD_CA ?= "${BPN}.pem" +FD_DH_PEM ?= "${BPN}-dh.pem" +FD_HOSTNAME ?= "${MACHINE}" +FD_REALM ?= "openembedded.org" + +do_install_append() { + # install the sample configuration files + install -d -m 0755 ${D}${sysconfdir}/${fd_pkgname} + for i in ${S}/doc/*.conf.sample; do + install -m 0644 $i ${D}${sysconfdir}/${fd_pkgname}/ + done + mv ${D}${sysconfdir}/${fd_pkgname}/freediameter.conf.sample \ + ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf.sample + install -d ${D}${sysconfdir}/freeDiameter + install ${WORKDIR}/freeDiameter.conf ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf + + # install daemon init related files + install -d -m 0755 ${D}${sysconfdir}/default + install -d -m 0755 ${D}${sysconfdir}/init.d + install -m 0644 ${S}/contrib/debian/freediameter-daemon.default \ + ${D}${sysconfdir}/default/${BPN} + install -m 0755 ${WORKDIR}/freediameter.init ${D}${sysconfdir}/init.d/${BPN} + + # install for systemd + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/freediameter.service ${D}${systemd_system_unitdir} + sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/*.service + + cat >> ${D}${sysconfdir}/freeDiameter/freeDiameter.conf <