From b7989c2dfba2d3c4c98992b9bf48b15cbcd3539b Mon Sep 17 00:00:00 2001 From: Pablo Rodriguez Quesada Date: Thu, 18 Jul 2024 21:30:56 +0200 Subject: [PATCH] contianer-runtime-csv: add CONTAINER_CSV_LIB_PATH variable that enables the change of the library path. This is to match the changes in https://github.com/OE4T/meta-tegra/pull/1194 and use the pass-through tree for libraries that need to be provided from the NVIDIA prebuilt packages. --- classes/container-runtime-csv.bbclass | 7 +++++++ .../gstreamer/gstreamer1.0-omx-tegra_1.0.0-r32.7.5.bb | 2 ++ .../gstreamer1.0-plugins-nvarguscamerasrc_1.0.0-r32.7.5.bb | 2 ++ .../gstreamer/gstreamer1.0-plugins-nvcompositor.inc | 2 ++ .../gstreamer1.0-plugins-nvdrmvideosink_1.14.0-r32.7.5.bb | 2 ++ .../gstreamer1.0-plugins-nveglgles_1.2.3-r32.7.5.bb | 2 ++ .../gstreamer1.0-plugins-nvjpeg_1.14.0-r32.7.5.bb | 2 ++ .../gstreamer/gstreamer1.0-plugins-nvtee_1.14.0-r32.7.5.bb | 2 ++ .../gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r32.7.5.bb | 2 ++ .../gstreamer/gstreamer1.0-plugins-nvvidconv.inc | 2 ++ .../gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r32.7.5.bb | 2 ++ .../gstreamer1.0-plugins-nvvideosinks_1.14.0-r32.7.5.bb | 2 ++ recipes-multimedia/libv4l2/libv4l2-minimal_1.18.0.bb | 1 + .../libv4l2/libv4l2-nvvidconv-wrapper_git.bb | 2 ++ 14 files changed, 32 insertions(+) diff --git a/classes/container-runtime-csv.bbclass b/classes/container-runtime-csv.bbclass index d726475147526..0097fed555400 100644 --- a/classes/container-runtime-csv.bbclass +++ b/classes/container-runtime-csv.bbclass @@ -48,6 +48,13 @@ python populate_container_csv() { else: bb.warn("Unrecognized file type for container CSV: {}".format(entry)) continue + # CONTAINER_CSV_LIB_PATH can be set to /usr/lib/aarch64-linux-gnu/ to avoid glibc version mismatch + # See the l4t.csv file at https://github.com/OE4T/meta-tegra/pull/1194 + # It's done differently because in this version of the code the csv file is generated and not statically defined + custom_lib_path = d.getVar('CONTAINER_CSV_LIB_PATH') + if custom_lib_path: + if entry.startswith('/usr/lib/') and not entry.startswith('/usr/lib/aarch64-linux-gnu/'): + entry = entry.replace('/usr/lib/', custom_lib_path) csvlines.append("{}, /{}".format(csvtype, entry)) os.chdir(oldcwd) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-omx-tegra_1.0.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-omx-tegra_1.0.0-r32.7.5.bb index 0d9acb72ad65a..b82ba976e3382 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-omx-tegra_1.0.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-omx-tegra_1.0.0-r32.7.5.bb @@ -33,6 +33,8 @@ inherit autotools pkgconfig gettext container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" do_configure:append() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvarguscamerasrc_1.0.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvarguscamerasrc_1.0.0-r32.7.5.bb index fb7bda84fd183..fe8c4bf6f2e14 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvarguscamerasrc_1.0.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvarguscamerasrc_1.0.0-r32.7.5.bb @@ -23,6 +23,8 @@ inherit pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" do_install() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvcompositor.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvcompositor.inc index 729a62a4a0eea..bf9ccf8128389 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvcompositor.inc +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvcompositor.inc @@ -18,6 +18,8 @@ inherit pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" do_install() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvdrmvideosink_1.14.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvdrmvideosink_1.14.0-r32.7.5.bb index 3cf2eb4fb1b70..1c17f798c532a 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvdrmvideosink_1.14.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvdrmvideosink_1.14.0-r32.7.5.bb @@ -19,6 +19,8 @@ inherit pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" CFLAGS:append = " -fpic" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nveglgles_1.2.3-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nveglgles_1.2.3-r32.7.5.bb index f98c93c9a2638..282c749ed8dc6 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nveglgles_1.2.3-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nveglgles_1.2.3-r32.7.5.bb @@ -33,6 +33,8 @@ inherit autotools gtk-doc gettext gobject-introspection pkgconfig container-runt REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/*.so* ${libdir}/gstreamer-1.0/*.so*" delete_pkg_m4_file() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvjpeg_1.14.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvjpeg_1.14.0-r32.7.5.bb index f8d2d8860598c..ccf7903689649 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvjpeg_1.14.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvjpeg_1.14.0-r32.7.5.bb @@ -19,6 +19,8 @@ inherit autotools gtk-doc gettext pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" PACKAGES_DYNAMIC = "^${PN}-.*" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvtee_1.14.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvtee_1.14.0-r32.7.5.bb index 8a562d220961d..144225b7dea33 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvtee_1.14.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvtee_1.14.0-r32.7.5.bb @@ -14,6 +14,8 @@ S = "${WORKDIR}/gst-nvtee" inherit pkgconfig container-runtime-csv +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" do_install() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r32.7.5.bb index 35fcded10a0dc..e0c278f9dd3cf 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r32.7.5.bb @@ -25,6 +25,8 @@ inherit pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" do_install() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvidconv.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvidconv.inc index ba391bc5214c2..e6a077b8ef2e9 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvidconv.inc +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvidconv.inc @@ -21,6 +21,8 @@ inherit pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" do_install() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r32.7.5.bb index 236a5e52cd46f..fa9bbd50818ee 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r32.7.5.bb @@ -33,6 +33,8 @@ inherit gettext pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" copy_headers() { diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideosinks_1.14.0-r32.7.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideosinks_1.14.0-r32.7.5.bb index 5438a4998c416..87af95a4fed2f 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideosinks_1.14.0-r32.7.5.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideosinks_1.14.0-r32.7.5.bb @@ -20,6 +20,8 @@ S = "${WORKDIR}/gst-plugins-nv-video-sinks" inherit gettext pkgconfig container-runtime-csv cuda features_check +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/gstreamer-1.0/*.so*" EXTRA_OEMAKE = "CUDA_VER=${CUDA_VERSION}" diff --git a/recipes-multimedia/libv4l2/libv4l2-minimal_1.18.0.bb b/recipes-multimedia/libv4l2/libv4l2-minimal_1.18.0.bb index aba0837a5fdab..c6a99353257a9 100644 --- a/recipes-multimedia/libv4l2/libv4l2-minimal_1.18.0.bb +++ b/recipes-multimedia/libv4l2/libv4l2-minimal_1.18.0.bb @@ -29,6 +29,7 @@ do_install:append:tegra() { } CONTAINER_CSV_BASENAME = "libv4l" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" CONTAINER_CSV_FILES = "${libdir}/*.so* ${libdir}/libv4l/ov* ${libdir}/libv4l/*.so" PACKAGES =+ "libv4l libv4l-dev" diff --git a/recipes-multimedia/libv4l2/libv4l2-nvvidconv-wrapper_git.bb b/recipes-multimedia/libv4l2/libv4l2-nvvidconv-wrapper_git.bb index 60faaa7a7834b..4ed1c2df5625a 100644 --- a/recipes-multimedia/libv4l2/libv4l2-nvvidconv-wrapper_git.bb +++ b/recipes-multimedia/libv4l2/libv4l2-nvvidconv-wrapper_git.bb @@ -19,6 +19,8 @@ inherit cmake pkgconfig container-runtime-csv features_check REQUIRED_DISTRO_FEATURES = "opengl" +CONTAINER_CSV_LIB_PATH = "/usr/lib/aarch64-linux-gnu/" + CONTAINER_CSV_FILES = "${libdir}/libv4l/plugins/*.so*" FILES:${PN} = "${libdir}/libv4l/plugins/*${SOLIBSDEV}"