From 11b62114bb69add79e5a86232562b24e42171717 Mon Sep 17 00:00:00 2001 From: Gregory Becker Date: Thu, 5 May 2016 16:58:00 -0700 Subject: versioning the database --- lib/spack/spack/database.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py index 089d29325e..5941e1570f 100644 --- a/lib/spack/spack/database.py +++ b/lib/spack/spack/database.py @@ -60,7 +60,7 @@ from spack.repository import UnknownPackageError _db_dirname = '.spack-db' # DB version. This is stuck in the DB file to track changes in format. -_db_version = Version('0.9') +_db_version = Version('0.9.1') # Default timeout for spack database locks is 5 min. _db_lock_timeout = 60 @@ -250,8 +250,10 @@ class Database(object): # TODO: better version checking semantics. version = Version(db['version']) - if version != _db_version: + if version > _db_version: raise InvalidDatabaseVersionError(_db_version, version) + elif version < _db_version: + self.reindex(spack.install_layout) # Iterate through database and check each record. installs = db['installs'] @@ -343,6 +345,7 @@ class Database(object): temp_file = self._index_path + ( '.%s.%s.temp' % (socket.getfqdn(), os.getpid())) + # Write a temporary database file them move it into place try: with open(temp_file, 'w') as f: -- cgit v1.2.3-70-g09d2