Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ffmpeg-5 for openSUSE:Factory checked in at 2022-07-28 20:58:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ffmpeg-5 (Old) and /work/SRC/openSUSE:Factory/.ffmpeg-5.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ffmpeg-5" Thu Jul 28 20:58:57 2022 rev:3 rq:991461 version:5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ffmpeg-5/ffmpeg-5.changes 2022-04-11 23:51:04.697814537 +0200 +++ /work/SRC/openSUSE:Factory/.ffmpeg-5.new.1533/ffmpeg-5.changes 2022-07-28 20:59:24.995699657 +0200 @@ -1,0 +2,24 @@ +Tue Jul 26 18:55:46 UTC 2022 - Jan Engelhardt <jeng...@inai.de> + +- Enable libjxl + +------------------------------------------------------------------- +Sat Jul 23 15:29:58 UTC 2022 - Callum Farmer <gm...@opensuse.org> + +- Update ffmpeg-chromium.patch from upstream + +------------------------------------------------------------------- +Sat Jul 23 08:35:20 UTC 2022 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 5.1 + * AVIF image muxer support for the AV1-based image format + * JPEG-XL image support + * Removed the X-Video Motion Compensation (XvMC) hardware + acceleration + * IPFS/IPNS protocol support + * PCM-Bluray encoder support +- Drop vmaf-trim-usr-local.patch (obsolete), + ffmpeg-openh264-averr-on-bad-version.patch (merged) +- Add work-around-abi-break.patch + +------------------------------------------------------------------- Old: ---- ffmpeg-5.0.1.tar.xz ffmpeg-5.0.1.tar.xz.asc ffmpeg-openh264-averr-on-bad-version.patch vmaf-trim-usr-local.patch New: ---- ffmpeg-5.1.tar.xz ffmpeg-5.1.tar.xz.asc work-around-abi-break.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ffmpeg-5.spec ++++++ --- /var/tmp/diff_new_pack.b7p2cG/_old 2022-07-28 20:59:25.935702304 +0200 +++ /var/tmp/diff_new_pack.b7p2cG/_new 2022-07-28 20:59:25.939702315 +0200 @@ -75,7 +75,7 @@ %define _major_expected 6 Name: ffmpeg-5 -Version: 5.0.1 +Version: 5.1 Release: 0 Summary: Set of libraries for working with various multimedia formats License: GPL-3.0-or-later @@ -98,10 +98,9 @@ Patch2: ffmpeg-new-coder-errors.diff Patch3: ffmpeg-codec-choice.diff Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch -Patch8: vmaf-trim-usr-local.patch +Patch5: work-around-abi-break.patch Patch9: ffmpeg-4.4-CVE-2020-22046.patch Patch10: ffmpeg-chromium.patch -Patch11: ffmpeg-openh264-averr-on-bad-version.patch Patch91: ffmpeg-dlopen-openh264.patch BuildRequires: ladspa-devel @@ -156,6 +155,9 @@ BuildRequires: pkgconfig(lilv-0) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(opus) +%if 0%{?suse_version} >= 1550 +BuildRequires: pkgconfig(libjxl) +%endif %if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400 BuildRequires: pkgconfig(rav1e) %endif @@ -576,6 +578,9 @@ --enable-libfribidi \ --enable-libgsm \ --enable-libjack \ +%if 0%{?suse_version} >= 1550 + --enable-libjxl \ +%endif --enable-libmp3lame \ %if %{with mysofa} --enable-libmysofa \ @@ -658,7 +663,7 @@ --enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <%_sourcedir/enable_decoders)" \ for i in MPEG4 H263 H264 HEVC VC1; do - grep -q "#define CONFIG_${i}_DECODER 0" config.h + grep -q "#define CONFIG_${i}_DECODER 0" config_components.h done %endif @@ -714,35 +719,35 @@ %files -n libavcodec59 %license COPYING.GPLv2 LICENSE.md -%_libdir/libavcodec.so.59* +%_libdir/libavcodec.so.* %files -n libavdevice59 %license COPYING.GPLv2 LICENSE.md -%_libdir/libavdevice.so.59* +%_libdir/libavdevice.so.* %files -n libavfilter8 %license COPYING.GPLv2 LICENSE.md -%_libdir/libavfilter.so.8* +%_libdir/libavfilter.so.* %files -n libavformat59 %license COPYING.GPLv2 LICENSE.md -%_libdir/libavformat.so.59* +%_libdir/libavformat.so.* %files -n libavutil57 %license COPYING.GPLv2 LICENSE.md -%_libdir/libavutil.so.57* +%_libdir/libavutil.so.* %files -n libpostproc56 %license COPYING.GPLv2 LICENSE.md -%_libdir/libpostproc.so.56* +%_libdir/libpostproc.so.* %files -n libswresample4 %license COPYING.GPLv2 LICENSE.md -%_libdir/libswresample.so.4* +%_libdir/libswresample.so.* %files -n libswscale6 %license COPYING.GPLv2 LICENSE.md -%_libdir/libswscale.so.6* +%_libdir/libswscale.so.* %files libavcodec-devel %dir %_includedir/ffmpeg/ ++++++ ffmpeg-4.2-dlopen-fdk_aac.patch ++++++ --- /var/tmp/diff_new_pack.b7p2cG/_old 2022-07-28 20:59:25.999702484 +0200 +++ /var/tmp/diff_new_pack.b7p2cG/_new 2022-07-28 20:59:26.003702495 +0200 @@ -1,3 +1,10 @@ +From: Ismail D??nmez <ism...@i10z.com> +Date: 2019-06-11 11:21:23 + +This is ffmpeg-4.1-dlopen-faac-mp3lame-opencore-x264-x265-xvid.patch +from OpenMandriva to optionally enable runtime enabling of +fdkaac/lame/x264/x265. + --- configure | 3 ++ libavcodec/dlopen.h | 12 ++++++++++ @@ -5,10 +12,10 @@ libavcodec/libfdk-aacenc.c | 47 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 115 insertions(+) -Index: ffmpeg-5.0/configure +Index: ffmpeg-5.1/configure =================================================================== ---- ffmpeg-5.0.orig/configure -+++ ffmpeg-5.0/configure +--- ffmpeg-5.1.orig/configure ++++ ffmpeg-5.1/configure @@ -231,6 +231,7 @@ External library support: --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 and libraw1394 [no] @@ -17,7 +24,7 @@ --enable-libflite enable flite (voice synthesis) support via libflite [no] --enable-libfontconfig enable libfontconfig, useful for drawtext filter [no] --enable-libfreetype enable libfreetype, needed for drawtext filter [no] -@@ -1784,6 +1785,7 @@ EXTERNAL_LIBRARY_GPL_LIST=" +@@ -1787,6 +1788,7 @@ EXTERNAL_LIBRARY_GPL_LIST=" EXTERNAL_LIBRARY_NONFREE_LIST=" decklink libfdk_aac @@ -25,7 +32,7 @@ libtls " -@@ -6528,6 +6530,7 @@ enabled libdrm && require_pkg +@@ -6544,6 +6546,7 @@ enabled libdrm && require_pkg enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && warn "using libfdk without pkg-config"; } } @@ -33,10 +40,10 @@ flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite" enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs enabled fontconfig && enable libfontconfig -Index: ffmpeg-5.0/libavcodec/dlopen.h +Index: ffmpeg-5.1/libavcodec/dlopen.h =================================================================== --- /dev/null -+++ ffmpeg-5.0/libavcodec/dlopen.h ++++ ffmpeg-5.1/libavcodec/dlopen.h @@ -0,0 +1,12 @@ +#ifndef LOCALINC_DLOPEN_H +#define LOCALINC_DLOPEN_H @@ -50,11 +57,11 @@ + goto error; + +#endif -Index: ffmpeg-5.0/libavcodec/libfdk-aacdec.c +Index: ffmpeg-5.1/libavcodec/libfdk-aacdec.c =================================================================== ---- ffmpeg-5.0.orig/libavcodec/libfdk-aacdec.c -+++ ffmpeg-5.0/libavcodec/libfdk-aacdec.c -@@ -37,6 +37,54 @@ +--- ffmpeg-5.1.orig/libavcodec/libfdk-aacdec.c ++++ ffmpeg-5.1/libavcodec/libfdk-aacdec.c +@@ -38,6 +38,54 @@ #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS #endif @@ -109,7 +116,7 @@ enum ConcealMethod { CONCEAL_METHOD_SPECTRAL_MUTING = 0, CONCEAL_METHOD_NOISE_SUBSTITUTION = 1, -@@ -229,6 +277,11 @@ static av_cold int fdk_aac_decode_init(A +@@ -244,6 +292,11 @@ static av_cold int fdk_aac_decode_init(A FDKAACDecContext *s = avctx->priv_data; AAC_DECODER_ERROR err; @@ -121,10 +128,10 @@ s->handle = aacDecoder_Open(avctx->extradata_size ? TT_MP4_RAW : TT_MP4_ADTS, 1); if (!s->handle) { av_log(avctx, AV_LOG_ERROR, "Error opening decoder\n"); -Index: ffmpeg-5.0/libavcodec/libfdk-aacenc.c +Index: ffmpeg-5.1/libavcodec/libfdk-aacenc.c =================================================================== ---- ffmpeg-5.0.orig/libavcodec/libfdk-aacenc.c -+++ ffmpeg-5.0/libavcodec/libfdk-aacenc.c +--- ffmpeg-5.1.orig/libavcodec/libfdk-aacenc.c ++++ ffmpeg-5.1/libavcodec/libfdk-aacenc.c @@ -36,6 +36,48 @@ #define FDKENC_VER_AT_LEAST(vl0, vl1) 0 #endif @@ -179,11 +186,11 @@ int sce = 0, cpe = 0; +#ifdef CONFIG_LIBFDK_AAC_DLOPEN -+ if (loadLibFdkAac(avctx)) -+ return -1; ++ if (loadLibFdkAac(avctx)) ++ return -1; +#endif + - if ((err = aacEncOpen(&s->handle, 0, avctx->channels)) != AACENC_OK) { + if ((err = aacEncOpen(&s->handle, 0, avctx->ch_layout.nb_channels)) != AACENC_OK) { av_log(avctx, AV_LOG_ERROR, "Unable to open the encoder: %s\n", aac_get_error(err)); ++++++ ffmpeg-5.0.1.tar.xz -> ffmpeg-5.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/ffmpeg-5/ffmpeg-5.0.1.tar.xz /work/SRC/openSUSE:Factory/.ffmpeg-5.new.1533/ffmpeg-5.1.tar.xz differ: char 26, line 1 ++++++ ffmpeg-chromium.patch ++++++ --- /var/tmp/diff_new_pack.b7p2cG/_old 2022-07-28 20:59:26.063702664 +0200 +++ /var/tmp/diff_new_pack.b7p2cG/_new 2022-07-28 20:59:26.067702675 +0200 @@ -6,11 +6,16 @@ Add av_stream_get_first_dts for Chromium -diff --git a/libavformat/avformat.h b/libavformat/avformat.h -index cd7b0d9..b4a6dce 100644 ---- a/libavformat/avformat.h -+++ b/libavformat/avformat.h -@@ -1010,6 +1010,10 @@ +--- + libavformat/avformat.h | 4 ++++ + libavformat/utils.c | 7 +++++++ + 2 files changed, 11 insertions(+) + +Index: ffmpeg-5.1/libavformat/avformat.h +=================================================================== +--- ffmpeg-5.1.orig/libavformat/avformat.h ++++ ffmpeg-5.1/libavformat/avformat.h +@@ -1128,6 +1128,10 @@ struct AVCodecParserContext *av_stream_g */ int64_t av_stream_get_end_pts(const AVStream *st); @@ -21,12 +26,12 @@ #define AV_PROGRAM_RUNNING 1 /** -diff --git a/libavformat/utils.c b/libavformat/utils.c -index de7580c..0ef0fe5 100644 ---- a/libavformat/utils.c -+++ b/libavformat/utils.c +Index: ffmpeg-5.1/libavformat/utils.c +=================================================================== +--- ffmpeg-5.1.orig/libavformat/utils.c ++++ ffmpeg-5.1/libavformat/utils.c @@ -121,6 +121,13 @@ - return AV_NOPTS_VALUE; + return ff_mutex_unlock(&avformat_mutex) ? -1 : 0; } +// Chromium: We use the internal field first_dts vvv @@ -36,7 +41,7 @@ +} +// Chromium: We use the internal field first_dts ^^^ + - struct AVCodecParserContext *av_stream_get_parser(const AVStream *st) - { - return cffstream(st)->parser; + /* an arbitrarily chosen "sane" max packet size -- 50M */ + #define SANE_CHUNK_SIZE (50000000) + ++++++ ffmpeg-dlopen-openh264.patch ++++++ --- /var/tmp/diff_new_pack.b7p2cG/_old 2022-07-28 20:59:26.083702721 +0200 +++ /var/tmp/diff_new_pack.b7p2cG/_new 2022-07-28 20:59:26.087702731 +0200 @@ -12,22 +12,22 @@ Signed-off-by: Andreas Schneider <a...@cryptomilk.org> Signed-off-by: Neal Gompa <ngo...@fedoraproject.org> --- - configure | 3 + - libavcodec/Makefile | 1 + - libavcodec/libopenh264.c | 15 +++- - libavcodec/libopenh264_dlopen.c | 147 ++++++++++++++++++++++++++++++++ - libavcodec/libopenh264_dlopen.h | 58 +++++++++++++ - libavcodec/libopenh264dec.c | 10 +++ - libavcodec/libopenh264enc.c | 10 +++ + configure | 3 + libavcodec/Makefile | 1 + libavcodec/libopenh264.c | 15 +++- + libavcodec/libopenh264_dlopen.c | 147 ++++++++++++++++++++++++++++++++++++++++ + libavcodec/libopenh264_dlopen.h | 58 +++++++++++++++ + libavcodec/libopenh264dec.c | 10 ++ + libavcodec/libopenh264enc.c | 10 ++ 7 files changed, 243 insertions(+), 1 deletion(-) create mode 100644 libavcodec/libopenh264_dlopen.c create mode 100644 libavcodec/libopenh264_dlopen.h -diff --git a/configure b/configure -index 6b5ef6332e..f08e566e98 100755 ---- a/configure -+++ b/configure -@@ -250,6 +250,7 @@ External library support: +Index: ffmpeg-5.1/configure +=================================================================== +--- ffmpeg-5.1.orig/configure ++++ ffmpeg-5.1/configure +@@ -252,6 +252,7 @@ External library support: --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] --enable-libopencv enable video filtering via libopencv [no] --enable-libopenh264 enable H.264 encoding via OpenH264 [no] @@ -35,7 +35,7 @@ --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no] --enable-libopenmpt enable decoding tracked files via libopenmpt [no] --enable-libopenvino enable OpenVINO as a DNN module backend -@@ -1839,6 +1840,7 @@ EXTERNAL_LIBRARY_LIST=" +@@ -1846,6 +1847,7 @@ EXTERNAL_LIBRARY_LIST=" libmysofa libopencv libopenh264 @@ -43,7 +43,7 @@ libopenjpeg libopenmpt libopenvino -@@ -6575,6 +6577,7 @@ enabled libopencv && { check_headers opencv2/core/core_c.h && +@@ -6599,6 +6601,7 @@ enabled libopencv && { check_hea require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; } enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion @@ -51,11 +51,11 @@ enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version || { require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } } enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++" -diff --git a/libavcodec/Makefile b/libavcodec/Makefile -index 3adf1536d8..9dc8389ce2 100644 ---- a/libavcodec/Makefile -+++ b/libavcodec/Makefile -@@ -1058,6 +1058,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o +Index: ffmpeg-5.1/libavcodec/Makefile +=================================================================== +--- ffmpeg-5.1.orig/libavcodec/Makefile ++++ ffmpeg-5.1/libavcodec/Makefile +@@ -1075,6 +1075,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o @@ -63,10 +63,10 @@ OBJS-$(CONFIG_LIBOPENH264_DECODER) += libopenh264dec.o libopenh264.o OBJS-$(CONFIG_LIBOPENH264_ENCODER) += libopenh264enc.o libopenh264.o OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o -diff --git a/libavcodec/libopenh264.c b/libavcodec/libopenh264.c -index 59c61a3a4c..9b7dfc59be 100644 ---- a/libavcodec/libopenh264.c -+++ b/libavcodec/libopenh264.c +Index: ffmpeg-5.1/libavcodec/libopenh264.c +=================================================================== +--- ffmpeg-5.1.orig/libavcodec/libopenh264.c ++++ ffmpeg-5.1/libavcodec/libopenh264.c @@ -20,8 +20,13 @@ */ @@ -79,9 +79,9 @@ #include <wels/codec_ver.h> +#endif + #include "libavutil/error.h" #include "libavutil/log.h" - -@@ -52,7 +57,15 @@ int ff_libopenh264_check_version(void *logctx) +@@ -53,7 +58,15 @@ int ff_libopenh264_check_version(void *l // function (for functions returning larger structs), thus skip the check in those // configurations. #if !defined(_WIN32) || !defined(__GNUC__) || !ARCH_X86_32 || AV_GCC_VERSION_AT_LEAST(4, 7) @@ -98,11 +98,10 @@ if (memcmp(&libver, &g_stCodecVersion, sizeof(libver))) { av_log(logctx, AV_LOG_ERROR, "Incorrect library version loaded\n"); return AVERROR(EINVAL); -diff --git a/libavcodec/libopenh264_dlopen.c b/libavcodec/libopenh264_dlopen.c -new file mode 100644 -index 0000000000..b350679f18 +Index: ffmpeg-5.1/libavcodec/libopenh264_dlopen.c +=================================================================== --- /dev/null -+++ b/libavcodec/libopenh264_dlopen.c ++++ ffmpeg-5.1/libavcodec/libopenh264_dlopen.c @@ -0,0 +1,147 @@ +/* + * OpenH264 dlopen code @@ -251,11 +250,10 @@ + + return 0; +} -diff --git a/libavcodec/libopenh264_dlopen.h b/libavcodec/libopenh264_dlopen.h -new file mode 100644 -index 0000000000..d7d8bb7cad +Index: ffmpeg-5.1/libavcodec/libopenh264_dlopen.h +=================================================================== --- /dev/null -+++ b/libavcodec/libopenh264_dlopen.h ++++ ffmpeg-5.1/libavcodec/libopenh264_dlopen.h @@ -0,0 +1,58 @@ +/* + * OpenH264 dlopen code @@ -315,10 +313,10 @@ +#endif /* CONFIG_LIBOPENH264_DLOPEN */ + +#endif /* HAVE_LIBOPENH264_DLOPEN_H */ -diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c -index 97d3630df6..feb0a0927e 100644 ---- a/libavcodec/libopenh264dec.c -+++ b/libavcodec/libopenh264dec.c +Index: ffmpeg-5.1/libavcodec/libopenh264dec.c +=================================================================== +--- ffmpeg-5.1.orig/libavcodec/libopenh264dec.c ++++ ffmpeg-5.1/libavcodec/libopenh264dec.c @@ -19,8 +19,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -332,7 +330,7 @@ #include "libavutil/common.h" #include "libavutil/fifo.h" -@@ -55,6 +59,12 @@ static av_cold int svc_decode_init(AVCodecContext *avctx) +@@ -56,6 +60,12 @@ static av_cold int svc_decode_init(AVCod int log_level; WelsTraceCallback callback_function; @@ -345,10 +343,10 @@ if ((err = ff_libopenh264_check_version(avctx)) < 0) return AVERROR_DECODER_NOT_FOUND; -diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c -index 2001dc22b4..c8b1348df2 100644 ---- a/libavcodec/libopenh264enc.c -+++ b/libavcodec/libopenh264enc.c +Index: ffmpeg-5.1/libavcodec/libopenh264enc.c +=================================================================== +--- ffmpeg-5.1.orig/libavcodec/libopenh264enc.c ++++ ffmpeg-5.1/libavcodec/libopenh264enc.c @@ -19,8 +19,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -362,7 +360,7 @@ #include "libavutil/attributes.h" #include "libavutil/common.h" -@@ -136,6 +140,12 @@ static av_cold int svc_encode_init(AVCodecContext *avctx) +@@ -137,6 +141,12 @@ static av_cold int svc_encode_init(AVCod WelsTraceCallback callback_function; AVCPBProperties *props; @@ -375,7 +373,4 @@ if ((err = ff_libopenh264_check_version(avctx)) < 0) return AVERROR_ENCODER_NOT_FOUND; --- -2.34.1 - ++++++ work-around-abi-break.patch ++++++ From: Jan Engelhardt <jeng...@inai.de> Date: 2020-07-04 23:56:54.411950316 +0200 References: http://ffmpeg.org/pipermail/ffmpeg-devel/2020-July/265694.html User frispete wrote on 2020-6-26 22:13+0000 at https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4#comment-1257440 : """Unfortunately, this version is binary incompatible to 4.2.3 in some aspects. [...]""" Further discussion on the mailing list explored this topic, and revealed that ELF symbol versioning is lacklusterly implemented in ffmpeg, which can cause inadvertent mixing of library versions on openSUSE, and precompiled Linux distributions in general. Upstream says "we only add new functions" - which is ok in its own right. verdefs, if you have them, *must*not* change under any circumstances, but that is what they broke: the set of symbols included in the "LIBAVFORMAT_59" verdef changed between 5.0 and 5.1. $ abidiff abidiff /usr/lib64/libavformat.so.59.16.100 usr/lib64/libavformat.so.59.27.100 Functions changes summary: 0 Removed, 0 Changed, 0 Added function Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 1 Added function symbol not referenced by debug info Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info 1 Added function symbol not referenced by debug info: [A] avio_vprintf@@LIBAVFORMAT_59 ] Henceforth, we're changing the .v files such that the symbol set in any one verdef we will ever emit is never modified in future releases. --- ffbuild/library.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: ffmpeg-5.1/ffbuild/library.mak =================================================================== --- ffmpeg-5.1.orig/ffbuild/library.mak +++ ffmpeg-5.1/ffbuild/library.mak @@ -59,7 +59,7 @@ $(SUBDIR)lib$(FULLNAME).pc: $(SUBDIR)ver $$(M) $$(SRC_PATH)/ffbuild/pkgconfig_generate.sh $(NAME) "$(DESC)" $(SUBDIR)lib$(NAME).ver: $(SUBDIR)lib$(NAME).v $(OBJS) - $$(M)sed 's/MAJOR/$(lib$(NAME)_VERSION_MAJOR)/' $$< | $(VERSION_SCRIPT_POSTPROCESS_CMD) > $$@ + $$(M)sed 's/MAJOR/$(lib$(NAME)_VERSION_MAJOR).$(lib$(NAME)_VERSION_MINOR)_SUSE/' $$< | $(VERSION_SCRIPT_POSTPROCESS_CMD) > $$@ $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) $(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)