On Fri, 2013-11-01 at 16:52 +0000, Alessandro DE LAURENZIS wrote:
> Kent Fredric <kentfredric <at> gmail.com> writes:
> 
> > Useflags have their perks for giving variations on behaviour, but having 3
> > effective packages in one, governed by useflags, means you'll have 3 much
> > more tightly coupled packages, and the code will be much messier with
> > useflag conditionals to pull dependencies.
> > 
> > If you imagine useflags like "if" statements, and ebuilds like independent
> > classes where "dependencies" are a kind of inheritance, you may find theres'
> > reasonable benefits for the maintenance side  e.g.: people checking reverse
> > deps for QT don't have to worry about changes in QT breaking vim and gvim
> > because those packages are independent of QT interaction 
> > 
> > 
> > Fixes that need to go in to make building vs QT mean only the qvim ebuild
> > gets updated and the rest are fine as-is.
> > 
> > The only real downside is if you're building all 3 {q,g,}vim there's a
> > little compile time overhead as a result ( Though I'm not sure what the
> > difference is in real terms )
> > 
> > But by having them seperate, we enjoy a more robust installation,
> > especially for people who only want one of the 3, then they're not
> > needlessly burdened by logic to handle things they're not using, which
> > could break.
> > 
> > Not to mention you have to deal with overheads introduced by having to
> > work out the equivalent of all three of the above having vastly different
> > useflags and making useflags conditional upon each other as a result to
> > codify the same behaviour, again, further raising the odds that a situtation
> > will arise where things break and the dependencies/use flags are  a mess.
> 
> Kent,
> 
> all your argumentations make sense, but actually only apply to vim-qt, which
> isn't in fact in the vim main tree.
> 
> In other words: it's normal that vim and vim-qt are two different packages,
> but gvim is just vim with the GUI interface (neither an add-on nor a different
> project); playing with USE flags in /etc/portage/package.use should give easy
> access to all the possible options:
> 
> - only vim ("-gtk");
> - gvim ("gtk");
> - qvim ("-gtk" for vim and vim-qt as package, having vim as dependency);
> - or even both ("gtk" for vim and vim-qt).
> 
> What's wrong or complex (from a mantainer perspective) with this?
> 
> Thanks for your comments
> 
> 
> 
For binary package use, it's nice, as you may want to only install vim
on one machine, and gvim on a different one, but if you use the same
binhost that means you have to build vim rather than use the binary
packages.


Reply via email to