Commit 5d5f721a authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

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

parent 5d2a4133
...@@ -229,6 +229,7 @@ _buildout_default_options = _annotate_section({ ...@@ -229,6 +229,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',
...@@ -406,6 +407,7 @@ class Buildout(DictMixin): ...@@ -406,6 +407,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!!!
...@@ -701,6 +703,19 @@ class Buildout(DictMixin): ...@@ -701,6 +703,19 @@ class Buildout(DictMixin):
old_options = self.installed_part_options[part].copy() old_options = self.installed_part_options[part].copy()
installed_files = old_options.pop('__buildout_installed__') installed_files = old_options.pop('__buildout_installed__')
new_options = self.get(part) new_options = self.get(part)
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
...@@ -2016,6 +2031,13 @@ Options: ...@@ -2016,6 +2031,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,
...@@ -2137,6 +2159,8 @@ def main(args=None): ...@@ -2137,6 +2159,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()
......
...@@ -812,6 +812,8 @@ COMMAND_LINE_VALUE). ...@@ -812,6 +812,8 @@ COMMAND_LINE_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
...@@ -2755,6 +2757,7 @@ database is shown. ...@@ -2755,6 +2757,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