Upgrade gstreamer to 1.20
Upgrade gstreamer for amd64 and arm64 to the latest release from
Debian 12. Also includes notes on the backporting procedure used
to generate the packages. Don't bother with upgrading 32 bit arm
since we aren't actively supporting it.
Change-Id: I0a0ba6f08c1b8779522837ce70a12a4d83e0cf8c
Signed-off-by: Tyler Chatow <tchatow@gmail.com>
diff --git a/debian/gstreamer.BUILD b/debian/gstreamer.BUILD
index b203772..8b58634 100644
--- a/debian/gstreamer.BUILD
+++ b/debian/gstreamer.BUILD
@@ -1,85 +1,233 @@
load("@//tools/build_rules:select.bzl", "cpu_select")
+_common_srcs_list = [
+ "lib/%s/libcap.so.2",
+ "lib/%s/libdbus-1.so.3",
+ "lib/%s/libexpat.so.1",
+ "lib/%s/libgpg-error.so.0",
+ "lib/%s/libpcre.so.3",
+ "usr/lib/%s/blas/libblas.so.3",
+ "usr/lib/%s/gstreamer-1.0/libgstapp.so",
+ "usr/lib/%s/gstreamer-1.0/libgstcoreelements.so",
+ "usr/lib/%s/gstreamer-1.0/libgstdtls.so",
+ "usr/lib/%s/gstreamer-1.0/libgstnice.so",
+ "usr/lib/%s/gstreamer-1.0/libgstrtp.so",
+ "usr/lib/%s/gstreamer-1.0/libgstrtpmanager.so",
+ "usr/lib/%s/gstreamer-1.0/libgstsrtp.so",
+ "usr/lib/%s/gstreamer-1.0/libgstv4l2codecs.so",
+ "usr/lib/%s/gstreamer-1.0/libgstvideo4linux2.so",
+ "usr/lib/%s/gstreamer-1.0/libgstvideoconvert.so",
+ "usr/lib/%s/gstreamer-1.0/libgstvideoparsersbad.so",
+ "usr/lib/%s/gstreamer-1.0/libgstvideorate.so",
+ "usr/lib/%s/gstreamer-1.0/libgstvideoscale.so",
+ "usr/lib/%s/gstreamer-1.0/libgstvideotestsrc.so",
+ "usr/lib/%s/gstreamer-1.0/libgstwebrtc.so",
+ "usr/lib/%s/gstreamer-1.0/libgstx264.so",
+ "usr/lib/%s/lapack/liblapack.so.3",
+ "usr/lib/%s/libEGL.so.1",
+ "usr/lib/%s/libGL.so.1",
+ "usr/lib/%s/libGLX.so.0",
+ "usr/lib/%s/libGLdispatch.so.0",
+ "usr/lib/%s/libHalf-2_5.so.25",
+ "usr/lib/%s/libIex-2_5.so.25",
+ "usr/lib/%s/libIlmImf-2_5.so.25",
+ "usr/lib/%s/libIlmThread-2_5.so.25",
+ "usr/lib/%s/libImath-2_5.so.25",
+ "usr/lib/%s/libX11-xcb.so.1",
+ "usr/lib/%s/libX11.so.6",
+ "usr/lib/%s/libXau.so.6",
+ "usr/lib/%s/libXcomposite.so.1",
+ "usr/lib/%s/libXcursor.so.1",
+ "usr/lib/%s/libXdamage.so.1",
+ "usr/lib/%s/libXdmcp.so.6",
+ "usr/lib/%s/libXext.so.6",
+ "usr/lib/%s/libXfixes.so.3",
+ "usr/lib/%s/libXi.so.6",
+ "usr/lib/%s/libXinerama.so.1",
+ "usr/lib/%s/libXrandr.so.2",
+ "usr/lib/%s/libXrender.so.1",
+ "usr/lib/%s/libaec.so.0",
+ "usr/lib/%s/libaom.so.0",
+ "usr/lib/%s/libarpack.so.2",
+ "usr/lib/%s/libatk-1.0.so.0",
+ "usr/lib/%s/libatk-bridge-2.0.so.0",
+ "usr/lib/%s/libatspi.so.0",
+ "usr/lib/%s/libblkid.so.1",
+ "usr/lib/%s/libbrotlicommon.so.1",
+ "usr/lib/%s/libbrotlidec.so.1",
+ "usr/lib/%s/libbsd.so.0",
+ "usr/lib/%s/libcairo-gobject.so.2",
+ "usr/lib/%s/libcairo.so.2",
+ "usr/lib/%s/libcfitsio.so.9",
+ "usr/lib/%s/libcharls.so.2",
+ "usr/lib/%s/libcurl-gnutls.so.4",
+ "usr/lib/%s/libcurl.so.4",
+ "usr/lib/%s/libdap.so.27",
+ "usr/lib/%s/libdapclient.so.6",
+ "usr/lib/%s/libdatrie.so.1",
+ "usr/lib/%s/libdav1d.so.4",
+ "usr/lib/%s/libde265.so.0",
+ "usr/lib/%s/libdeflate.so.0",
+ "usr/lib/%s/libdrm.so.2",
+ "usr/lib/%s/libdw.so.1",
+ "usr/lib/%s/libelf.so.1",
+ "usr/lib/%s/libepoxy.so.0",
+ "usr/lib/%s/libepsilon.so.1",
+ "usr/lib/%s/libffi.so.7",
+ "usr/lib/%s/libfontconfig.so.1",
+ "usr/lib/%s/libfreetype.so.6",
+ "usr/lib/%s/libfreexl.so.1",
+ "usr/lib/%s/libfribidi.so.0",
+ "usr/lib/%s/libfyba.so.0",
+ "usr/lib/%s/libfygm.so.0",
+ "usr/lib/%s/libfyut.so.0",
+ "usr/lib/%s/libgbm.so.1",
+ "usr/lib/%s/libgcrypt.so.20",
+ "usr/lib/%s/libgdcmCommon.so.3.0",
+ "usr/lib/%s/libgdcmDICT.so.3.0",
+ "usr/lib/%s/libgdcmDSED.so.3.0",
+ "usr/lib/%s/libgdcmIOD.so.3.0",
+ "usr/lib/%s/libgdcmMSFF.so.3.0",
+ "usr/lib/%s/libgdcmjpeg12.so.3.0",
+ "usr/lib/%s/libgdcmjpeg16.so.3.0",
+ "usr/lib/%s/libgdcmjpeg8.so.3.0",
+ "usr/lib/%s/libgdk-3.so.0",
+ "usr/lib/%s/libgdk_pixbuf-2.0.so.0",
+ "usr/lib/%s/libgeos-3.9.0.so",
+ "usr/lib/%s/libgeos_c.so.1",
+ "usr/lib/%s/libgeotiff.so.5",
+ "usr/lib/%s/libgfortran.so.5",
+ "usr/lib/%s/libgif.so.7",
+ "usr/lib/%s/libgio-2.0.so.0",
+ "usr/lib/%s/libglib-2.0.so.0",
+ "usr/lib/%s/libgmodule-2.0.so.0",
+ "usr/lib/%s/libgmp.so.10",
+ "usr/lib/%s/libgnutls.so.30",
+ "usr/lib/%s/libgobject-2.0.so.0",
+ "usr/lib/%s/libgraphite2.so.3",
+ "usr/lib/%s/libgssdp-1.2.so.0",
+ "usr/lib/%s/libgstallocators-1.0.so.0",
+ "usr/lib/%s/libgstapp-1.0.so.0",
+ "usr/lib/%s/libgstaudio-1.0.so.0",
+ "usr/lib/%s/libgstbase-1.0.so.0",
+ "usr/lib/%s/libgstcodecparsers-1.0.so.0",
+ "usr/lib/%s/libgstcodecs-1.0.so.0",
+ "usr/lib/%s/libgstgl-1.0.so.0",
+ "usr/lib/%s/libgstnet-1.0.so.0",
+ "usr/lib/%s/libgstpbutils-1.0.so.0",
+ "usr/lib/%s/libgstreamer-1.0.so.0",
+ "usr/lib/%s/libgstrtp-1.0.so.0",
+ "usr/lib/%s/libgstsctp-1.0.so.0",
+ "usr/lib/%s/libgstsdp-1.0.so.0",
+ "usr/lib/%s/libgsttag-1.0.so.0",
+ "usr/lib/%s/libgstvideo-1.0.so.0",
+ "usr/lib/%s/libgstwebrtc-1.0.so.0",
+ "usr/lib/%s/libgthread-2.0.so.0",
+ "usr/lib/%s/libgtk-3.so.0",
+ "usr/lib/%s/libgudev-1.0.so.0",
+ "usr/lib/%s/libgupnp-1.2.so.0",
+ "usr/lib/%s/libgupnp-igd-1.0.so.4",
+ "usr/lib/%s/libharfbuzz.so.0",
+ "usr/lib/%s/libhdf5_serial.so.103",
+ "usr/lib/%s/libhdf5_serial_hl.so.100",
+ "usr/lib/%s/libheif.so.1",
+ "usr/lib/%s/libhogweed.so.6",
+ "usr/lib/%s/libicudata.so.67",
+ "usr/lib/%s/libicui18n.so.67",
+ "usr/lib/%s/libicuuc.so.67",
+ "usr/lib/%s/libidn2.so.0",
+ "usr/lib/%s/libjbig.so.0",
+ "usr/lib/%s/libjpeg.so.62",
+ "usr/lib/%s/libjson-c.so.5",
+ "usr/lib/%s/libjson-glib-1.0.so.0",
+ "usr/lib/%s/libkmlbase.so.1",
+ "usr/lib/%s/libkmldom.so.1",
+ "usr/lib/%s/libkmlengine.so.1",
+ "usr/lib/%s/liblber-2.4.so.2",
+ "usr/lib/%s/liblcms2.so.2",
+ "usr/lib/%s/libldap_r-2.4.so.2",
+ "usr/lib/%s/libltdl.so.7",
+ "usr/lib/%s/liblz4.so.1",
+ "usr/lib/%s/libmariadb.so.3",
+ "usr/lib/%s/libmd.so.0",
+ "usr/lib/%s/libminizip.so.1",
+ "usr/lib/%s/libmount.so.1",
+ "usr/lib/%s/libnetcdf.so.18",
+ "usr/lib/%s/libnettle.so.8",
+ "usr/lib/%s/libnghttp2.so.14",
+ "usr/lib/%s/libnice.so.10",
+ "usr/lib/%s/libnspr4.so",
+ "usr/lib/%s/libnss3.so",
+ "usr/lib/%s/libnssutil3.so",
+ "usr/lib/%s/libodbc.so.2",
+ "usr/lib/%s/libodbcinst.so.2",
+ "usr/lib/%s/libopencv_core.so.4.5",
+ "usr/lib/%s/libopencv_highgui.so.4.5",
+ "usr/lib/%s/libopencv_imgcodecs.so.4.5",
+ "usr/lib/%s/libopencv_imgproc.so.4.5",
+ "usr/lib/%s/libopenjp2.so.7",
+ "usr/lib/%s/liborc-0.4.so.0",
+ "usr/lib/%s/libp11-kit.so.0",
+ "usr/lib/%s/libpango-1.0.so.0",
+ "usr/lib/%s/libpangocairo-1.0.so.0",
+ "usr/lib/%s/libpangoft2-1.0.so.0",
+ "usr/lib/%s/libpixman-1.so.0",
+ "usr/lib/%s/libplc4.so",
+ "usr/lib/%s/libplds4.so",
+ "usr/lib/%s/libpng16.so.16",
+ "usr/lib/%s/libpoppler.so.102",
+ "usr/lib/%s/libpq.so.5",
+ "usr/lib/%s/libproj.so.19",
+ "usr/lib/%s/libpsl.so.5",
+ "usr/lib/%s/libqhull.so.8.0",
+ "usr/lib/%s/librtmp.so.1",
+ "usr/lib/%s/librttopo.so.1",
+ "usr/lib/%s/libsasl2.so.2",
+ "usr/lib/%s/libsmime3.so",
+ "usr/lib/%s/libsoup-2.4.so.1",
+ "usr/lib/%s/libspatialite.so.7",
+ "usr/lib/%s/libsqlite3.so.0",
+ "usr/lib/%s/libsrtp2.so.1",
+ "usr/lib/%s/libssh2.so.1",
+ "usr/lib/%s/libsuperlu.so.5",
+ "usr/lib/%s/libsystemd.so.0",
+ "usr/lib/%s/libsz.so.2",
+ "usr/lib/%s/libtasn1.so.6",
+ "usr/lib/%s/libtbb.so.2",
+ "usr/lib/%s/libthai.so.0",
+ "usr/lib/%s/libtiff.so.5",
+ "usr/lib/%s/libudev.so.1",
+ "usr/lib/%s/libunistring.so.2",
+ "usr/lib/%s/liburiparser.so.1",
+ "usr/lib/%s/libuuid.so.1",
+ "usr/lib/%s/libv4l2.so.0",
+ "usr/lib/%s/libv4lconvert.so.0",
+ "usr/lib/%s/libvpx.so.6",
+ "usr/lib/%s/libwayland-client.so.0",
+ "usr/lib/%s/libwayland-cursor.so.0",
+ "usr/lib/%s/libwayland-egl.so.1",
+ "usr/lib/%s/libwayland-server.so.0",
+ "usr/lib/%s/libwebp.so.6",
+ "usr/lib/%s/libx264.so.160",
+ "usr/lib/%s/libx265.so.192",
+ "usr/lib/%s/libxcb-render.so.0",
+ "usr/lib/%s/libxcb-shm.so.0",
+ "usr/lib/%s/libxcb.so.1",
+ "usr/lib/%s/libxerces-c-3.2.so",
+ "usr/lib/%s/libxkbcommon.so.0",
+ "usr/lib/%s/libxml2.so.2",
+ "usr/lib/%s/libzstd.so.1",
+ "usr/lib/libarmadillo.so.10",
+ "usr/lib/libdfalt.so.0",
+ "usr/lib/libgdal.so.28",
+ "usr/lib/libmfhdfalt.so.0",
+ "usr/lib/libogdi.so.4.1",
+]
+
cc_library(
name = "gstreamer",
srcs = cpu_select({
- "amd64": [
- "lib/x86_64-linux-gnu/libblkid.so.1",
- "lib/x86_64-linux-gnu/libcom_err.so.2",
- "lib/x86_64-linux-gnu/libexpat.so.1",
- "lib/x86_64-linux-gnu/libkeyutils.so.1",
- "lib/x86_64-linux-gnu/liblzma.so.5",
- "lib/x86_64-linux-gnu/libmount.so.1",
- "lib/x86_64-linux-gnu/libpcre.so.3",
- "lib/x86_64-linux-gnu/libselinux.so.1",
- "lib/x86_64-linux-gnu/libudev.so.1",
- "lib/x86_64-linux-gnu/libuuid.so.1",
- "lib/x86_64-linux-gnu/libz.so.1",
- "usr/lib/x86_64-linux-gnu/libEGL.so.1",
- "usr/lib/x86_64-linux-gnu/libGL.so.1",
- "usr/lib/x86_64-linux-gnu/libGLX.so.0",
- "usr/lib/x86_64-linux-gnu/libGLdispatch.so.0",
- "usr/lib/x86_64-linux-gnu/libX11-xcb.so.1",
- "usr/lib/x86_64-linux-gnu/libX11.so.6",
- "usr/lib/x86_64-linux-gnu/libXau.so.6",
- "usr/lib/x86_64-linux-gnu/libXdmcp.so.6",
- "usr/lib/x86_64-linux-gnu/libatomic.so.1",
- "usr/lib/x86_64-linux-gnu/libbsd.so.0",
- "usr/lib/x86_64-linux-gnu/libdrm.so.2",
- "usr/lib/x86_64-linux-gnu/libffi.so.6",
- "usr/lib/x86_64-linux-gnu/libgbm.so.1",
- "usr/lib/x86_64-linux-gnu/libgio-2.0.so.0",
- "usr/lib/x86_64-linux-gnu/libglib-2.0.so",
- "usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgmp.so.10",
- "usr/lib/x86_64-linux-gnu/libgnutls.so.30",
- "usr/lib/x86_64-linux-gnu/libgobject-2.0.so",
- "usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2",
- "usr/lib/x86_64-linux-gnu/libgssdp-1.0.so.3",
- "usr/lib/x86_64-linux-gnu/libgstallocators-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstbadvideo-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstrtp-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstsdp-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgsttag-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgstwebrtc-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgudev-1.0.so.0",
- "usr/lib/x86_64-linux-gnu/libgupnp-1.0.so.4",
- "usr/lib/x86_64-linux-gnu/libgupnp-igd-1.0.so.4",
- "usr/lib/x86_64-linux-gnu/libhogweed.so.4",
- "usr/lib/x86_64-linux-gnu/libicudata.so.63",
- "usr/lib/x86_64-linux-gnu/libicui18n.so.63",
- "usr/lib/x86_64-linux-gnu/libicuuc.so.63",
- "usr/lib/x86_64-linux-gnu/libidn2.so.0",
- "usr/lib/x86_64-linux-gnu/libjpeg.so.62",
- "usr/lib/x86_64-linux-gnu/libk5crypto.so.3",
- "usr/lib/x86_64-linux-gnu/libkrb5.so.3",
- "usr/lib/x86_64-linux-gnu/libkrb5support.so.0",
- "usr/lib/x86_64-linux-gnu/libnettle.so.6",
- "usr/lib/x86_64-linux-gnu/libnice.so.10",
- "usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2",
- "usr/lib/x86_64-linux-gnu/liborc-0.4.so.0",
- "usr/lib/x86_64-linux-gnu/libp11-kit.so.0",
- "usr/lib/x86_64-linux-gnu/libpsl.so.5",
- "usr/lib/x86_64-linux-gnu/libsoup-2.4.so.1",
- "usr/lib/x86_64-linux-gnu/libsqlite3.so.0",
- "usr/lib/x86_64-linux-gnu/libtasn1.so.6",
- "usr/lib/x86_64-linux-gnu/libtbb.so.2",
- "usr/lib/x86_64-linux-gnu/libunistring.so.2",
- "usr/lib/x86_64-linux-gnu/libvpx.so.5",
- "usr/lib/x86_64-linux-gnu/libwayland-client.so.0",
- "usr/lib/x86_64-linux-gnu/libwayland-egl.so.1",
- "usr/lib/x86_64-linux-gnu/libwayland-server.so.0",
- "usr/lib/x86_64-linux-gnu/libx265.so.165",
- "usr/lib/x86_64-linux-gnu/libxcb.so.1",
- "usr/lib/x86_64-linux-gnu/libxml2.so.2",
- ],
+ "amd64": [s % "x86_64-linux-gnu" if "%" in s else s for s in _common_srcs_list],
"roborio": [
],
"armhf": [
@@ -159,34 +307,42 @@
"usr/lib/arm-linux-gnueabihf/libxcb.so.1",
"usr/lib/arm-linux-gnueabihf/libxml2.so.2",
],
- "arm64": [],
+ "arm64": [s % "aarch64-linux-gnu" if "%" in s else s for s in _common_srcs_list],
"cortex-m": [],
"cortex-m0plus": [],
}),
hdrs = glob([
+ "usr/lib/aarch64-linux-gnu/glib-2.0/include/**/*.h",
+ "usr/lib/arm-linux-gnueabihf/glib-2.0/include/**/*.h",
"usr/lib/x86_64-linux-gnu/glib-2.0/include/**/*.h",
"usr/include/gstreamer-1.0/**/*.h",
"usr/include/glib-2.0/**/*.h",
- "usr/lib/arm-linux-gnueabihf/glib-2.0/include/**/*.h",
+ "usr/include/libsoup-2.4/**/*.h",
+ "usr/include/json-glib-1.0/**/*.h",
+ "usr/include/opencv4/**",
+ "usr/include/X11/**",
]),
includes = cpu_select({
"amd64": [
"usr/lib/x86_64-linux-gnu/glib-2.0/include",
- "usr/include",
- "usr/include/glib-2.0",
- "usr/include/gstreamer-1.0",
],
"armhf": [
"usr/lib/arm-linux-gnueabihf/glib-2.0/include",
- "usr/include",
- "usr/include/glib-2.0",
- "usr/include/gstreamer-1.0",
],
- "arm64": [],
+ "arm64": [
+ "usr/lib/aarch64-linux-gnu/glib-2.0/include",
+ ],
"roborio": [],
"cortex-m": [],
"cortex-m0plus": [],
- }),
+ }) + [
+ "usr/include",
+ "usr/include/glib-2.0",
+ "usr/include/gstreamer-1.0",
+ "usr/include/libsoup-2.4",
+ "usr/include/json-glib-1.0",
+ "usr/include/opencv4",
+ ],
linkopts = [
"-ldl",
"-lresolv",