[SCM] FFmpeg packaging branch, master, updated. debian/0.5.1-2-3-g81c299a

Reinhard Tartler siretart at tauware.de
Mon May 10 07:38:52 UTC 2010


On Sun, May 09, 2010 at 23:27:28 (CEST), Andres Mejia wrote:

> On Sunday 09 May 2010 17:07:35 Reinhard Tartler wrote:
>> On Sat, May 08, 2010 at 09:35:19 (CEST), ceros-guest at users.alioth.debian.org 
> wrote:
>> > The following commit has been merged in the master branch:
>> > commit 81c299a45ae49fe1acd96907c81b2b66af2e922f
>> > Author: Andres Mejia <mcitadel at gmail.com>
>> > Date:   Sat May 8 03:34:09 2010 -0400
>> > 
>> >     Fix dependency problem for ffmpeg binary package when using extra
>> >     ffmpeg libs.
>> 
>> I don't understand this patch. What is the issue here? Currently the
>> ffmpeg package has dependency like these:
>> 
>> libavcodec52 (>= 4:0.5.1-3) | libavcodec-extra-52 (>= 4:0.5.1-3),
>> libavcodec52 (<< 4:0.5.1-99) | libavcodec-extra-52 (<< 4:0.5.1-99)
>> 
>> If I understand this patch correctly, the ffmpeg package cannot be
>> installed with the binary package from ffmpeg-extra.
>> 
>> Can you please elaborate on this change?
>
> The problem is that the deb version for ffmpeg-extra might be lower than the 
> deb version for main ffmpeg packages. For instance, ffmpeg would expect a 
> version of libavcodec-extra-52 (>= 4:0.5.1-3), even though no such package is 
> available yet.

Oh I see. Yes, that's indeed a problem.

>> > diff --git a/debian/rules b/debian/rules
>> > index b6d2051..ca852f8 100755
>> > --- a/debian/rules
>> > +++ b/debian/rules
>> > @@ -126,12 +126,13 @@ binary-arch: build install formats.txt
>> > 
>> >  	    dh_makeshlibs -p"$$pkg" -V"$$pkg (>= $(DEB_VERSION)) | $$upkg (>=
>> >  	    $(DEB_VERSION)), $$pkg (<< $(EPOCH)$(UPSTREAM_VERSION)-99) |
>> >  	    $$upkg (<< $(EPOCH)$(UPSTREAM_VERSION)-99)"; \
>> >  	
>> >  	done
>> >  	env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/usr/lib" \
>> > 
>> > -	dh_shlibdeps
>> > +	dh_shlibdeps -Nffmpeg
>> > 
>> >  # target dependencies for external packages
>> >  
>> >  	for pkg in $(LIB_PKGS); do \
>> >  	
>> >  	    upkg=$$(echo "$$pkg" | sed -r 's/([0-9]+)$$/-extra-\1/'); \
>> >  	    dh_makeshlibs -p"$$pkg" -V"$$pkg (>= $(SHLIBS_VERSION)) | $$upkg
>> >  	    (>= $(SHLIBS_VERSION))"; \
>> >  	
>> >  	done
>> > 
>> > +	dh_shlibdeps -pffmpeg
>> 
>> I guess the same could have been accomplished by putting 'ffmpeg' in the
>> for loop like this:
>> 
>> for pkg in ffmpeg $(LIB_PKGS); do \
>> ...
>> 
>> But as stated above, I think this is wrong. Or I misunderstood something.
>
> Actually, dh_makeshlibs and dh_shlibdeps do not do the same thing, so what you 
> propose won't work. dh_shlibdeps still needs to be run for ffmpeg as well. The 
> use of running dh_shlibdeps solely for ffmpeg after the creation of target 
> dependencies for external packages was so that ffmpeg could make use of the 
> ffmpeg-extra libs, just like any other external package.

Ah, now I understand the change. you want to have the ffmpeg package
treated just like any other package in the archive that links to
ffmpeg. This is a very valid request, and now I see that your
implementation matches that.

I was concerned because I'm pondering about fixing bug #578500 and
thought that your change would make creating a seperate ffplay package
unnecessarily hard. Now I see that this is straight forward to extend.

sorry for picking so hard on you ;-)

What do you think about the ffplay package? Shall we schedule it for
the next upload to experimental?

I do plan to upload 4:0.6-1 to experimental as soon as ffmpeg 0.6 is
ready, and don't really care about how long ftp-master takes to process
it. I need to package for maverick.

We could perhaps consider creating an 'experimental' archive for
debimedia, though.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4



More information about the pkg-multimedia-maintainers mailing list