https://bugzilla.redhat.com/show_bug.cgi?id=2514855



--- Comment #4 from Carl George 🤠 <[email protected]> ---
The configure step has the --disable-doc flag, but then later
ffmpeg5-free-devel includes several files marked as docs.  Should those files
be skipped as well?

================================================================================

I noticed that the ffmpeg5-free subpackage is almost empty.  With the ffmpeg,
ffplay, and ffprobe commands disabled, it only contains CREDITS, README.md, and
an empty /usr/share/ffmpeg5 directory. Does it make sense to keep that
subpackage?  Installing it does pull in all the library subpackages, but users
might be confused if they install ffmpeg5-free and don't have the ffmpeg
command.

================================================================================

Some compat packages keep their devel subpackages so that other packages can
still build against them.  Other compat packages remove their devel subpackages
to prevent this, sending a clear signal that the library is strictly for
satisfying existing packages' dependencies and shouldn't be used for new
builds.  Do you want to allow other packages to continue building against
ffmpeg5 libraries?

================================================================================

The subpackages with shared libraries need to conflict with the equivalent
non-compat subpackage with the same soname.  The easiest way to do that is to
conflict with the soname itself.  Here's an example for how to do it for
libavcodec5-free (along with a corresponding comment suggestion).

    # This compat package cannot be installed at the same time as the base
package
    # of the same soname version due to file conflicts.  Different soname
versions
    # can be installed in parallel.
    %ifarch armv7hl i686
    Conflicts: libavcodec.so.%{av_codec_soversion}
    %else
    Conflicts: libavcodec.so.%{av_codec_soversion}()(%{__isa_bits}bit)
    %endif

The devel subpackages (if you keep them) also need to conflict with the
equivalent non-compat devel subpackages.  The easiest way to do that is to
conflict with the pkgconfig name.

    # This compat devel package cannot be installed at the same time as the
base
    # devel package due to file conflicts, regardless of soname version.
    Conflicts: pkgconfig(libavcodec)

================================================================================

Currently the subpackages follow the pattern of adding the compat version as a
suffix after the subpackage name.

    %package -n libavcodec5%{?pkg_suffix} -> libavcodec5-free

This isn't wrong per se, but I think it is worth considering a different
approach.

    %package libavcodec%{?pkg_suffix} -> ffmpeg5-libavcodec-free

In compat packages I've maintained before doing the former approach ended up
being confusing.  I like the mapping of "this is libavcodec, from ffmpeg5"
personally.  It's a subjective thing, but I wanted to bring it up as an
alternative in case you like it.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2514855

Report this comment as SPAM: 
https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202514855%23c4

-- 
_______________________________________________
package-review mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to