Bug 366

Summary: dvdstyler dependency bloat
Product: Fedora Reporter: Ville Skyttä <ville.skytta>
Component: dvdstylerAssignee: Stewart Adam <s.adam>
Status: RESOLVED FIXED    
Severity: normal CC: kwizart
Priority: P5    
Version: 9   
Hardware: All   
OS: GNU/Linux   
namespace:

Description Ville Skyttä 2009-02-08 10:32:03 CET
# yum install dvdstyler
[...]
Installing:                                                                     
 dvdstyler               x86_64  1:1.7.1-3.fc9    rpmfusion-free-updates  1.0 M 
Installing for dependencies:                                                    
 evolution-data-server   x86_64  2.22.3-2.fc9     updates-newkey          3.9 M 
 gstreamer-plugins-flumpegdemux                                                 
                         x86_64  0.10.15-2.fc9    updates-newkey           62 k 
 gstreamer-plugins-good  x86_64  0.10.8-8.fc9     updates-newkey          980 k 
 iso-codes               noarch  2.0-1.fc9        fedora                  1.8 M 
 libshout                x86_64  2.2.2-3.fc9      fedora                   43 k 
 libsoup                 x86_64  2.4.1-1.fc9      fedora                  133 k 
 totem                   x86_64  2.23.2-10.fc9    updates-newkey          2.4 M 
 totem-gstreamer         x86_64  2.23.2-10.fc9    updates-newkey           71 k 
 totem-pl-parser         x86_64  2.22.3-1.fc9     updates-newkey          747 k 
 totem-xine              x86_64  2.23.2-10.fc9    updates-newkey           53 k 

That's quite a bit of bloat, I don't want yet another media player and its dependencies installed.  This seems to come from the totem-backend dependency.  Is it there for anything else besides totem being the default preview command?  If not, I suggest just dropping the dep.
Comment 1 Stewart Adam 2009-02-08 17:24:16 CET
The previewer can be set to any media player than can decode DVDs, so if you'd like you can install with --nodeps and it won't break anything as long as you change the default preview command.

We could use other media players (default upstream is Xine), but I changed it to totem for this reason - I didn't want to keep pulling in Xine all the time when Totem is Fedora's default media player on Gnome and it's included in most installs anyways.
Comment 2 Ville Skyttä 2009-02-08 19:07:47 CET
(In reply to comment #1)
> The previewer can be set to any media player than can decode DVDs, so if you'd
> like you can install with --nodeps and it won't break anything as long as you
> change the default preview command.

Sure, that's what I've done already.  But this way the issue will be rubbed to my face again every time dvdstyler is updated unless I come up with silliness like installing a local dummy package that has a fake Provides: totem-backend.

> Totem is Fedora's default media player on Gnome and it's included in most
> installs anyways.

So with this rationale, what's the reason for not dropping the dependency altogether (as suggested in the initial comment)?
Comment 3 Stewart Adam 2009-02-08 19:41:36 CET
That's possible, but then in the case that the user doesn't have VLC, totem, or xine installed and they don't change the command to match manually, DVD previewing is broken.
Comment 4 Ville Skyttä 2009-02-08 21:02:50 CET
I don't see how VLC and xine are relevant here, there are no dependencies to them, and one would need to adjust the preview command to get them to be used anyway, at which point it should be pretty clear to users that they need the app they configure dvdstyler to use installed.  BTW I'm pretty sure that a dependency on totem-backends is not enough to get totem with DVD playback support installed.

I assume that dvdstyler doesn't auto-adjust the preview command based on what's available (I have xine but it still defaults to totem for preview).  I can't verify this now though, because dvdstyler seems to always hang in the "Create VOB files" step.

Comment 5 Stewart Adam 2009-02-09 22:34:05 CET
(In reply to comment #4)
> I don't see how VLC and xine are relevant here, there are no dependencies to
> them, and one would need to adjust the preview command to get them to be used
> anyway, at which point it should be pretty clear to users that they need the
> app they configure dvdstyler to use installed.  BTW I'm pretty sure that a
> dependency on totem-backends is not enough to get totem with DVD playback
> support installed.
True, we would also need gstreamer-plugins-bad... I'll keep the default previewer to totem, but remove the dependency.

> I assume that dvdstyler doesn't auto-adjust the preview command based on what's
> available (I have xine but it still defaults to totem for preview).  I can't
> verify this now though, because dvdstyler seems to always hang in the "Create
> VOB files" step.
Nope, it doesn't autodetect the installed media players.
Comment 6 Stewart Adam 2009-02-20 06:51:28 CET
Just an update on the issue - I'm removing the dependency next build. I looked into the freezing problem you mentioned earlier and it looks like it's been fixed in the 1.7.2 betas, but they seem require a slightly newer ffmpeg than we have in F-10 that includes the av_find_nearest_q_idx function... Will investigate more in a day or two.
Comment 7 Stewart Adam 2009-03-09 02:06:38 CET
I've built 1.7.2 that fixes the hangs and the dependency bloat locally, will build as soon as the buildsys comes back online.
Comment 8 Nicolas Chauvet 2009-03-09 10:49:01 CET
For this problem to be properly handled, we need to provide a method to have a default command line for dvd playback, which use a script to wrap which dvd player is currently available on the system.
That would be the same kind of script as xdg-open does for opening document.

So there is a need for:
- A script namespace (or using alternative)
- A virtual provide for package that provide that capability.
Comment 9 Stewart Adam 2009-03-09 14:58:15 CET
(In reply to comment #8)
> For this problem to be properly handled, we need to provide a method to have a
> default command line for dvd playback, which use a script to wrap which dvd
> player is currently available on the system.
> That would be the same kind of script as xdg-open does for opening document.
> 
> So there is a need for:
> - A script namespace (or using alternative)
> - A virtual provide for package that provide that capability.
This would be advantageous if only one player was installed at a time, but if 2+ are installed at once wouldn't it be the same thing as the user would need to set player priorities in the wrapper?