-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 11/08/15 08:58 AM, Sergey Popov wrote:
> 11.08.2015 15:30, Michael Palimaka пишет:
>> On 11/08/15 20:10, Sergey Popov wrote:
>>> Err, i have read the whole thread and still does not get a
>>> point, why i am wrong.
>> 
>> You clearly have not. The reasoning behind Qt team's policy is
>> described on the page and has been reiterated on this list. You
>> are undermining what little confidence there is in the QA team by
>> making decisions with no consultation about problems you do not
>> understand.
>> 
>>> It's old battle like we have beforce with "gtk" meaning "any
>>> versions of GTK flag". This behaviour should be killed with
>>> fire.
>>> 
>>> Let's me reiterate some of the cases:
>>> 
>>> 1. Package can be build without Qt GUI at all, but either Qt4
>>> or Qt5 can be chosen, but not both.
>>> 
>>> Fix this with REQUIRED_USE, do not enable any of Qt flags by
>>> default
>> 
>> Problem: this requires manual intervention if the user has both
>> qt4 and qt5 USE flags enabled.
>> 
> 
> User choice of using USE flags is NOT a problem
> 
>>> 
>>> 2. Package can not be build without Qt GUI - either Qt4 or Qt5
>>> is required, but not both
>>> 
>>> Same thing here, different REQUIRED_USE operator. But - enable
>>> one of the flags by default to ease life of users.
>> 
>> Problem: this requires manual intervention if the user has both
>> qt4 and qt5 USE flags enabled.
> 
> Same here
> 
>>> 
>>> 3. Package can be build with Qt4 or Qt5 or both AT THE SAME
>>> TIME(if such package even exists?)
>>> 
>>> Do not use REQUIRED_USE here, not needed.
>>> 
>>> Now, please tell me, where am i wrong?
>>> 
>> 
>> The problem is manual intervention is required if the user has
>> both qt4 and qt5 USE flags enabled - and this is a common
>> configuration. It is not acceptable to make a user manually add
>> numerous package.use entries when all they want to do is install
>> KDE.
> 
> And here
> 
>> I agree Qt's policy is not a perfect solution, but in the absence
>> of some feature allowing a preference to be set when there is a
>> conflict it's the best we've got.
>> 
> 
> If you want to go this way, then please provide helper functions
> in eclasses to set dependencies properly for all common use cases.
> That will ease life both of developers and users.
> 

Why do you need this?

#1, if you really want RDEPEND to only include the deps the package
will actually use, then you do this:

old:

qt5? ( list of qt5 atoms )
qt4? ( list of qt4 atoms )

..to new:

qt5? ( list of qt5 atoms )
!qt5? (
  qt4? ( list of qt4 atoms )
)


BUT I would advise against this.  If a user has specified both qt4 and
qt5 in USE, then I see no problem with the VDB having both qt4 and qt5
atoms listed as dependencies.  End-users that want a clean VDB can
just make sure they only enable one flag, but end-users that don't
care will have packages that just work.


> Leaving constructing of dependencies to developers in all cases
> will cause only pain in your solution.

It really wont, see above.  At minimum, it's barely any more work than
it is with a REQUIRED_USE based solution.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAlXKDTkACgkQAJxUfCtlWe09QAD/ST47V7i08k09c8o+dgMx8hQP
cRyBiTzxHKKtQ3aqmKIBAIdjBB4rGZLLMjiu9l0KfUOkOT1J+Z8oHPWQhzDPJpqv
=LCgR
-----END PGP SIGNATURE-----

Reply via email to