Commit 75678755 authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki Committed by Xavier Thompson

Add '--skip-signature-check' option.

parent 2dd42677
...@@ -174,6 +174,7 @@ _buildout_default_options = _annotate_section({ ...@@ -174,6 +174,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',
...@@ -353,6 +354,7 @@ class Buildout(DictMixin): ...@@ -353,6 +354,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!!!
...@@ -656,6 +658,19 @@ class Buildout(DictMixin): ...@@ -656,6 +658,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
...@@ -1962,6 +1977,13 @@ Options: ...@@ -1962,6 +1977,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,
...@@ -2083,6 +2105,8 @@ def main(args=None): ...@@ -2083,6 +2105,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()
......
...@@ -814,6 +814,8 @@ the origin of the value (file name or ``COMPUTED_VALUE``, ``DEFAULT_VALUE``, ...@@ -814,6 +814,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
/sample-buildout/buildout.cfg /sample-buildout/buildout.cfg
develop-eggs-directory= develop-eggs develop-eggs-directory= develop-eggs
...@@ -2769,6 +2771,7 @@ database is shown:: ...@@ -2769,6 +2771,7 @@ database is shown::
allow-hosts = * allow-hosts = *
allow-picked-versions = true allow-picked-versions = true
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