Robin H. Johnson wrote:
> 1. That's not the only location used for layman.
> - At home: /code/gentoo/layman/ 
> - At work: /usr/local/portage-layman/
> - Gentoo Infra: /usr/portage/local/layman/
> 
> 2. Just because an overlay is distributed by layman does NOT mean that
>    it's safe to disclose the existence of, within Gentoo infra, we do
>    this in layman.cfg:
> overlays  : http://www.gentoo.org/proj/en/overlays/layman-global.txt
>             file:///etc/layman/infra-overlays.xml
> 
> While I don't mind disclosing the list of overlays we have in infra,
> other large-scale use of layman might not be happy to disclose it.
> If it came from the layman-global.txt, sure, it might be ok, but see if 
> there's
> a way to filter out others.

I have implemented a more sophisticated algorithm by now:

  def is_global(overlay_location):
      name = overlay_name(overlay_location)
      return overlay_location.startswith(layman_storage_path) \
          and same_repository(
              available_installed_overlay_dict[name],
              global_overlay_dict[name])

The dictonaries in the last two lines are maps from name to url:
- available_installed_overlay = from %(local_list)s
- global_overlay_dict         = from layman-global.txt

Please let me know what you think about that approach.
To check it out live grab the two python files from
http://git.goodpoint.de/?p=smolt-gentoo.git;a=tree;f=client/distros/gentoo;hb=refs/heads/gentoo
and run

  $ python gentoo.py | fgrep 'OVERLAYS'

For my current setup it prints

  NUMBER_OF_PRIVATE_OVERLAYS = 2
  NUMBER_OF_PUBLIC_OVERLAYS = 7
  OVERLAYS = ['toolchain', 'rbu', 'sunrise', 'zugaina',
    'berkano', 'python-testing', 'python-experimental']



Sebastian



Reply via email to