dev-libs/open62541: Add version v1.1.1

Package-Manager: Portage-2.3.99, Repoman-2.3.23
Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
This commit is contained in:
Kurt Kanzenbach
2020-07-16 19:12:29 +02:00
parent 513031fe52
commit 4e77177d99
5 changed files with 282 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST open62541-1.0.1.tar.gz 2689199 BLAKE2B ad2932a9e42cda5a5ef29904e740ff1cfb0d3e3d481f1d15ba0b1e67c8b42fae11774f28f9b8d8abf8b78400d1c3aea5dfe75a32fb70a303f5378ab5915bc337 SHA512 9fb0af8befba4d7c376ecd98dfab9033439e0a0594e7e3f48b6df54749af482a4e70a7aa077c49202fd704520bb433a7598fc9f9297a5ff12cb7a019176c4031
DIST open62541-1.1.1.tar.gz 2916122 BLAKE2B a3230911bfeaf54282b687293afc82e9d66f93250707cbdf2e2fc2141b8737153d182a7199a7fc677e5e625c17454d16f434923837554a4f79ba7c4d5013312d SHA512 5b4dacf25de6c20311de52feb0ea791779b8a9ccb894341786e63e740367ec1e8d91b984b670b1a58d62ea160d7384fedb3ff50cabbc93d76c95c330507afc57
DIST open62541-1.1.tar.gz 2931184 BLAKE2B 817caad357e25bb70c548e7367ee75c358f40c27e5fde6b2edf6fe935289f58c40aa232565f0da5ba8ba6bcaf7138ce835232b649f10c2c9dee9618421eca6d8 SHA512 cf4d28de9534069600cdd3b20e837cdfbdeb46d4da59ad70fa8ad60fa1cd7fd02216cd0b818e8ece8dedb77de1986608817ab5f015e2ac0a806d5d8ba20a1765

View File

@@ -0,0 +1,43 @@
From 8cac173827297e936a24b4bdfe73f2498dfe483a Mon Sep 17 00:00:00 2001
From: Kurt Kanzenbach <kurt@kmk-computers.de>
Date: Sun, 12 Jul 2020 10:57:08 +0200
Subject: [PATCH 3/3] etf: Fix compiler warning/build error in etf plugin
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix the following warning/error:
|In function snprintf,
| inlined from UA_PubSubChannelEthernetETF_open at /var/tmp/portage/dev-libs/open62541-1.1/work/open62541-1.1/plugins/ua_pubsub_ethernet_etf.c:189:5,
| inlined from TransportLayerEthernetETF_addChannel at /var/tmp/portage/dev-libs/open62541-1.1/work/open62541-1.1/plugins/ua_pubsub_ethernet_etf.c:563:40:
|/usr/include/bits/stdio2.h:67:10: error: __builtin___snprintf_chk specified bound 40 exceeds destination size 16 [-Werror=stringop-overflow=]
| 67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 68 | __bos (__s), __fmt, __va_arg_pack ());
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
By using the correct size.
Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
---
plugins/ua_pubsub_ethernet_etf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/ua_pubsub_ethernet_etf.c b/plugins/ua_pubsub_ethernet_etf.c
index 416b5857945a..d55eb363e3b5 100644
--- a/plugins/ua_pubsub_ethernet_etf.c
+++ b/plugins/ua_pubsub_ethernet_etf.c
@@ -186,7 +186,7 @@ UA_PubSubChannelEthernetETF_open(const UA_PubSubConnectionConfig *connectionConf
struct ifreq ifreq;
memset(&ifreq, 0, sizeof(struct ifreq));
UA_UInt64 len = UA_MIN(address->networkInterface.length, sizeof(ifreq.ifr_name)-1);
- UA_snprintf(ifreq.ifr_name, sizeof(struct ifreq),
+ UA_snprintf(ifreq.ifr_name, sizeof(ifreq.ifr_name),
"%.*s", (int)len,
(char*)address->networkInterface.data);
--
2.26.2

View File

@@ -0,0 +1,36 @@
From a5697f1eb69822e172bc31d1549222c8ca718844 Mon Sep 17 00:00:00 2001
From: Kurt Kanzenbach <kurt@kmk-computers.de>
Date: Sun, 12 Jul 2020 10:39:31 +0200
Subject: [PATCH 2/3] cmake: Install ETF and XDP plugin headers
When the corresponding features are enabled, the headers should be installed as
well.
Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
---
CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d7417c88088b..8f87c5d998c6 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -861,6 +861,7 @@ if(UA_ENABLE_PUBSUB)
list(APPEND default_plugin_headers ${PROJECT_SOURCE_DIR}/plugins/include/open62541/plugin/pubsub_udp.h)
list(APPEND default_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_pubsub_udp.c)
if(UA_ENABLE_PUBSUB_ETH_UADP_ETF)
+ list(APPEND default_plugin_headers ${PROJECT_SOURCE_DIR}/plugins/include/open62541/plugin/pubsub_ethernet_etf.h)
list(APPEND default_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_pubsub_ethernet_etf.c)
endif()
if(UA_ENABLE_PUBSUB_ETH_UADP)
@@ -870,6 +871,7 @@ if(UA_ENABLE_PUBSUB)
if(UA_ENABLE_PUBSUB_ETH_UADP_XDP)
if(EXISTS "${XDP_LIBRARY}")
list(APPEND open62541_LIBRARIES ${XDP_LIBRARY})
+ list(APPEND default_plugin_headers ${PROJECT_SOURCE_DIR}/plugins/include/open62541/plugin/pubsub_ethernet_xdp.h)
list(APPEND default_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_pubsub_ethernet_xdp.c)
else()
MESSAGE(WARNING "samples in bpf-next directory were not built. Build the bpf-next to use XDP")
--
2.26.2

View File

@@ -0,0 +1,104 @@
From ab9a4a1c826bb662816f71020054ba2558afefc7 Mon Sep 17 00:00:00 2001
From: Kurt Kanzenbach <kurt@kmk-computers.de>
Date: Sat, 20 Jun 2020 14:28:57 +0200
Subject: [PATCH 1/3] cmake: pubsub: Disable failing tests within portage
The Pub/Sub tests won't work within portage. Disable them.
Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
---
tests/CMakeLists.txt | 78 --------------------------------------------
1 file changed, 78 deletions(-)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index c73b2b04520b..fb21fb856ba4 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -331,84 +331,6 @@ if(UA_ENABLE_DISCOVERY)
add_test_valgrind(discovery ${TESTS_BINARY_DIR}/check_discovery)
endif()
-if(UA_ENABLE_PUBSUB)
- add_executable(check_pubsub_encoding pubsub/check_pubsub_encoding.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
- target_link_libraries(check_pubsub_encoding ${LIBS})
- add_test_valgrind(pubsub_encoding ${TESTS_BINARY_DIR}/check_pubsub_encoding)
- add_executable(check_pubsub_pds pubsub/check_pubsub_pds.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_pds ${LIBS})
- add_test_valgrind(pubsub_pds ${TESTS_BINARY_DIR}/check_pubsub_pds)
- add_executable(check_pubsub_connection_udp pubsub/check_pubsub_connection_udp.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_connection_udp ${LIBS})
- add_test_valgrind(pubsub_connection_udp ${TESTS_BINARY_DIR}/check_pubsub_connection_udp)
- add_executable(check_pubsub_publish pubsub/check_pubsub_publish.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_publish ${LIBS})
- add_test_valgrind(pubsub_publish ${TESTS_BINARY_DIR}/check_pubsub_publish)
- add_executable(check_pubsub_publish_uadp pubsub/check_pubsub_publish_uadp.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_publish_uadp ${LIBS})
- add_test_valgrind(pubsub_publish ${TESTS_BINARY_DIR}/check_pubsub_publish_uadp)
-
- #Link libraries for executing subscriber unit test
- add_executable(check_pubsub_subscribe pubsub/check_pubsub_subscribe.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_subscribe ${LIBS})
- add_executable(check_pubsub_publishspeed pubsub/check_pubsub_publishspeed.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_publishspeed ${LIBS})
- add_test_valgrind(pubsub_publishspeed ${TESTS_BINARY_DIR}/check_pubsub_publish)
- add_executable(check_pubsub_config_freeze pubsub/check_pubsub_config_freeze.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_config_freeze ${LIBS})
- add_test_valgrind(check_pubsub_config_freeze ${TESTS_BINARY_DIR}/check_pubsub_config_freeze)
- add_executable(check_pubsub_publish_rt_levels pubsub/check_pubsub_publish_rt_levels.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_publish_rt_levels ${LIBS})
- add_test_valgrind(check_pubsub_publish_rt_levels ${TESTS_BINARY_DIR}/check_pubsub_publish_rt_levels)
-
- add_executable(check_pubsub_multiple_layer pubsub/check_pubsub_multiple_layer.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_multiple_layer ${LIBS})
- add_test_valgrind(pubsub_multiple_layer ${TESTS_BINARY_DIR}/check_pubsub_multiple_layer)
-
- if(UA_ENABLE_PUBSUB_ETH_UADP)
- if(NOT UA_ENABLE_PUBSUB_ETH_UADP_ETF)
- add_executable(check_pubsub_connection_ethernet pubsub/check_pubsub_connection_ethernet.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_connection_ethernet ${LIBS})
- add_test_valgrind(pubsub_connection_ethernet ${TESTS_BINARY_DIR}/check_pubsub_connection_ethernet)
- add_executable(check_pubsub_publish_ethernet pubsub/check_pubsub_publish_ethernet.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_publish_ethernet ${LIBS})
- add_test_valgrind(pubsub_publish_ethernet ${TESTS_BINARY_DIR}/check_pubsub_publish_ethernet)
- endif()
- if(UA_ENABLE_PUBSUB_ETH_UADP_XDP)
- add_executable(check_pubsub_connection_xdp pubsub/check_pubsub_connection_xdp.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_connection_xdp ${LIBS})
- add_test_valgrind(pubsub_connection_xdp ${TESTS_BINARY_DIR}/check_pubsub_connection_xdp)
- endif()
- endif()
- if(UA_ENABLE_PUBSUB_ETH_UADP_ETF)
- add_executable(check_pubsub_connection_ethernet_etf pubsub/check_pubsub_connection_ethernet_etf.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_connection_ethernet_etf ${LIBS})
- add_test_valgrind(pubsub_connection_ethernet_etf ${TESTS_BINARY_DIR}/check_pubsub_connection_ethernet_etf)
- add_executable(check_pubsub_publish_ethernet_etf pubsub/check_pubsub_publish_ethernet_etf.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_publish_ethernet_etf ${LIBS})
- add_test_valgrind(pubsub_publish_ethernet_etf ${TESTS_BINARY_DIR}/check_pubsub_publish_ethernet_etf)
- endif()
-
- if(UA_ENABLE_PUBSUB_INFORMATIONMODEL)
- add_executable(check_pubsub_informationmodel pubsub/check_pubsub_informationmodel.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_informationmodel ${LIBS})
- add_test_valgrind(check_pubsub_informationmodel ${TESTS_BINARY_DIR}/check_pubsub_informationmodel)
- if(UA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS)
- add_executable(check_pubsub_informationmodel_methods pubsub/check_pubsub_informationmodel_methods.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_informationmodel_methods ${LIBS})
- add_test_valgrind(check_pubsub_informationmodel_methods ${TESTS_BINARY_DIR}/check_pubsub_informationmodel_methods)
-
- endif()
- endif()
- if(UA_ENABLE_PUBSUB_MQTT)
- if(NOT WIN32)
- add_executable(check_pubsub_connection_mqtt pubsub/check_pubsub_connection_mqtt.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
- target_link_libraries(check_pubsub_connection_mqtt ${LIBS})
- add_test_valgrind(pubsub_connection_mqtt ${TESTS_BINARY_DIR}/check_pubsub_connection_mqtt)
- endif()
- endif()
-endif()
-
add_executable(check_server_readspeed server/check_server_readspeed.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
target_link_libraries(check_server_readspeed ${LIBS})
add_test_no_valgrind(server_readspeed ${TESTS_BINARY_DIR}/check_server_readspeed)
--
2.26.2

View File

@@ -0,0 +1,98 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6..8} )
inherit cmake python-single-r1
DESCRIPTION="Open source C implementation of OPC UA"
HOMEPAGE="https://open62541.org/"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="doc encryption examples etf mbedtls pubsub openssl test tools xdp"
RESTRICT="!test? ( test )"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
encryption? ( || ( mbedtls openssl ) )
etf? ( pubsub )
xdp? ( pubsub )
"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
doc? (
media-gfx/graphviz
$(python_gen_cond_dep '
dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_MULTI_USEDEP}]
')
)
test? (
dev-libs/check
dev-util/valgrind
$(python_gen_cond_dep '
dev-python/subunit[${PYTHON_MULTI_USEDEP}]
')
)
"
DEPEND="
mbedtls? ( net-libs/mbedtls:= )
openssl? ( dev-libs/openssl:0= )
"
RDEPEND="
${PYTHON_DEPS}
${DEPEND}
"
PATCHES=(
"${FILESDIR}/${P}-etf.patch"
"${FILESDIR}/${P}-headers.patch"
"${FILESDIR}/${P}-tests.patch"
)
src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DOPEN62541_VERSION=v${PV}
-DUA_BUILD_EXAMPLES=OFF
-DUA_BUILD_TOOLS=$(usex tools)
-DUA_BUILD_UNIT_TESTS=$(usex test)
-DUA_ENABLE_ENCRYPTION=$(usex encryption)
-DUA_ENABLE_ENCRYPTION_MBEDTLS=$(usex mbedtls)
-DUA_ENABLE_ENCRYPTION_OPENSSL=$(usex openssl)
-DUA_ENABLE_PUBSUB=$(usex pubsub)
-DUA_ENABLE_PUBSUB_ETH_UADP=$(usex pubsub)
-DUA_ENABLE_PUBSUB_ETH_UADP_ETF=$(usex etf)
-DUA_ENABLE_PUBSUB_ETH_UADP_XDP=$(usex xdp)
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
use doc && cmake_build doc
}
src_install() {
use doc && local HTML_DOCS=( "${WORKDIR}"/${P}_build/doc/. )
cmake_src_install
if use examples; then
docompress -x /usr/share/doc/${PF}/examples
dodoc -r examples/
fi
python_fix_shebang "${ED}"
}
src_test() {
cmake_src_test -j1
}