[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: use of Recommends by vlc to force users to use pipewire



* Dylan Aïssi <daissi@debian.org> [220530 08:31]:
> Le lun. 30 mai 2022 à 12:55, Jonas Smedegaard <jonas@jones.dk> a écrit :
> >
> >  a) pipewire package enables pipewire service by default
> 
> Indeed, but pipewire service doesn't take control of audio over
> pulseaudio. Only pipewire-pulse does that.
> So, if you don't want to use pipewire for audio, then don't install
> pipewire-pulse and that's it.
> What is the real issue with pipewire service?
> 
> libpipewire recommends pipewire for a reason [1], do you mean this is
> not a good reason?
> 
> [1] https://salsa.debian.org/utopia-team/pipewire/-/merge_requests/1

Jonas is exactly correct.  Because it is a very common case for a user
to need to have libpipewire installed but want to _not_ have pipewire
installed, libpipewire MUST NOT Recommed pipewire.

"Recommends"
   This declares a strong, but not absolute, dependency.

   The "Recommends" field should list packages that would be found
   together with this one in all but unusual installations.

pipewire clearly _does not_ satisfy this definition.  It is up to the
application that links with libpipewire to determine if pipewire should
be a Depends, Recommends, Suggests, or none of these.

As an alternative, you could separate libpipewire into libpipewire
(non-audio-server API) and libpipewire-pulse (audio server API).  Have
libpipewire-pulse Suggest, but not Recommend, pipewire-pulse.
Applications that want to use whatever sound server the user has
installed will link with libpipewire-pulse instead of libpipewire, and
will not automatically pull in pipewire or pipewire-pulse.  However, I'm
not sure if this would or would not leave the non-audio libpipewire in
the same position that the current libpipewire is in.

To answer your question above, I presume that one of libpipewire's
functions is to determine whether specific pipewire services are
available, perhaps by calling an init function and checking the result.
This clearly obviates the reason stated in the above link, and adding
the Recommends violates the policy definition and creates undesired
setups for users in many situations.  So, no, that is not a good reason.

...Marvin


Reply to: