View previous topic :: View next topic |
Which of variants in post 1 would you prefer? |
A (USE=libav for libav, USE=-libav for ffmpeg, USE=ffmpeg for optional libav/ffmpeg) |
|
24% |
[ 18 ] |
B (USE=ffmpeg/libav to select, and USE=avcodec for optional either of them) |
|
29% |
[ 22 ] |
C (FFMPEG_IMPL=ffmpeg/libav to select, USE=ffmpeg for optional either of the impls) |
|
45% |
[ 34 ] |
|
Total Votes : 74 |
|
Author |
Message |
derk Guru
Joined: 10 Mar 2003 Posts: 347 Location: St Thomas Ontario
|
Posted: Tue Feb 03, 2015 4:02 pm Post subject: |
|
|
so if you have libav set as your default and want either mplayer or k9copy will portage now be designed to automaticly switch you to ffmpeg instead .. via autounmask and friends etc.. ?
Actually will the postproc avcodec avformat swscale flags (VLC) also be effected by the switch? .. some of these seem redundant already.
Last edited by derk on Tue Feb 03, 2015 4:53 pm; edited 1 time in total |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Tue Feb 03, 2015 4:52 pm Post subject: |
|
|
miket wrote: | Here's my option E (option D already having been claimed):that works independently of the setting of USE=ffmpeg. |
This is option A with just a different name for the USE-flag. So if you want this, you should vote A.
However, since you claim that this is a generic solution for possibly also other virtuals: It is not; it works only if you have exactly two choices for the virtual. More chocie practically require B or C (if there are subslot dependenceis). |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Tue Feb 03, 2015 5:23 pm Post subject: |
|
|
Dr.Willy wrote: | khayyam wrote: | As for a "working solution" not so far covered, we could drop libav entirely ... |
Probably because that is not a "working solution" for anyone who wants to use libav. |
Dr.Willy ... yes, but as I stated above this problem seems to me casually the outcome of poor decisions made previously, namely libav entering the tree. Now, it wasn't the case that users were clamouring to have libav, most users just take whatever is provided by virtual/ffmpeg, it was added because of the relationship between developers and the fork. This wasn't a decision that was the express wish of a subset of users (least of all a majority, and/or a good percentage) it came to be as a decision made by one or two persons. The fact that it has brought with it these issues it directly attributable to that decision ... and the main point is that it hasn't benefited users at all. So, the "working solution" above is meant to underline that decisions have consequences ... and that those consequences often lead to situations like we have presented here ... none of which per se benefits users.
best ... khay |
|
Back to top |
|
|
229566 Tux's lil' helper
Joined: 16 Aug 2010 Posts: 127
|
Posted: Tue Feb 03, 2015 6:29 pm Post subject: |
|
|
Am I assuming correctly that this issue is not unlike OpenSSL with several implementations of it (Open, Polar), and one more coming up - LibreSSL?
To me the cleanest solution would be for ffmpeg to install/build against ffmpeg, and libav to install/build against libav, and then portage ensuring that both can't be defined. However, that approach would probably make impossible any combinations where one package would build against ffmpeg, and another against libav - if something like that is at all desirable (and imho it is, for choice is good). In which case I really think that a global (or per-package) USE flag of ffmpeg should mean both/any of the two, and then packages define FFMPEG_IMPL, or whatever. |
|
Back to top |
|
|
gotyaoi Tux's lil' helper
Joined: 01 Apr 2013 Posts: 137
|
Posted: Tue Feb 03, 2015 6:57 pm Post subject: |
|
|
I'm not sure any of the given options are all that good. Given that the virtual package doesn't work since the two are not binary compatible, and given that some packages can only build against one or the other, what advantage can come of specifying which package you want in this manner, as opposed to through masking the undesirable package or `emerge -1`'ing the package that you want? What can a package do in the case where it finds you prefer the implementation it can't work with other than say you can't install it. Is that really any clearer or better than blocking? |
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Tue Feb 03, 2015 7:41 pm Post subject: |
|
|
I personally would prefer libav to be removed until it's had an in-depth security audit like ffmpeg has - stealing upstream fixes to four-year-old CVEs is not an acceptable or responsible alternative. |
|
Back to top |
|
|
miket Guru
Joined: 28 Apr 2007 Posts: 488 Location: Gainesville, FL, USA
|
Posted: Tue Feb 03, 2015 8:15 pm Post subject: |
|
|
Sorry, but you have mistaken the interpretation on two counts.
mv wrote: | miket wrote: | Here's my option E (option D already having been claimed):that works independently of the setting of USE=ffmpeg. |
This is option A with just a different name for the USE-flag. So if you want this, you should vote A.
However, since you claim that this is a generic solution for possibly also other virtuals: It is not; it works only if you have exactly two choices for the virtual. More chocie practically require B or C (if there are subslot dependenceis). |
* Solution A as stated is ambiguous. USE=libav could signify either of "build package X having an optional direct dependency on media-video/libav with that dependency" or "use libav when choosing the dependency to resolve virtual/ffmpeg". That USE flag would lurk around fooling people into thinking it was an ordinary USE flag.
* There is nothing to constrain a prefer_* prefix to a binary selection for a virtual. Here's an example of multiple flags: prefer_mariadb, prefer_mysql, prefer_percona, and prefer_mariadb-galera. The prefix does eliminate the ambiguity between the virtual-influencing USE flag and a "normal" one.
Yes, the solution does fall down in the face of slotted dependencies. There are cases that might warrant introducing a special new variable. Is there really a need for that kind of thing for most packages? Indeed, do you need that kind of control for the case of virtual/ffmpeg?
As is the case with most USE flags, it would likely be better to apply the prefer_* USE flags directly in package.use for the virtual. Using the prefer_ prefix retains an advantage even in this case: it lowers the risk that inadvertently forgetting to unset a globally applied ffmpeg.
Here's what I mean by this last item. Here's the situation I'm trying to avoid: Code: | # grep virtual/ffmpeg /etc/portage/package.use
virtual/ffmpeg libav
# USE=ffmpeg emerge sox | which sets up an ambiguity between ffmpeg and libav because the line from package.use did not unset ffmpeg.
I would have it as Code: | # grep virtual/ffmpeg /etc/portage/package.use
virtual/ffmpeg prefer_libav
# USE=ffmpeg emerge sox |
This has to be said: I never actually install packages with the USE flag in the emerge environment like that. On the other hand, it is a very useful idiom for doing pretend emerges.
This takes me to choice F: require explicit setting of USE flags for virtuals. I could live with this one--and it means introducing no new USE flags. Make the virtual ebuild complain if multiple dependency USE flags are enabled and insist that people use the package.use to make the selections: Code: | # grep virtual/ffmpeg /etc/portage/package.use
virtual/ffmpeg -ffmpeg libav |
|
|
Back to top |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Tue Feb 03, 2015 8:29 pm Post subject: |
|
|
Modified B (USE=ffmpeg/libav to select, forget the third flag for either)
I believe portage already has a mechanism for one of two flags to be required. Otherwise go with the virtual. Three flags for two choices is one flag too many.
USE="-libav" doesn't mean USE="ffmpeg", it means don't use libav. I think this being made overly complex in order to deprecate ffmpeg. |
|
Back to top |
|
|
John R. Graham Administrator
Joined: 08 Mar 2005 Posts: 10589 Location: Somewhere over Atlanta, Georgia
|
Posted: Tue Feb 03, 2015 8:49 pm Post subject: |
|
|
miket wrote: | ...
Solution A as stated is ambiguous.
... | I don't think these simple tokens need to be unambiguous (in the sense you mean). It's okay in my mind for the USE flag descriptions to explain and disambiguate the meaning.
I prefer B or something close to it. I also don't like creating a new USE_EXPAND unless there's a strong technical justification for it, basically for reasons others have stated.
- John _________________ I can confirm that I have received between 0 and 499 National Security Letters. |
|
Back to top |
|
|
mgorny Developer
Joined: 27 Apr 2007 Posts: 83
|
Posted: Tue Feb 03, 2015 9:00 pm Post subject: |
|
|
Tony0945 wrote: | Modified B (USE=ffmpeg/libav to select, forget the third flag for either)
I believe portage already has a mechanism for one of two flags to be required. Otherwise go with the virtual. Three flags for two choices is one flag too many. |
Do you really want to make me angry? Is it thard hard to read the part why this won't work? Do I have to repeat myself for tenth time today?
Tony0945 wrote: | USE="-libav" doesn't mean USE="ffmpeg", it means don't use libav. I think this being made overly complex in order to deprecate ffmpeg. |
Yes, it's a conspiracy. I'm wasting two days of my life to bring doom to ffmpeg. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54239 Location: 56N 3W
|
Posted: Tue Feb 03, 2015 9:13 pm Post subject: |
|
|
There are no good answers.
The least worst is the USE_EXPAND as it provides consistency. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
mgorny Developer
Joined: 27 Apr 2007 Posts: 83
|
Posted: Tue Feb 03, 2015 9:25 pm Post subject: |
|
|
Thanks for all your replies. This is really a minor issue, and I didn't suspect it may bring this much discussion, this many conflicting ideas and so much anger between different parties. Neither did I expect the votes to be this evenly split. But as NeddySeagoon said, there are no good solutions here.
So to avoid further delays and conflicts I'm going to with option A. More precisely, restore the previous news item and just unmask the packages. While it may not be perfect, it's a least-effort solution for the current mess. Option C would be my choice if not how many people were strongly opposed to it and how many people wanted an eclass because of it. Complexity over complexity, that's what it is. So I'd rather go with the typical Gentoo 'we made something a mess, now you RTFM to figure out how to do it'.
I'm sorry for all the issues. If you have any ideas how to get ffmpeg/libav upstreams sane, I think that's the better thing to do here than finding a solution for their insanity. For a start, we may consider boycotting both packages and all their reverse dependencies for a better world :P. |
|
Back to top |
|
|
229566 Tux's lil' helper
Joined: 16 Aug 2010 Posts: 127
|
Posted: Tue Feb 03, 2015 9:31 pm Post subject: |
|
|
NeddySeagoon wrote: | There are no good answers.
The least worst is the USE_EXPAND as it provides consistency. |
I'd give that solution a bit more credit than just calling it "least worst". So many kinds of relations between packages can't be solved with a flat one-dimensional list without sacrificing usability and "faking" other dimensions with prefixes like linguas_, or in this case ffmpeg_impl_, and others. |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Tue Feb 03, 2015 9:56 pm Post subject: |
|
|
mgorny wrote: | So to avoid further delays and conflicts I'm going to with option A. |
I'd call that a classic show election ... what "conflict", and what "anger"? ... except for perhaps your making Tony0945 a show distraction for more substantive points, there wasn't any.
mgorny wrote: | I'm sorry for all the issues. If you have any ideas how to get ffmpeg/libav upstreams sane, I think that's the better thing to do here than finding a solution for their insanity. |
You could take this up with your fellow developers, after all *someone* started us down this path ... and it wasn't the users inundating devs with requests for libav.
mgorny wrote: | For a start, we may consider boycotting both packages and all their reverse dependencies for a better world :P. |
Indeed, and we could start with libav, see how that goes, and then when "problems" arise we could turn on ffmpeg.
best ... khay |
|
Back to top |
|
|
mgorny Developer
Joined: 27 Apr 2007 Posts: 83
|
Posted: Tue Feb 03, 2015 10:22 pm Post subject: |
|
|
khayyam wrote: | mgorny wrote: | So to avoid further delays and conflicts I'm going to with option A. |
I'd call that a classic show election ... what "conflict", and what "anger"? ... except for perhaps your making Tony0945 a show distraction for more substantive points, there wasn't any. |
No, it wasn't, and I'd appreciate if you weren't such an ass. In fact, before this thread I was convinced on going with C. You can judge only what you see here. I'm really tired, you know? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54239 Location: 56N 3W
|
Posted: Tue Feb 03, 2015 10:27 pm Post subject: |
|
|
khayyam,
There has been a heated discussion on the -dev ml. Far more than this issue warrants. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Tony0945 Watchman
Joined: 25 Jul 2006 Posts: 5127 Location: Illinois, USA
|
Posted: Tue Feb 03, 2015 10:33 pm Post subject: |
|
|
Quote: | ... I'd appreciate if you weren't such an ass. |
Likewise. YOU were the one who asked for opinions. If you were going to just stare into your navel on Mount Olympus, why did you bother asking?
Personally, I'm offended by your tantrum at my reasonably worded reply. You wouldn't by any chance be 15 years old, would you? |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Tue Feb 03, 2015 11:09 pm Post subject: |
|
|
Quote: | ... I'd appreciate if you weren't such an ass. |
Tony0945 wrote: | Likewise. YOU were the one who asked for opinions. If you were going to just stare into your navel on Mount Olympus, why did you bother asking?
Personally, I'm offended by your tantrum at my reasonably worded reply. You wouldn't by any chance be 15 years old, would you? |
Lol, no though he sometimes acts like it. As stated, I think someone's just near burnout and needs a bit of downtime.
Happens to the best of us. |
|
Back to top |
|
|
davidm Guru
Joined: 26 Apr 2009 Posts: 557 Location: US
|
Posted: Tue Feb 03, 2015 11:35 pm Post subject: |
|
|
C is what I voted for out of the options I see available. It is the least ambiguous and allows a way to make a clear choice with little work.
However personally I think the 'ffmpeg' flag should have always been just ffmpeg and the new libav should have used the libav flag. The traditional default should always remain the default absent extreme reasons to do otherwise such as a major licensing change incompatible with FOSS or the upstream no longer being maintained. When you go against this you create messes like this. If after the fork to libav people wanted to have libav instead let them then manually change their use flags.
BTW I completely respect the work of the libav developers. Thank you (if you read this) for creating a viable choice. All I'm saying is that people should have a reasonable choice and it should not be made for them. |
|
Back to top |
|
|
davidm Guru
Joined: 26 Apr 2009 Posts: 557 Location: US
|
Posted: Tue Feb 03, 2015 11:42 pm Post subject: |
|
|
ulm wrote: | Both options B and C violate the KISS principle, because where one flag would be sufficient, you will have two. Which are mutually exclusive, so you must jump through hoops (i.e. REQUIRED_USE) to suppress the meaningless combinations.
With regard to option C: I fear that the USE_EXPAND setting will be hard to find for users who prefer the implementation that is not the default (i.e. if they want ffmpeg). Tools like ufed and flaggie support normal USE flags only. |
True. But making 'ffmpeg' mean 'libav' by default already did that IMHO. As a returning user (in December) I found it quite unintuitive and you could say "rude" that libav was selected by default when there did not appear to be a significant reason to do that. I read a couple forum topics on that and even then did not see a real reason for it other than it seems a developer pushed the choice seemingly without a lot of scrutiny (I may not have the whole picture though). I fixed the issue by masking libav but was a bit annoyed. I doubt I am the only one. I would be more upset if I still had my old P4 as it would have meant losing half a day recompiling related packages after the new install.
Again no disrespect to libav developers or even those in favor of libav by default for the 'ffmpeg' virtual package. I respect and appreciate your work assuming you have a positive intent to make Linux/Gentoo better. |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Wed Feb 04, 2015 12:15 am Post subject: |
|
|
Yeah but if you can't have both installed..
Anyhow, B makes the most sense from a user-perspective, imo. |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Wed Feb 04, 2015 12:17 am Post subject: |
|
|
mgorny wrote: | khayyam wrote: | mgorny wrote: | So to avoid further delays and conflicts I'm going to with option A. |
I'd call that a classic show election ... what "conflict", and what "anger"? ... except for perhaps your making Tony0945 a show distraction for more substantive points, there wasn't any. |
No, it wasn't, and I'd appreciate if you weren't such an ass. In fact, before this thread I was convinced on going with C. You can judge only what you see here. I'm really tired, you know? |
mgorny ... in which case 2015-02-01-use-libav must have been something of an unwanted premonition, as its oddly in conformity with the final outcome, but anyhow, I honestly try *not* to be an ass, but if you vent on one particular poster, when more substantive issues were there for the taking, then I read that as an attempt to draw attention away from those issues (and "conspiracy" makes for an easy subject for distraction). If I sense that in an argument, particularly if the discussion is then closed, then I'm gonna call it.
best ... khay |
|
Back to top |
|
|
Fitzcarraldo Advocate
Joined: 30 Aug 2008 Posts: 2034 Location: United Kingdom
|
Posted: Wed Feb 04, 2015 2:53 am Post subject: |
|
|
Code: | sed -i s/ffmpeg/ffmpeg\ -libav/ /etc/make.conf |
In my case, thankfully very simple. _________________ Clevo W230SS: amd64, VIDEO_CARDS="intel modesetting nvidia".
Compal NBLB2: ~amd64, xf86-video-ati. Dual boot Win 7 Pro 64-bit.
OpenRC udev elogind & KDE on both.
Fitzcarraldo's blog |
|
Back to top |
|
|
mgorny Developer
Joined: 27 Apr 2007 Posts: 83
|
Posted: Wed Feb 04, 2015 7:21 am Post subject: |
|
|
khayyam wrote: | mgorny wrote: | khayyam wrote: | mgorny wrote: | So to avoid further delays and conflicts I'm going to with option A. |
I'd call that a classic show election ... what "conflict", and what "anger"? ... except for perhaps your making Tony0945 a show distraction for more substantive points, there wasn't any. |
No, it wasn't, and I'd appreciate if you weren't such an ass. In fact, before this thread I was convinced on going with C. You can judge only what you see here. I'm really tired, you know? |
mgorny ... in which case 2015-02-01-use-libav must have been something of an unwanted premonition, as its oddly in conformity with the final outcome, but anyhow, I honestly try *not* to be an ass, but if you vent on one particular poster, when more substantive issues were there for the taking, then I read that as an attempt to draw attention away from those issues (and "conspiracy" makes for an easy subject for distraction). If I sense that in an argument, particularly if the discussion is then closed, then I'm gonna call it. |
If you cared enough to take a look at the mailing list, you'd know that I already did the work for C, including a new news item and a big diff for all ebuilds. All that is wasted now. Does that make you happier? |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Wed Feb 04, 2015 8:07 am Post subject: |
|
|
One guy not being able to understand why he is making technically impossible "suggestions", despite explanations in the first posting, and even being offended when this is told to him.
Another guy complaining that gentoo allowed choice and attacking the developers that gave him choice and attacking another developer for trying hard to make the choice more convenient and technically sane (please recall: easy choice is among the distribution's main philosophy).
A developer calling this kindergarden what it is and being attacked for doing so.
All in all due to some loud people a decision going overboard which has a clear majority of user's votes.
In this thread, I am really ashamed about the community. Gentoo what has become of you? |
|
Back to top |
|
|
|