On 2026/05/06 12:11, Kirill A. Korinsky wrote:
> ports,
> 
> I'd like to update graphics/ffmpeg to 8.0.2 (-stable) and 8.1.1
> (-current) after port unlock.
> 
> /usr/src/lib/check_sym said "No dynamic export changes" on 8.0.1 ->
> 8.0.2 upgrade with one exception: libavfilter has added new reference
> ``trunc` but I think it not justify any shlib bump.

That tool is meant for investigating changes in libraries in base.
It can be used with other libraries but some of the information that it
provides is not really relevant for bumps in ports.

For the 8.0.2 update:

----
$ diffsyms
/usr/local/lib/libavcodec.so.27.1 --> 
/usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavcodec.so.27.1
No dynamic export changes
/usr/local/lib/libavdevice.so.15.1 --> 
/usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavdevice.so.15.1
No dynamic export changes
/usr/local/lib/libavfilter.so.13.1 --> 
/usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavfilter.so.13.1
No dynamic export changes
External reference changes:
added:
        trunc

/usr/local/lib/libavformat.so.24.1 --> 
/usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavformat.so.24.1
No dynamic export changes
/usr/local/lib/libavutil.so.17.1 --> 
/usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libavutil.so.17.1
No dynamic export changes
/usr/local/lib/libswresample.so.6.1 --> 
/usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libswresample.so.6.1
No dynamic export changes
/usr/local/lib/libswscale.so.9.1 --> 
/usr/obj/ports/ffmpeg-8.0.2/fake-amd64//usr/local/lib/libswscale.so.9.1
No dynamic export changes
----

-> "External reference changes" is not of interest here.
Diffing installed headers doesn't show any struct changes etc.
Upstream has macros for their idea of library major/minor versions
in the headers and those have not changed (only micro).
libavutil/bswap.h does not look like an api/abi change.

I agree with no bumps for 8.0.2.



For the 8.1.1 update, there are new exports in:

libavcodec, libavfilter, libavformat, libavutil, libswscale

None of the libraries have removed exports.

Looking at header diffs, everything seems consistent with backwards
compatible additions, i.e. just minor bumps for the libraries with
export changes.


$ diffsyms
/usr/local/lib/libavcodec.so.27.1 --> 
/usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavcodec.so.28.0
Dynamic export changes:
added:
        av_exif_clone_ifd@@LIBAVCODEC_62
        av_exif_free@@LIBAVCODEC_62
        av_exif_get_entry@@LIBAVCODEC_62
        av_exif_get_tag_id@@LIBAVCODEC_62
        av_exif_get_tag_name@@LIBAVCODEC_62
        av_exif_ifd_to_dict@@LIBAVCODEC_62
        av_exif_matrix_to_orientation@@LIBAVCODEC_62
        av_exif_orientation_to_matrix@@LIBAVCODEC_62
        av_exif_parse_buffer@@LIBAVCODEC_62
        av_exif_remove_entry@@LIBAVCODEC_62
        av_exif_set_entry@@LIBAVCODEC_62
        av_exif_write@@LIBAVCODEC_62
        av_packet_side_data_from_frame@@LIBAVCODEC_62
        av_packet_side_data_to_frame@@LIBAVCODEC_62
        avcodec_receive_frame_flags@@LIBAVCODEC_62

External reference changes:
added:
        aom_img_get_metadata
        aom_img_num_metadata
        av_alpha_mode_name@LIBAVUTIL_60
        av_csp_approximate_eotf_gamma@LIBAVUTIL_60
        av_display_rotation_get@LIBAVUTIL_60
        av_dynamic_hdr_plus_to_t35@LIBAVUTIL_60
        svt_av1_enc_get_stream_info

removed:
        av_csp_approximate_trc_gamma@LIBAVUTIL_60
        av_dict_copy@LIBAVUTIL_60

/usr/local/lib/libavdevice.so.15.1 --> 
/usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavdevice.so.16.0
No dynamic export changes
External reference changes:
added:
        malloc
        pthread_getspecific
        pthread_key_create
        pthread_mutex_lock
        pthread_mutex_unlock
        pthread_once
        pthread_setspecific
        realloc

/usr/local/lib/libavfilter.so.13.1 --> 
/usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavfilter.so.14.0
Dynamic export changes:
added:
        av_buffersink_get_alpha_mode@@LIBAVFILTER_11
        av_buffersrc_get_status@@LIBAVFILTER_11

External reference changes:
added:
        av_alpha_mode_from_name@LIBAVUTIL_60
        av_alpha_mode_name@LIBAVUTIL_60
        av_bprint_append_data@LIBAVUTIL_60
        av_channel_layout_custom_init@LIBAVUTIL_60
        fputs
        trunc

/usr/local/lib/libavformat.so.24.1 --> 
/usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavformat.so.25.0
Dynamic export changes:
added:
        av_mime_codec_str@@LIBAVFORMAT_62
        avformat_receive_command_reply@@LIBAVFORMAT_62
        avformat_send_command@@LIBAVFORMAT_62

External reference changes:
added:
        ASN1_INTEGER_set_uint64
        av_csp_approximate_eotf_gamma@LIBAVUTIL_60
        av_exif_free@LIBAVCODEC_62
        av_exif_get_tag_id@LIBAVCODEC_62
        av_exif_ifd_to_dict@LIBAVCODEC_62
        av_exif_parse_buffer@LIBAVCODEC_62
        av_exif_remove_entry@LIBAVCODEC_62
        av_exif_write@LIBAVCODEC_62
        av_image_fill_plane_sizes@LIBAVUTIL_60
        av_opt_find@LIBAVUTIL_60
        av_packet_unpack_dictionary@LIBAVCODEC_62
        av_pix_fmt_count_planes@LIBAVUTIL_60
        xmlEncodeSpecialChars

removed:
        ASN1_INTEGER_set
        EVP_sha1
        av_csp_approximate_trc_gamma@LIBAVUTIL_60
        avpriv_exif_decode_ifd@LIBAVCODEC_62
        free

/usr/local/lib/libavutil.so.17.1 --> 
/usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libavutil.so.18.0
Dynamic export changes:
added:
        av_alpha_mode_from_name@@LIBAVUTIL_60
        av_alpha_mode_name@@LIBAVUTIL_60
        av_csp_approximate_eotf_gamma@@LIBAVUTIL_60

/usr/local/lib/libswresample.so.6.1 --> 
/usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libswresample.so.7.0
No dynamic export changes
/usr/local/lib/libswscale.so.9.1 --> 
/usr/obj/ports/ffmpeg-8.1.1/fake-amd64//usr/local/lib/libswscale.so.10.0
Dynamic export changes:
added:
        sws_test_hw_format@@LIBSWSCALE_9

External reference changes:
added:
        av_buffer_alloc@LIBAVUTIL_60
        av_cpu_max_align@LIBAVUTIL_60
        av_dynarray2_add@LIBAVUTIL_60
        av_image_check_size2@LIBAVUTIL_60
        av_image_fill_linesizes@LIBAVUTIL_60
        av_image_fill_plane_sizes@LIBAVUTIL_60
        av_memdup@LIBAVUTIL_60
        av_pix_fmt_count_planes@LIBAVUTIL_60
        av_refstruct_alloc_ext_c@LIBAVUTIL_60
        av_refstruct_ref@LIBAVUTIL_60
        av_refstruct_unref@LIBAVUTIL_60
        av_strlcat@LIBAVUTIL_60
        av_strlcatf@LIBAVUTIL_60
        av_strlcpy@LIBAVUTIL_60
        qsort
        snprintf

Reply via email to