From 5c2e07585593ee4994b8e7d79b3d181a56cd7f13 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Wed, 26 May 2010 14:05:53 +0000 Subject: Fix "Ignoring corrupt sconsign entry" warnings when upgrading from 1.x. --- src/RELEASE.txt | 16 +++++++++++++++- src/engine/SCons/Node/__init__.py | 4 ++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/RELEASE.txt b/src/RELEASE.txt index faa0e66..4a21fa7 100644 --- a/src/RELEASE.txt +++ b/src/RELEASE.txt @@ -42,7 +42,21 @@ CHANGED/ENHANCED EXISTING FUNCTIONALITY - - None. + - Any Command() or env.Command() calls that use the following Action + factory functions will have their targets rebuilt when upgrading + from any pre-2.0 release: + + Chmod() + Copy() + Delete() + Mkdir() + Move() + Touch() + + (The rebuild occurs because the underlying Python class that + implements these functions has been changed to a new-style Python + class, and that changes the Python byte code and therefore the + build signature of the functions.) FIXES diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index 79ba730..0bf490f 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -105,7 +105,7 @@ class NodeInfoBase(object): logic for dealing with their own Node-specific signature information. """ current_version_id = 1 - def __init__(self, node): + def __init__(self, node=None): # Create an object attribute from the class attribute so it ends up # in the pickled data in the .sconsign file. self._version_id = self.current_version_id @@ -158,7 +158,7 @@ class BuildInfoBase(object): implicit dependencies, and action information. """ current_version_id = 1 - def __init__(self, node): + def __init__(self, node=None): # Create an object attribute from the class attribute so it ends up # in the pickled data in the .sconsign file. self._version_id = self.current_version_id -- cgit v0.12