From 74d3d9c2be522d62852049142f768de520d2f626 Mon Sep 17 00:00:00 2001 From: Gyorgy Sarvari Date: Wed, 8 Oct 2025 21:42:19 +0200 Subject: libiec61850: upgrade 1.5.3 -> 1.6.1 This update contains a fix for CVE-2024-26529, CVE-2024-45970 and CVE-2024-45971 Changelog: https://github.com/mz-automation/libiec61850/blob/v1.6/CHANGELOG Signed-off-by: Gyorgy Sarvari Signed-off-by: Khem Raj --- ...Use-CMAKE_INSTALL_LIBDIR-from-GNUInstallD.patch | 24 ++++++++----- ...don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch | 39 ---------------------- .../libiec61850/libiec61850_1.5.3.bb | 37 -------------------- .../libiec61850/libiec61850_1.6.1.bb | 37 ++++++++++++++++++++ 4 files changed, 52 insertions(+), 85 deletions(-) delete mode 100644 meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch delete mode 100644 meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.3.bb create mode 100644 meta-networking/recipes-connectivity/libiec61850/libiec61850_1.6.1.bb diff --git a/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-Use-CMAKE_INSTALL_LIBDIR-from-GNUInstallD.patch b/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-Use-CMAKE_INSTALL_LIBDIR-from-GNUInstallD.patch index e778e8158b..a33a6248a7 100644 --- a/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-Use-CMAKE_INSTALL_LIBDIR-from-GNUInstallD.patch +++ b/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-Use-CMAKE_INSTALL_LIBDIR-from-GNUInstallD.patch @@ -7,7 +7,7 @@ Subject: [PATCH] pyiec61850: Use CMAKE_INSTALL_LIBDIR from GNUInstallDirs in This ensures that it gets installed in platform specified system libdir all platforms do not use /usr/lib as assumed here e.g. ppc64 uses lib64 -Upstream-Status: Submitted [https://github.com/mz-automation/libiec61850/pull/376] +Upstream-Status: Denied [https://github.com/mz-automation/libiec61850/pull/376 - closed without a word] Signed-off-by: Khem Raj --- pyiec61850/CMakeLists.txt | 6 ++++-- @@ -15,15 +15,21 @@ Signed-off-by: Khem Raj --- a/pyiec61850/CMakeLists.txt +++ b/pyiec61850/CMakeLists.txt -@@ -31,7 +31,9 @@ endif() +@@ -31,14 +31,9 @@ swig_add_library(pyiec61850 - swig_link_libraries(iec61850 ${PYTHON_LIBRARIES} ${LIBS}) + swig_link_libraries(pyiec61850 ${LIBS}) --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) --install(TARGETS _iec61850 LIBRARY DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) +-# Finding python modules install path +-execute_process( +- COMMAND ${Python_EXECUTABLE} -c +- "from sysconfig import get_path; import sys; sys.stdout.write(get_path('platlib'))" +- OUTPUT_VARIABLE PYTHON_SITE_DIR +-) +include(GNUInstallDirs) -+ -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) -+install(TARGETS _iec61850 LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}//python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) - add_test(test_pyiec61850 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py) +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pyiec61850.py DESTINATION ${PYTHON_SITE_DIR}) +-install(TARGETS pyiec61850 LIBRARY DESTINATION ${PYTHON_SITE_DIR}) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pyiec61850.py DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages) ++install(TARGETS pyiec61850 LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages) + + add_test(test_pyiec61850 ${Python_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py) diff --git a/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch b/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch deleted file mode 100644 index 3f0490cb80..0000000000 --- a/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d4ddfc7a350011b7944ed8d6bca80f164dfd1387 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 10 Jul 2020 17:08:34 +0200 -Subject: [PATCH] pyiec61850: don't break CMAKE_INSTALL_PATH by trying to find - python modules install path (site-packages) - -https://stackoverflow.com/questions/1242904/finding-python-site-packages-directory-with-cmake - -Signed-off-by: Romain Naour ---- -Upstream-Status: Pending - - pyiec61850/CMakeLists.txt | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -diff --git a/pyiec61850/CMakeLists.txt b/pyiec61850/CMakeLists.txt -index 159ef4b..d1732a1 100644 ---- a/pyiec61850/CMakeLists.txt -+++ b/pyiec61850/CMakeLists.txt -@@ -31,14 +31,7 @@ endif() - - swig_link_libraries(iec61850 ${PYTHON_LIBRARIES} ${LIBS}) - --# Finding python modules install path --execute_process( -- COMMAND ${PYTHON_EXECUTABLE} -c -- "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())" -- OUTPUT_VARIABLE PYTHON_SITE_DIR --) -- --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION ${PYTHON_SITE_DIR}) --install(TARGETS _iec61850 LIBRARY DESTINATION ${PYTHON_SITE_DIR}) -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) -+install(TARGETS _iec61850 LIBRARY DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) - - add_test(test_pyiec61850 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py) --- -2.31.1 - diff --git a/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.3.bb b/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.3.bb deleted file mode 100644 index cfded66e41..0000000000 --- a/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.3.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Open source iec61850 implementation" -DESCRIPTION = "IEC 61850 is an international standard for \ -communication systems in Substation Automation Systems \ -(SAS) and management of Decentralized Energy Resources \ -(DER). It is seen as one of the communication standards \ -of the emerging Smart Grid. \ -The project libIEC61850 provides a server and client \ -library for the IEC 61850/MMS, IEC 61850/GOOSE and IEC \ -61850-9-2/Sampled Values communication protocols \ -written in C. It is available under the GPLv3 license." -HOMEPAGE = "http://libiec61850.com" -SECTION = "console/network" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -DEPENDS = "swig-native python3" -SRCREV = "6f557c490f0b46ab5d7ef1b01bb3bc9fab3f442f" - -SRC_URI = "git://github.com/mz-automation/${BPN}.git;branch=v1.5;protocol=https \ - file://0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch \ - file://0001-pyiec61850-Use-CMAKE_INSTALL_LIBDIR-from-GNUInstallD.patch \ -" - - -inherit cmake pkgconfig python3-dir python3native siteinfo - -EXTRA_OECMAKE = " \ - -DBUILD_EXAMPLES=OFF \ - -DBUILD_PYTHON_BINDINGS=ON \ -" - -RDEPENDS:${PN}-python = " python3-core " -RDEPENDS:${PN} = " python3-core " - -FILES:${PN} += " \ - ${PYTHON_SITEPACKAGES_DIR}/iec61850.py \ - ${PYTHON_SITEPACKAGES_DIR}/_iec61850.so \ -" diff --git a/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.6.1.bb b/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.6.1.bb new file mode 100644 index 0000000000..c46ed88d83 --- /dev/null +++ b/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.6.1.bb @@ -0,0 +1,37 @@ +SUMMARY = "Open source iec61850 implementation" +DESCRIPTION = "IEC 61850 is an international standard for \ +communication systems in Substation Automation Systems \ +(SAS) and management of Decentralized Energy Resources \ +(DER). It is seen as one of the communication standards \ +of the emerging Smart Grid. \ +The project libIEC61850 provides a server and client \ +library for the IEC 61850/MMS, IEC 61850/GOOSE and IEC \ +61850-9-2/Sampled Values communication protocols \ +written in C. It is available under the GPLv3 license." +HOMEPAGE = "http://libiec61850.com" +SECTION = "console/network" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "swig-native python3" +SRCREV = "a13961110b8238d2d8ea577c1fb7592ba3017ad8" + +SRC_URI = "git://github.com/mz-automation/${BPN}.git;branch=v1.6;protocol=https;tag=v${PV} \ + file://0001-pyiec61850-Use-CMAKE_INSTALL_LIBDIR-from-GNUInstallD.patch \ +" + + +inherit cmake pkgconfig python3-dir python3native siteinfo python3targetconfig + +EXTRA_OECMAKE = " \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_PYTHON_BINDINGS=ON \ + -DPYTHON_BASEVERSION=${PYTHON_BASEVERSION} \ +" + +RDEPENDS:${PN}-python = " python3-core " +RDEPENDS:${PN} = " python3-core " + +FILES:${PN} += " \ + ${PYTHON_SITEPACKAGES_DIR}/pyiec61850.py \ + ${PYTHON_SITEPACKAGES_DIR}/_pyiec61850.so \ +" -- cgit v1.2.3-54-g00ecf