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

On 25/09/12 02:03 PM, Ian Stakenvicius wrote:
> Since hasufell brought it up, and as I believe he's going to ask
> Council to approve it before moving forward with this proposal
> towards including it in an EAPI, I wanted to clarify some of the
> points mentioned:
> 
> --- Quote, GLEP-62 ---
>> Specifications, paragraph 3: The package manager should treat
>> flags listed in IUSE_RUNTIME as regular USE flags, except for the
>>  following:
> 
>> 1. enabling or disabling any of the flags must not involve 
>> rebuilding the package,
> 
>> 2. it should be possible for a package manager to change those 
>> flags on a installed package without using the original ebuild,
> 
>> 3. when queried on a installed package, the package manager must
>>  consider a particular flag enabled only if its dependencies are
>>  satisfied already,
> 
>> 4. the flags may be listed in the visual output in a distinct way
>>  to inform the user that they affect runtime dependencies only.
> 
> 
> #2 -- this would, if I'm understanding it properly, mean that the
> IUSE list and the IUSE_RUNTIME list in the 'original ebuild' (ie in
> vdb) would be ignored on an emerged package in favour of the
> ebuild(s) in the tree, right?  I'm not so sure this is a good
> idea.
> 
> IE, if IUSE and IUSE_RUNTIME have changed in the in-tree ebuild
> and one of those use flags that changed have been triggered or 
> de-triggered I expect that the package should be rebuilt, to keep
> it consistent with current practices.
> 
> IE2, shouldn't the original ebuild be what's used to trigger the 
> skip-rebuild functionality, rather than the in-tree ebuild?
> 
> 
> #3 -- this seems to imply to me, that the state of a package's 
> effective USE could be modified solely on the basis of a
> dependency existing or not and have nothing to do with what the
> flag was set to at emerge time.  IE, *not* the state of USE in the
> vdb.  I think this would also be a problem.
> 
> In order to properly handle dependency resolution (which IMO we
> should do, because these are still USE flags) I think all use flag
> settings should still be honoured by the PM and related metadata in
> the vdb be updated for IUSE_RUNTIME flags identically to how it
> would be done if IUSE_RUNTIME wasn't set.
> 
> 
> Thoughts?
> 


Based on the above I do expect the reference implementation would also
need to change.  I expect, for instance, that the PM's
metadata-handling would need to occur as normal even though none of
the package's phase functions would run, that is, *DEPEND
(realistically RDEPEND as that should be the only one affected here,
maybe PDEPEND too) and USE/PKGUSE would get updated.  Since portage
would not be re-emerging the package from the tree the original ebuild
would remain.

I expect, as a corollary to this, that a rebuild would be necessary if
(on-disk-IUSE_RUNTIME xor in-ebuild-IUSE_RUNTIME) was non-empty
(--newuse) or resulted in any flags that are in USE
(--reinstall=changed-use).  IMO this would be necessary to ensure the
local ebuild copy and all related metadata for it gets updated in vdb.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlBh/EUACgkQ2ugaI38ACPAFfAD/UsYVQg6ZkwlsaWIafuFr0sqC
7IuvqIgroxNWJ/5XRS8BAJ+5awXZanZftOmFWRmDUAxOvPc8+J073dAn78N0CPdB
=zKzg
-----END PGP SIGNATURE-----

Reply via email to