public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-portage-dev] portage.settings.profiles
@ 2009-07-10 22:56 Sebastian Pipping
  2009-07-11  5:06 ` Zac Medico
  0 siblings, 1 reply; 2+ messages in thread
From: Sebastian Pipping @ 2009-07-10 22:56 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Robert Buchholz

Hello!


In my current code for GSoC/Gentoo/Smolt I access the list of folders
that /etc/make.profile and parents are resolved to:

  portage.settings.profiles

I do this to be able access

  - profile package.mask,
  - user package.mask, and
  - user package.unmask

independently, which

  portage.settings._getMaskAtom
  portage.settings._getProfileMaskAtom

seem not be able to at the moment, besides looking quite private :-)

Rationale:
  Among other things I want to find out if the user unmasked a certain
  package in the past even if the related mask entry for it was removed
  in the meantime.  Also, I want to be able to distinct between a
  a "stable on stable package" and an "unmasked masked package".


What I would like to ask for is we could decide that

  portage.settings.profiles is declared part of the public
  API and not allow to change anymore

or

  if we could introduce some getter for now so I could surround
  the current access to <portage.settings.profiles> by a portage
  API version check and use the getter from a certain version on.


Integrating my code for portage related code into smolt does not seem
reasonable to me as it would require depending on a version of portage
that will not be stable before 2010 or so.

Please share your thoughts with me.



Sebastian



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [gentoo-portage-dev] portage.settings.profiles
  2009-07-10 22:56 [gentoo-portage-dev] portage.settings.profiles Sebastian Pipping
@ 2009-07-11  5:06 ` Zac Medico
  0 siblings, 0 replies; 2+ messages in thread
From: Zac Medico @ 2009-07-11  5:06 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Robert Buchholz

Sebastian Pipping wrote:
> Hello!
> 
> 
> In my current code for GSoC/Gentoo/Smolt I access the list of folders
> that /etc/make.profile and parents are resolved to:
> 
>   portage.settings.profiles
> 
> I do this to be able access
> 
>   - profile package.mask,
>   - user package.mask, and
>   - user package.unmask
> 
> independently, which
> 
>   portage.settings._getMaskAtom
>   portage.settings._getProfileMaskAtom
> 
> seem not be able to at the moment, besides looking quite private :-)
> 
> Rationale:
>   Among other things I want to find out if the user unmasked a certain
>   package in the past even if the related mask entry for it was removed
>   in the meantime.  Also, I want to be able to distinct between a
>   a "stable on stable package" and an "unmasked masked package".
> 
> 
> What I would like to ask for is we could decide that
> 
>   portage.settings.profiles is declared part of the public
>   API and not allow to change anymore

Go ahead and use it. It's safe. Most attributes that aren't marked
with an underscore are pretty safe. If there has to be a change then
typically I do it under a new name and leave the old one for
compatibility.

> or
> 
>   if we could introduce some getter for now so I could surround
>   the current access to <portage.settings.profiles> by a portage
>   API version check and use the getter from a certain version on.
> 
> 
> Integrating my code for portage related code into smolt does not seem
> reasonable to me as it would require depending on a version of portage
> that will not be stable before 2010 or so.
> 
> Please share your thoughts with me.
> 
> 
> 
> Sebastian
> 


-- 
Thanks,
Zac



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-07-11  5:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-10 22:56 [gentoo-portage-dev] portage.settings.profiles Sebastian Pipping
2009-07-11  5:06 ` Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox