Re: [gentoo-portage-dev] [PATCH 2/2] sqlite: enable md5 validation (bug 568934)

2015-12-29 Thread Alexander Berntsen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

These two are eh probably fine.

- -- 
Alexander
berna...@gentoo.org
https://secure.plaimi.net/~alexander
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCgAGBQJWgl55AAoJENQqWdRUGk8Bdk0P/1eXVvw6qq2Baz9pOBN39sQ0
WQ2/WSIQYBgGE9lpmCoJUBviB8nzTFC4Yrxt+e6lyRHhYqMCxCOvBL81MG66ChjL
/HTSK4Sd6hjcaJUprcwc22NrL4Yiy034U0frmpqOlHZ+Hpe/E4YT9uXwZ+neT/nA
J7CtYnoljP4ZrEsrQlYUXiY9nphWN0rier89qYa/Thd+ZlWZc5NsF70D/p4EZIqZ
kwf9NqkUxML3pe7WJod7jWt30RTfhrVXw/HEvl6FSwZ01gGDevnpGfcbE4xO+fot
nvhrq/hr7z8TYEk9D3KuxcHuTW7wvLr4YWpO55dlzbSzX1mqgpL+2L3/H8dlipve
uE9eIVDJPcYpi+X/1ozb0mgkcV8TxEcMJFqAVsmRdayHlUnaGHK0VtmiEVAwuk3Z
CwWMedQVrkqU3/sk9DF8N+pKiBraGCTUQxGTiqSPloiRCaPUlWbu26rpOLCTG/cb
uLcWcxGvaFkcbm9gHpbbQFwFnOGLLUWN6zjwrs87mWKiwZHNCWrcnVNSFlpf3D0j
cAF1CCw8ElZ3M99sQX0xBGBo7a0czSjxmhnExkolDG4TPWfGTF7ixUNIKdr+TIUC
Dztz3AvQhhCwEkH3T/CvdFZuvyoGVdd9VXnAVvObSmWJHNDVRNaVNHd+V2dWu/Xx
Y4K6M5OmLMrUhvR1+jYL
=jZL2
-END PGP SIGNATURE-



[gentoo-portage-dev] [PATCH 2/2] sqlite: enable md5 validation (bug 568934)

2015-12-24 Thread Zac Medico
Add forward-compatibility for cache entries containing md5 digests
instead of mtimes for validation.

X-Gentoo-Bug: 568934
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=568934
---
 pym/portage/cache/sqlite.py | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/pym/portage/cache/sqlite.py b/pym/portage/cache/sqlite.py
index 310ac94..32e4076 100644
--- a/pym/portage/cache/sqlite.py
+++ b/pym/portage/cache/sqlite.py
@@ -18,6 +18,9 @@ if sys.hexversion >= 0x300:
 
 class database(fs_template.FsBased):
 
+   validation_chf = 'mtime'
+   chf_types = ('mtime', 'md5')
+
autocommits = False
synchronous = False
# cache_bytes is used together with page_size (set at sqlite build time)
@@ -28,10 +31,12 @@ class database(fs_template.FsBased):
def __init__(self, *args, **config):
super(database, self).__init__(*args, **config)
self._import_sqlite()
-   self._allowed_keys = ["_mtime_", "_eclasses_"]
+   self._allowed_keys = ["_eclasses_"]
self._allowed_keys.extend(self._known_keys)
-   self._allowed_keys.sort()
+   self._allowed_keys.extend('_%s_' % k for k in self.chf_types)
self._allowed_keys_set = frozenset(self._allowed_keys)
+   self._allowed_keys = sorted(self._allowed_keys_set)
+
self.location = os.path.join(self.location, 
self.label.lstrip(os.path.sep).rstrip(os.path.sep))
 
-- 
2.4.10