Commit 828cbc8e authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki Committed by Xavier Thompson

[feat] Add '--skip-signature-check' option

parent 49ec4dce
...@@ -111,6 +111,7 @@ with the later (right/bottom) configurations overriding earlier ...@@ -111,6 +111,7 @@ with the later (right/bottom) configurations overriding earlier
b = 21 b = 21
bin-directory = ... bin-directory = ...
c = 31 c = 31
check-signature = true
d = 32 d = 32
develop-eggs-directory = ... develop-eggs-directory = ...
......
...@@ -321,6 +321,7 @@ _buildout_default_options = _annotate_section({ ...@@ -321,6 +321,7 @@ _buildout_default_options = _annotate_section({
'newest': 'true', 'newest': 'true',
'offline': 'false', 'offline': 'false',
'dry-run': 'false', 'dry-run': 'false',
'check-signature': 'true',
'parts-directory': 'parts', 'parts-directory': 'parts',
'prefer-final': 'true', 'prefer-final': 'true',
'python': 'buildout', 'python': 'buildout',
...@@ -505,6 +506,7 @@ class Buildout(DictMixin): ...@@ -505,6 +506,7 @@ class Buildout(DictMixin):
bool_option(buildout_section, 'newest') bool_option(buildout_section, 'newest')
) )
self.dry_run = (buildout_section['dry-run'] == 'true') self.dry_run = (buildout_section['dry-run'] == 'true')
self.check_signature = (buildout_section['check-signature'] == 'true')
################################################################## ##################################################################
## WARNING!!! ## WARNING!!!
...@@ -816,6 +818,19 @@ class Buildout(DictMixin): ...@@ -816,6 +818,19 @@ class Buildout(DictMixin):
old_options = installed_part_options[part].copy() old_options = installed_part_options[part].copy()
installed_files = old_options.pop('__buildout_installed__') installed_files = old_options.pop('__buildout_installed__')
new_options = self.get(part).copy() new_options = self.get(part).copy()
if not self.check_signature:
old_signature = old_options.get(
'__buildout_signature__', None)
new_signature = new_options.get(
'__buildout_signature__', None)
if old_signature != new_signature:
self._logger.info(
'[%s]: __buildout_signature__ is different '
'but ignored.' % part)
if new_signature:
old_options['__buildout_signature__'] = new_signature
else:
del old_options['__buildout_signature__']
if old_options == new_options: if old_options == new_options:
# The options are the same, but are all of the # The options are the same, but are all of the
# installed files still there? If not, we should # installed files still there? If not, we should
...@@ -2189,6 +2204,13 @@ Options: ...@@ -2189,6 +2204,13 @@ Options:
be uninstalled and what will be installed without doing anything be uninstalled and what will be installed without doing anything
in reality. in reality.
--skip-signature-check
Ignore __buildout_signature__ difference in comparing with the
previously installed state. Note that __buildout_signature__ is
updated with new dependencies by using this option.
Assignments are of the form: section:option=value and are used to Assignments are of the form: section:option=value and are used to
provide configuration options that override those given in the provide configuration options that override those given in the
configuration file. For example, to run the buildout in offline mode, configuration file. For example, to run the buildout in offline mode,
...@@ -2311,6 +2333,8 @@ def main(args=None): ...@@ -2311,6 +2333,8 @@ def main(args=None):
elif orig_op == '--dry-run': elif orig_op == '--dry-run':
options.append(('buildout', 'dry-run', 'true')) options.append(('buildout', 'dry-run', 'true'))
elif orig_op == '--skip-signature-check':
options.append(('buildout', 'check-signature', 'false'))
elif op: elif op:
if orig_op == '--help': if orig_op == '--help':
_help() _help()
......
...@@ -818,6 +818,8 @@ the origin of the value (file name or ``COMPUTED_VALUE``, ``DEFAULT_VALUE``, ...@@ -818,6 +818,8 @@ the origin of the value (file name or ``COMPUTED_VALUE``, ``DEFAULT_VALUE``,
DEFAULT_VALUE DEFAULT_VALUE
bin-directory= bin bin-directory= bin
DEFAULT_VALUE DEFAULT_VALUE
check-signature= true
DEFAULT_VALUE
develop= recipes develop= recipes
buildout.cfg buildout.cfg
develop-eggs-directory= develop-eggs develop-eggs-directory= develop-eggs
...@@ -906,6 +908,11 @@ You get more information about the way values are computed:: ...@@ -906,6 +908,11 @@ You get more information about the way values are computed::
AS DEFAULT_VALUE AS DEFAULT_VALUE
SET VALUE = bin SET VALUE = bin
<BLANKLINE> <BLANKLINE>
check-signature= true
<BLANKLINE>
AS DEFAULT_VALUE
SET VALUE = true
<BLANKLINE>
develop= recipes develop= recipes
<BLANKLINE> <BLANKLINE>
IN buildout.cfg IN buildout.cfg
...@@ -3024,6 +3031,7 @@ database is shown:: ...@@ -3024,6 +3031,7 @@ database is shown::
allow-picked-versions = true allow-picked-versions = true
allow-unknown-extras = false allow-unknown-extras = false
bin-directory = /sample-buildout/bin bin-directory = /sample-buildout/bin
check-signature = true
develop-eggs-directory = /sample-buildout/develop-eggs develop-eggs-directory = /sample-buildout/develop-eggs
directory = /sample-buildout directory = /sample-buildout
dry-run = false dry-run = false
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment