SHA256
1
0
forked from pool/ffmpeg-5

rework work-around-abi-break.patch and put back the original SONAME - instead go with an adjusted symverdef

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=21
This commit is contained in:
2022-07-27 21:49:26 +00:00
committed by Git OBS Bridge
parent 506a220017
commit b83adf7e99
4 changed files with 112 additions and 247 deletions

View File

@@ -91,7 +91,6 @@ Source4: enable_decoders
Source5: enable_encoders
Source6: ffmpeg-dlopen-headers.tar.xz
Source92: ffmpeg_get_dlopen_headers.sh
Source97: abi_break.txt
Source98: http://ffmpeg.org/ffmpeg-devel.asc#/ffmpeg-5.keyring
Source99: baselibs.conf
@@ -222,22 +221,14 @@ Provides: ffmpeg-tools = %version
Obsoletes: ffmpeg-tools < %version
Provides: ffmpeg = %version
Obsoletes: ffmpeg < %version
Requires: libavcodec59_37 = %version-%release
Requires: libavdevice59_7 = %version-%release
Requires: libavfilter8_44 = %version-%release
Requires: libavformat59_27 = %version-%release
Requires: libavutil57_28 = %version-%release
Requires: libpostproc56_6 = %version-%release
Requires: libswresample4_7 = %version-%release
Requires: libswscale6_7 = %version-%release
Conflicts: libavcodec59 < %version
Conflicts: libavdevice59 < %version
Conflicts: libavfilter8 < %version
Conflicts: libavformat59 < %version
Conflicts: libavutil57 < %version
Conflicts: libpostproc56 < %version
Conflicts: libswresample4 < %version
Conflicts: libswresample6 < %version
Requires: libavcodec59 = %version-%release
Requires: libavdevice59 = %version-%release
Requires: libavfilter8 = %version-%release
Requires: libavformat59 = %version-%release
Requires: libavutil57 = %version-%release
Requires: libpostproc56 = %version-%release
Requires: libswresample4 = %version-%release
Requires: libswscale6 = %version-%release
%description
FFmpeg is a multimedia framework, able to decode, encode,
@@ -248,11 +239,11 @@ that humans and machines have created.
This build of ffmpeg is limited in the number of codecs supported.
%endif
%package -n libavcodec59_37
%package -n libavcodec59
Summary: FFmpeg codec library
Group: System/Libraries
Requires: libavutil57_28 = %version-%release
Requires: libswresample4_7 = %version-%release
Requires: libavutil57 = %version-%release
Requires: libswresample4 = %version-%release
%if 0%{?BUILD_ORIG}
Provides: libavcodec-full = %version-%release
# This can be (and is) required by packages like vlc-codecs -
@@ -262,7 +253,7 @@ Provides: libavcodec59(unrestricted)
# For mozillas
Provides: libavcodec = %version-%release
%description -n libavcodec59_37
%description -n libavcodec59
The libavcodec library provides a generic encoding/decoding framework
and contains multiple decoders and encoders for audio, video and
subtitle streams, and several bitstream filters.
@@ -277,7 +268,7 @@ Group: Development/Libraries/C and C++
Provides: libavcodec-devel = %version-%release
Obsoletes: libavcodec-devel < %version-%release
Requires: %name-libavutil-devel = %version-%release
Requires: libavcodec59_37 = %version-%release
Requires: libavcodec59 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -288,15 +279,15 @@ subtitle streams, and several bitstream filters.
This subpackage contains the headers for FFmpeg libavcodec.
%package -n libavdevice59_7
%package -n libavdevice59
Summary: FFmpeg device library
Group: System/Libraries
Requires: libavcodec59_37 = %version-%release
Requires: libavfilter8_44 = %version-%release
Requires: libavformat59_27 = %version-%release
Requires: libavutil57_28 = %version-%release
Requires: libavcodec59 = %version-%release
Requires: libavfilter8 = %version-%release
Requires: libavformat59 = %version-%release
Requires: libavutil57 = %version-%release
%description -n libavdevice59_7
%description -n libavdevice59
The libavdevice library provides a generic framework for grabbing from
and rendering to many common multimedia input/output devices, and
supports several input and output devices, including Video4Linux2, VfW,
@@ -316,7 +307,7 @@ Requires: %name-libavutil-devel = %version-%release
Requires: %name-libpostproc-devel = %version-%release
Requires: %name-libswresample-devel = %version-%release
Requires: %name-libswscale-devel = %version-%release
Requires: libavdevice59_7 = %version-%release
Requires: libavdevice59 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -328,17 +319,17 @@ DShow, and ALSA.
This subpackage contains the headers for FFmpeg libavcodec.
%package -n libavfilter8_44
%package -n libavfilter8
Summary: FFmpeg audio and video filtering library
Group: System/Libraries
Requires: libavcodec59_37 = %version-%release
Requires: libavformat59_27 = %version-%release
Requires: libavutil57_28 = %version-%release
Requires: libpostproc56_6 = %version-%release
Requires: libswresample4_7 = %version-%release
Requires: libswscale6_7 = %version-%release
Requires: libavcodec59 = %version-%release
Requires: libavformat59 = %version-%release
Requires: libavutil57 = %version-%release
Requires: libpostproc56 = %version-%release
Requires: libswresample4 = %version-%release
Requires: libswscale6 = %version-%release
%description -n libavfilter8_44
%description -n libavfilter8
The libavfilter library provides a generic audio/video filtering
framework containing several filters, sources and sinks.
@@ -353,7 +344,7 @@ Requires: %name-libavutil-devel = %version-%release
Requires: %name-libpostproc-devel = %version-%release
Requires: %name-libswresample-devel = %version-%release
Requires: %name-libswscale-devel = %version-%release
Requires: libavfilter8_44 = %version-%release
Requires: libavfilter8 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -363,13 +354,13 @@ framework containing several filters, sources and sinks.
This subpackage contains the headers for FFmpeg libavfilter.
%package -n libavformat59_27
%package -n libavformat59
Summary: FFmpeg's stream format library
Group: System/Libraries
Requires: libavcodec59_37 = %version-%release
Requires: libavutil57_28 = %version-%release
Requires: libavcodec59 = %version-%release
Requires: libavutil57 = %version-%release
%description -n libavformat59_27
%description -n libavformat59
The libavformat library provides a generic framework for multiplexing
and demultiplexing (muxing and demuxing) audio, video and subtitle
streams. It encompasses multiple muxers and demuxers for multimedia
@@ -387,7 +378,7 @@ Obsoletes: libavformat-devel < %version-%release
Requires: %name-libavcodec-devel = %version-%release
Requires: %name-libavutil-devel = %version-%release
Requires: %name-libswresample-devel = %version-%release
Requires: libavformat59_27 = %version-%release
Requires: libavformat59 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -399,11 +390,11 @@ container formats.
This subpackage contains the headers for FFmpeg libavformat.
%package -n libavutil57_28
%package -n libavutil57
Summary: FFmpeg's utility library
Group: System/Libraries
%description -n libavutil57_28
%description -n libavutil57
The libavutil library is a utility library to aid portable multimedia
programming. It contains safe portable string functions, random
number generators, data structures, additional mathematics functions,
@@ -415,7 +406,7 @@ Summary: Development files for FFmpeg's utility library
Group: Development/Libraries/C and C++
Provides: libavutil-devel = %version-%release
Obsoletes: libavutil-devel < %version-%release
Requires: libavutil57_28 = %version-%release
Requires: libavutil57 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -428,12 +419,12 @@ for pixel and sample formats).
This subpackage contains the headers for FFmpeg libavutil.
%package -n libpostproc56_6
%package -n libpostproc56
Summary: FFmpeg post-processing library
Group: System/Libraries
Requires: libavutil57_28 = %version-%release
Requires: libavutil57 = %version-%release
%description -n libpostproc56_6
%description -n libpostproc56
A library with video postprocessing filters, such as deblocking and
deringing filters, noise reduction, automatic contrast and brightness
correction, linear/cubic interpolating deinterlacing.
@@ -444,7 +435,7 @@ Group: Development/Libraries/C and C++
Provides: libpostproc-devel = %version-%release
Obsoletes: libpostproc-devel < %version-%release
Requires: %name-libavutil-devel = %version-%release
Requires: libpostproc56_6 = %version-%release
Requires: libpostproc56 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -455,12 +446,12 @@ correction, linear/cubic interpolating deinterlacing.
This subpackage contains the headers for FFmpeg libpostproc.
%package -n libswresample4_7
%package -n libswresample4
Summary: FFmpeg software resampling library
Group: System/Libraries
Requires: libavutil57_28 = %version-%release
Requires: libavutil57 = %version-%release
%description -n libswresample4_7
%description -n libswresample4
The libswresample library performs audio conversion between different
sample rates, channel layout and channel formats.
@@ -470,7 +461,7 @@ Group: Development/Libraries/C and C++
Provides: libswresample-devel = %version-%release
Obsoletes: libswresample-devel < %version-%release
Requires: %name-libavutil-devel = %version-%release
Requires: libswresample4_7 = %version-%release
Requires: libswresample4 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -480,12 +471,12 @@ sample rates, channel layout and channel formats.
This subpackage contains the headers for FFmpeg libswresample.
%package -n libswscale6_7
%package -n libswscale6
Summary: FFmpeg image scaling and colorspace/pixel conversion library
Group: System/Libraries
Requires: libavutil57_28 = %version-%release
Requires: libavutil57 = %version-%release
%description -n libswscale6_7
%description -n libswscale6
The libswscale library performs image scaling and colorspace and
pixel format conversion operations.
@@ -495,7 +486,7 @@ Group: Development/Libraries/C and C++
Provides: libswscale-devel = %version-%release
Conflicts: libswscale-devel
Requires: %name-libavutil-devel = %version-%release
Requires: libswscale6_7 = %version-%release
Requires: libswscale6 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected
@@ -703,68 +694,60 @@ for i in libavformat/options_table.h libavformat/os_support.h \
cp -a $i "$b/%_includedir/ffmpeg/private/$i"
done
%post -n libavcodec59_37 -p /sbin/ldconfig
%postun -n libavcodec59_37 -p /sbin/ldconfig
%post -n libavdevice59_7 -p /sbin/ldconfig
%postun -n libavdevice59_7 -p /sbin/ldconfig
%post -n libavfilter8_44 -p /sbin/ldconfig
%postun -n libavfilter8_44 -p /sbin/ldconfig
%post -n libavformat59_27 -p /sbin/ldconfig
%postun -n libavformat59_27 -p /sbin/ldconfig
%post -n libavutil57_28 -p /sbin/ldconfig
%postun -n libavutil57_28 -p /sbin/ldconfig
%post -n libpostproc56_6 -p /sbin/ldconfig
%postun -n libpostproc56_6 -p /sbin/ldconfig
%post -n libswresample4_7 -p /sbin/ldconfig
%postun -n libswresample4_7 -p /sbin/ldconfig
%post -n libswscale6_7 -p /sbin/ldconfig
%postun -n libswscale6_7 -p /sbin/ldconfig
%post -n libavcodec59 -p /sbin/ldconfig
%postun -n libavcodec59 -p /sbin/ldconfig
%post -n libavdevice59 -p /sbin/ldconfig
%postun -n libavdevice59 -p /sbin/ldconfig
%post -n libavfilter8 -p /sbin/ldconfig
%postun -n libavfilter8 -p /sbin/ldconfig
%post -n libavformat59 -p /sbin/ldconfig
%postun -n libavformat59 -p /sbin/ldconfig
%post -n libavutil57 -p /sbin/ldconfig
%postun -n libavutil57 -p /sbin/ldconfig
%post -n libpostproc56 -p /sbin/ldconfig
%postun -n libpostproc56 -p /sbin/ldconfig
%post -n libswresample4 -p /sbin/ldconfig
%postun -n libswresample4 -p /sbin/ldconfig
%post -n libswscale6 -p /sbin/ldconfig
%postun -n libswscale6 -p /sbin/ldconfig
%files
%doc Changelog CREDITS README.md
%_bindir/*
%_mandir/man1/ff*.1*
%_datadir/ffmpeg/
%_libdir/libavcodec.so.59
%_libdir/libavdevice.so.59
%_libdir/libavfilter.so.8
%_libdir/libavformat.so.59
%_libdir/libavutil.so.57
%_libdir/libpostproc.so.56
%_libdir/libswresample.so.4
%_libdir/libswscale.so.6
%files -n libavcodec59_37
%files -n libavcodec59
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavcodec.so.59.*
%_libdir/libavcodec.so.*
%files -n libavdevice59_7
%files -n libavdevice59
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavdevice.so.59.*
%_libdir/libavdevice.so.*
%files -n libavfilter8_44
%files -n libavfilter8
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavfilter.so.8.*
%_libdir/libavfilter.so.*
%files -n libavformat59_27
%files -n libavformat59
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavformat.so.59.*
%_libdir/libavformat.so.*
%files -n libavutil57_28
%files -n libavutil57
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavutil.so.57.*
%_libdir/libavutil.so.*
%files -n libpostproc56_6
%files -n libpostproc56
%license COPYING.GPLv2 LICENSE.md
%_libdir/libpostproc.so.56.*
%_libdir/libpostproc.so.*
%files -n libswresample4_7
%files -n libswresample4
%license COPYING.GPLv2 LICENSE.md
%_libdir/libswresample.so.4.*
%_libdir/libswresample.so.*
%files -n libswscale6_7
%files -n libswscale6
%license COPYING.GPLv2 LICENSE.md
%_libdir/libswscale.so.6.*
%_libdir/libswscale.so.*
%files libavcodec-devel
%dir %_includedir/ffmpeg/