Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 370693

Summary: Support ${repository}/profiles/{make.defaults,package.use,use.force,package.use.force,use.mask,package.use.mask}
Product: Portage Development Reporter: Arfrever Frehtes Taifersar Arahesis (RETIRED) <arfrever>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: enhancement CC: djc
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=462482
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 373933    

Description Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-06-08 15:41:23 UTC
Support for the following files will be useful for overlays:
  ${repository}/profiles/make.defaults
  ${repository}/profiles/use.force
  ${repository}/profiles/package.use.force
  ${repository}/profiles/use.mask
  ${repository}/profiles/package.use.mask
Comment 2 Sebastian Luther (few) 2011-06-19 17:32:34 UTC
Does this patch enforce that entries in these files have only an effect on ebuilds in the repository they come from, like it works for the currently supported files?

Please add some tests that show that this is the case.

Importing stuff from emerge_ should be avoided in the portage namespace. As I see it you do this only to get Package.UNKNOWN_REPO. Please find a place in the portage namespace for this constant and let everything use it from there.
Comment 3 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-06-19 18:26:06 UTC
(In reply to comment #2)
> Does this patch enforce that entries in these files have only an effect on
> ebuilds in the repository they come from (...)?

Yes. These files also affect ebuilds from repositories, which specify given repository as master repository.

> Importing stuff from emerge_ should be avoided in the portage namespace.
> As I see it you do this only to get Package.UNKNOWN_REPO. Please find a
> place in the portage namespace for this constant and let everything use it
> from there.

Some other files (like KeywordsManager.py and MaskManager.py) import _emerge.Package.Package for exactly the same reason :) .
Comment 6 Zac Medico gentoo-dev 2011-06-19 21:04:48 UTC
I'd like to also support package.use, which will be stacked with USE from make.defaults, like it is for profiles.
Comment 7 Zac Medico gentoo-dev 2011-06-21 01:12:37 UTC
make.defaults and package.use are in git now:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1fdeb78d08bac14f3f999f112499d179a87cf342
Comment 8 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-06-21 17:03:34 UTC
(In reply to comment #7)

- Variables not used by Portage work correctly.
- USE works.
- USE_EXPAND internally seems to be supported.
- USE_EXPAND does not affect output of `emerge -p ${package}`.
- USE_EXPAND_HIDDEN does not work.
- CONFIG_PROTECT_MASK works.
- CONFIG_PROTECT partially works. A configuration file was not overwritten and
  a corresponding ._cfg0000_ file was created, but `emerge` after installation
  does not print information about necessity of updating this configuration
  file. `etc-update` does not find this file.
Comment 9 Zac Medico gentoo-dev 2011-06-27 00:36:51 UTC
(In reply to comment #8)
> - USE_EXPAND internally seems to be supported.
> - USE_EXPAND does not affect output of `emerge -p ${package}`.
> - USE_EXPAND_HIDDEN does not work.

This should fix it:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=c3f0895fb89c7b0647428de37eb0f893939d93f7

> - CONFIG_PROTECT_MASK works.
> - CONFIG_PROTECT partially works. A configuration file was not overwritten and
>   a corresponding ._cfg0000_ file was created, but `emerge` after installation
>   does not print information about necessity of updating this configuration
>   file. `etc-update` does not find this file.

This should ensure that CONFIG_PROTECT is a global constant:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=84f53ead91047d1389c80edeb7d9d1720e07e2a4
Comment 10 Zac Medico gentoo-dev 2011-06-30 04:14:27 UTC
Here's a fix for ebuild(1) to pass a Package instance to setcpv:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=fa9e85bbe7c513193756a2d13ce63a609138753d
Comment 11 Zac Medico gentoo-dev 2011-07-01 05:06:46 UTC
This is included in 2.2.0_alpha42.
Comment 12 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2011-07-01 19:40:01 UTC
`emerge --info` should concatenate USE_EXPAND from make.defaults files from profile and all repositories and print global values of USE_EXPANDed USE flags.
Comment 13 Zac Medico gentoo-dev 2011-07-02 00:19:22 UTC
(In reply to comment #12)
> `emerge --info` should concatenate USE_EXPAND from make.defaults files from
> profile and all repositories and print global values of USE_EXPANDed USE flags.

I think mixing them might lead to confusion, so maybe it's better to have separate sections showing make.defaults settings for each repository.
Comment 14 Zac Medico gentoo-dev 2011-07-03 17:32:19 UTC
This is fixed in 2.1.10.4.