Implement GLEP 59 with control via layout.conf.
authorZac Medico <zmedico@gentoo.org>
Mon, 3 Oct 2011 00:05:30 +0000 (17:05 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 3 Oct 2011 00:05:30 +0000 (17:05 -0700)
commitc8cd3a985cc529299411d7343a11004b7d1330ef
tree38d33f7e5b68d18ee6d8d8465d8c78bbf6334399
parente5b963b794be20276786447bc4f2515e17e38086
Implement GLEP 59 with control via layout.conf.

The portage.const changes are derived from an earlier patch that was
submitted by Robin H. Johnson <robbat2@gentoo.org>:

http://archives.gentoo.org/gentoo-portage-dev/msg_911574e7cb615f67e4c21fc75c043f65.xml

This patch has no affect on a repository unless it contains a
metadata/layout.conf file which contains boolean flags that enable or
disable manifest hash types. The plan is to deploy portage with this
patch, and once it has been stabilized, add the following
metadata/layout.conf settings to gentoo-x86:

  manifest-rmd160 = false
  manifest-sha1 = false
  manifest-whirlpool = true

The above settings will become the default settings in a future portage
release, making them redundant and eligible for removal from
layout.conf (in order to avoid cluttering layout.conf with obsolete
information).

Future events:

After WHIRLPOOL is supported in stable portage:
- Add WHIRLPOOL to MANIFEST2_HASH_DEFAULTS.
- Remove SHA1 and RMD160 from MANIFEST2_HASH_*.
- Toggle gentoo-x86/metadata/layout.conf settings to match.

After WHIRLPOOL is supported in stable portage for at least 1 year:
- Change MANIFEST2_REQUIRED_HASH to WHIRLPOOL.
- Remove SHA256 from MANIFEST2_HASH_*.
- Toggle gentoo-x86/metadata/layout.conf settings to match.

After SHA-3 is approved:
- Add new hashes to MANIFEST2_HASH_*.

After SHA-3 is supported in stable portage:
- Toggle gentoo-x86/metadata/layout.conf settings to match.

After layout.conf settings correspond to defaults in stable portage:
- Remove redundant settings from gentoo-x86/metadata/layout.conf.
pym/portage/const.py
pym/portage/manifest.py
pym/portage/repository/config.py