Hi Stuart,

On 03.06.2015 11:14, Stuart Prescott wrote:
>> 1: https://wiki.debian.org/Debate/libav-provider/ffmpeg
> 
> thanks for this -- it's good to see a summary of where we are.
> 
> It would be good if you also include information on:

Thanks for the feedback.

>   * the API stability promise of upstream (do we need a library transition 
> each time a minor update is uploaded?)

No API/ABI should ever change with bugfix releases, i.e. 2.6.* releases
all have the same.
With most new major upstream releases 2.* only new API is introduced and
private API/ABI changed. So only buggy programs that use private API
need to be fixed (see e.g. #783879 [1]).
With some new major upstream releases the soversions get increased, at
which point we need a library transition.

>   * assuming there is an API stability promise within each branch, the 
> frequency at which new releases are made that will require transitions

The upstream tracker [2] gives a good overview about this.
The last soversion bumps were:
 * 2.4 (2014-09-14)
 * 2.2 (2014-03-24, only libavfilter)
 * 2.0 (2013-07-10)
 * 1.1 (2013-01-07)
 * 1.0 (2012-09-28, only libavfilter)

So transitions would be about once every half year and if one doesn't count
libavfilter, because it only has a handful of reverse-dependencies, it's
more like once per year.

>   * the detailed plan on how Debian would get from the current packages to 
> these packages. 
> 
> The libav→ffmpeg plan is in various places on this and the debian-release 
> mailing lists, but it would be good to see it in one place for easy 
> reference.

I think the most relevant mail is [3].

> I think we need to see a good overview of:
> 
>   - what source and binary package names will be uploaded to which releases

There are three source packages, whose binaries should be changed to:
 * src:ffmpeg:
   - ffmpeg, ffmpeg-doc, ffmpeg-dbg, qt-faststart
   - lib*-ffmpegN
   - lib*-dev
   - lib*-ffmpeg-dev (transitional, to be removed before stretch release)
   - libav-tools-links (transitional, to be removed after stretch release)
 * src:libav:
   - libav-tools, libav-doc, libav-dbg
   - lib*N
   - libavcodec-extra*
   - lib*-libav-dev
 * src:libpostproc:
   - libpostproc52
   - libpostproc-libav-dev

I have patches implementing these changes, which I plan to send to the BTS
soon.

The uploads will first go to experimental and after passing NEW and getting
a transition slot from the release team, to unstable. 

>   - which binary packages would disappear (and what to do about that)

Short term: none
For stretch: everything still built from src:libav and src:libpostproc and
lib*-ffmpeg-dev.

What we'll do about that is the library transition and what's mentioned
in the point below.

>   - what will be required from maintainers of rdeps

Most will have to do nothing special, only those mentioned in above mail [3]
need to adapt their packages, e.g. change dependencies on libav-tools
to ffmpeg (list in [3]) and drop dependencies on libavcodec-extra
(from devede and dvd-slideshow).

>   - what sort of time periods the transition would take

Well, the actual library transition will probably take about 5 days, which
is the time after which britney propagates the binNMUs to testing.
When it will happen depends on how long NEW processing will take and when
a suitable transition slot is available.
Changing the dependencies/recommends/suggests from libav-tools to ffmpeg
should be done before stretch is released.

>   - the results of the rebuilds you have done

These are available in above mail [3]. blender, mpd and paraview are
resolved in the meantime.

>   - (I'd guess a ben file for the transition tracker would be handy too)

I think the following should work:

title = "ffmpeg";
is_affected = .depends ~ 
"libavcodec56|libavcodec-extra-56|libavdevice55|libavfilter5|libavformat56|libavresample2|libavutil54|libpostproc52|libswscale3"
 | .depends ~ 
"libavcodec-ffmpeg56|libavdevice-ffmpeg56|libavfilter-ffmpeg5|libavformat-ffmpeg56|libavresample-ffmpeg2|libavutil-ffmpeg54|libpostproc-ffmpeg53|libswresample-ffmpeg1|libswscale-ffmpeg3";
is_good = .depends ~ 
"libavcodec-ffmpeg56|libavdevice-ffmpeg56|libavfilter-ffmpeg5|libavformat-ffmpeg56|libavresample-ffmpeg2|libavutil-ffmpeg54|libpostproc-ffmpeg53|libswresample-ffmpeg1|libswscale-ffmpeg3";
is_bad = .depends ~ 
"libavcodec56|libavcodec-extra-56|libavdevice55|libavfilter5|libavformat56|libavresample2|libavutil54|libpostproc52|libswscale3";

> I'm aware that the plan is somewhat orthogonal to the actual decision about 
> libav providers but I think the feasibility of the plan also informs us 
> about the feasibility of making the change and gives confidence that the 
> ffmpeg maintainers are aware of the size of the task they are volunteering 
> for.

OK, so I'll try to put this information on the Wiki.

Best regards,
Andreas


1: https://bugs.debian.org/783879
2: http://upstream-tracker.org/versions/ffmpeg.html
3: 
https://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/2015-May/043980.html

_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to