Bug#523842: mplayer: Debdiff with the change to create the nogui package, as well as a manpages package

Reinhard Tartler siretart at tauware.de
Mon May 25 06:02:11 UTC 2009


fabrice <coutadeurf at gmail.com> writes:

>> how about merging the configure and merge and build targets for all
>> variants? We cannot build in parallel anyway and they are all phony
>
> You mean merge the configure, build and install targets? This is more or
> less what I tried, but I can make it cleaner.
> The only issue is that we still needs the configure step for the
> documentation, so we will end running 3 times the configure script. we
> can live with that.

yes, running configure steps multiple times is unavoidable. In FFmpeg,
I've come away with this as FFmpeg's configure supports VPATH builds,
while mplayer's doesn't. This means the FFmpeg variants can be built in
parallel, which is impossible with mplayer.

>>> -	$(MAKE) install-gui DESTDIR=$(destdir)
>>> -	$(MAKE) install-mplayer-gui-man DESTDIR=$(destdir)
>>> +	$(MAKE) install-mplayer DESTDIR=$(CURDIR)/debian/mplayer-nogui
>>>  
>> so no manpage for the nogui variant?
>
> That's because I split the manpages to a different package. But I
> understand your point bellow, so we can install only the english version
> of the manpage in the mplayer package, and reduce archive size.

ah yes, we are discussing this further below.

>>> diff -u mplayer-1.0~rc3+svn20090405/debian/control mplayer-1.0~rc3+svn20090405/debian/control
>>> --- mplayer-1.0~rc3+svn20090405/debian/control
>>> +++ mplayer-1.0~rc3+svn20090405/debian/control
>>> @@ -75,6 +75,9 @@
>>>  	 mplayer-skin,
>>>  	 ${shlibs:Depends},
>>>  	 ${misc:Depends}
>>> +Recommends: mplayer-manpages
>>> +Conflicts: mplayer-nogui
>>> +Replaces: mplayer-nogui
>>>  Description: movie player for Unix-like systems
>>>   MPlayer plays most MPEG, VOB, AVI, Ogg/OGM, VIVO,
>>>   ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA files,
>>
>>
>> Yes, I know that this is taken from marillat. While reviewing your
>> patch, I was think if it wouldn't actually make more sense to not
>> make these package conflict, but rather do the following instead:
>
> This is because actually, the 2 packages contain the same executable
> (mplayer), so to avoid issue during installation, we have to make them
> conflict, except if we rename them.

exactly!

>>  - in mplayer: install /usr/bin/mplayer.gui
>>  - in mplayer-nogui: install /usr/bin/mplayer.nogui
>>  - use update-alternatives(8) in both packages
>
> I like the idea of update-alternatives, and having the 2 packages not
> conflicting by installing the same file. It has to be run in the
> debian/postinst file, right?

So is my understanding of update-alternatives.

I have to admit that I haven't used update-alternatives in a package
myself yet, but only as a user/administrator. It seems to me well suited
here. As package maintainer, you can give priorities to the
alternatives.  The gui variant should of course have a higher priority
so that it is used when installed. When removed, the symlink goes to the
nongui version.

The other option would be to do the symlink magic ourselves in the
postinst scripts. I imagine it will be pretty hard to get it right,
because you have to consider the various combinations in what order the
packages can be installed, configured, unpacked, deconfigured and so
on. Using an external registry like update-alternatives just feels right
to me.

>
>>  - make mplayer depend on mplayer.nogui
>>  - don't install support files like documentation to gui since it is
>>    already shipped with the nogui package.
>
> How can we use update-alternative, if we always install both packages?
> Also, we will end up with more disk size, as we will have 2 times the
> executable. Or is there something I didn't understood?
>
>>> +Package: mplayer-manpages
>> is that really necessary? I read from your mail you want to save archive
>> space, but I'm not really comfortable with not shipping the manpage in
>> the normal package is not really comfortable. How about installing only
>> the english manpage to the nogui package and all translations in
>> mplayer-doc?
>
> Yes: that's a good idea.

:-)

>>> +++ mplayer-1.0~rc3+svn20090405/debian/mplayer-nogui.install
>>> +++ mplayer-1.0~rc3+svn20090405/debian/mplayer-nogui.examples
>>> +++ mplayer-1.0~rc3+svn20090405/debian/mplayer-nogui.mime
>>> +++ mplayer-1.0~rc3+svn20090405/debian/mplayer-nogui.preinst
>>
>> with the approach outlined above, we don't need to duplicate these
>> files. Duplicating files in the package is certainly not acceptable as
>> it is too error prone.
>
> Another approach could be to create a mplayer-common package, with all
> that stuff (that's what I did at first).

I've considered that as well. However, I think this only makes sense for
packages, that have a large portion of architecture independent data
which can be shared across architectures. This is not the case for mplayer.

> Thanks for your review! I'll continue working on the package, and upload
> a new debdiff as soon as all changes are performed.

thank you for your work. I'm looking forward to your next version! :-)

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





More information about the pkg-multimedia-maintainers mailing list