Skip to content

Commit

Permalink
imports: Make 'roledb' imports vendoring-compatible
Browse files Browse the repository at this point in the history
Use "from tuf import <module>" instead of "import tuf.<module>": this
makes it possible for vendoring tool to vendor tuf. Fix all references
to <module> in the code.

Signed-off-by: Jussi Kukkonen <[email protected]>
  • Loading branch information
Jussi Kukkonen committed Mar 4, 2021
1 parent 1b4165c commit 88a6ae0
Show file tree
Hide file tree
Showing 6 changed files with 192 additions and 192 deletions.
22 changes: 11 additions & 11 deletions tuf/client/updater.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,10 @@
from tuf import formats
from tuf import log
from tuf import mirrors
from tuf import roledb
import tuf.requests_fetcher
import tuf.settings
import tuf.keydb
import tuf.roledb
import tuf.sig

import securesystemslib.exceptions
Expand Down Expand Up @@ -767,7 +767,7 @@ def __init__(self, repository_name, repository_mirrors, fetcher=None):

# Load current and previous metadata.
for metadata_set in ['current', 'previous']:
for metadata_role in tuf.roledb.TOP_LEVEL_ROLES:
for metadata_role in roledb.TOP_LEVEL_ROLES:
self._load_metadata_from_file(metadata_set, metadata_role)

# Raise an exception if the repository is missing the required 'root'
Expand Down Expand Up @@ -914,7 +914,7 @@ def _rebuild_key_and_role_db(self):
tuf.keydb.create_keydb_from_root_metadata(self.metadata['current']['root'],
self.repository_name)

tuf.roledb.create_roledb_from_root_metadata(self.metadata['current']['root'],
roledb.create_roledb_from_root_metadata(self.metadata['current']['root'],
self.repository_name)


Expand Down Expand Up @@ -983,11 +983,11 @@ def _import_delegations(self, parent_role):
# Add the roles to the role database.
for roleinfo in roles_info:
try:
# NOTE: tuf.roledb.add_role will take care of the case where rolename
# NOTE: roledb.add_role will take care of the case where rolename
# is None.
rolename = roleinfo.get('name')
logger.debug('Adding delegated role: ' + str(rolename) + '.')
tuf.roledb.add_role(rolename, roleinfo, self.repository_name)
roledb.add_role(rolename, roleinfo, self.repository_name)

except exceptions.RoleAlreadyExistsError:
logger.warning('Role already exists: ' + rolename)
Expand Down Expand Up @@ -2237,7 +2237,7 @@ def _delete_metadata(self, metadata_role):
# Remove knowledge of the role.
if metadata_role in self.metadata['current']:
del self.metadata['current'][metadata_role]
tuf.roledb.remove_role(metadata_role, self.repository_name)
roledb.remove_role(metadata_role, self.repository_name)



Expand Down Expand Up @@ -2341,8 +2341,8 @@ def all_targets(self):
# Fetch the targets of the delegated roles. get_rolenames returns
# all roles available on the repository.
delegated_targets = []
for role in tuf.roledb.get_rolenames(self.repository_name):
if role in tuf.roledb.TOP_LEVEL_ROLES:
for role in roledb.get_rolenames(self.repository_name):
if role in roledb.TOP_LEVEL_ROLES:
continue

else:
Expand Down Expand Up @@ -2477,7 +2477,7 @@ def _targets_of_role(self, rolename, targets=None, skip_refresh=False):
targets_of_role = list(targets)
logger.debug('Getting targets of role: ' + repr(rolename) + '.')

if not tuf.roledb.role_exists(rolename, self.repository_name):
if not roledb.role_exists(rolename, self.repository_name):
raise exceptions.UnknownRoleError(rolename)

# We do not need to worry about the target paths being trusted because
Expand Down Expand Up @@ -2579,7 +2579,7 @@ def targets_of_role(self, rolename='targets'):
self._refresh_targets_metadata(refresh_all_delegated_roles=True)


if not tuf.roledb.role_exists(rolename, self.repository_name):
if not roledb.role_exists(rolename, self.repository_name):
raise exceptions.UnknownRoleError(rolename)

return self._targets_of_role(rolename, skip_refresh=True)
Expand Down Expand Up @@ -2973,7 +2973,7 @@ def remove_obsolete_targets(self, destination_directory):

# Iterate the rolenames and verify whether the 'previous' directory
# contains a target no longer found in 'current'.
for role in tuf.roledb.get_rolenames(self.repository_name):
for role in roledb.get_rolenames(self.repository_name):
if role.startswith('targets'):
if role in self.metadata['previous'] and self.metadata['previous'][role] != None:
for target in self.metadata['previous'][role]['targets']:
Expand Down
26 changes: 13 additions & 13 deletions tuf/developer_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@
from tuf import exceptions
from tuf import formats
from tuf import log
from tuf import roledb
import tuf.keydb
import tuf.roledb
import tuf.sig
import tuf.repository_lib as repo_lib
import tuf.repository_tool
Expand Down Expand Up @@ -252,12 +252,12 @@ def write(self, write_partial=False):
# Raise 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
securesystemslib.formats.BOOLEAN_SCHEMA.check_match(write_partial)

# At this point the tuf.keydb and tuf.roledb stores must be fully
# At this point the tuf.keydb and roledb stores must be fully
# populated, otherwise write() throwns a 'tuf.Repository' exception if
# any of the project roles are missing signatures, keys, etc.

# Write the metadata files of all the delegated roles of the project.
delegated_rolenames = tuf.roledb.get_delegated_rolenames(self.project_name,
delegated_rolenames = roledb.get_delegated_rolenames(self.project_name,
self.repository_name)

for delegated_rolename in delegated_rolenames:
Expand Down Expand Up @@ -311,7 +311,7 @@ def add_verification_key(self, key, expires=None):
securesystemslib.exceptions.Error, if the project already contains a key.
<Side Effects>
The role's entries in 'tuf.keydb.py' and 'tuf.roledb.py' are updated.
The role's entries in 'tuf.keydb.py' and 'roledb' are updated.
<Returns>
None
Expand Down Expand Up @@ -370,7 +370,7 @@ def status(self):
filenames['targets'] = os.path.join(metadata_directory, self.project_name)

# Delegated roles.
delegated_roles = tuf.roledb.get_delegated_rolenames(self.project_name,
delegated_roles = roledb.get_delegated_rolenames(self.project_name,
self.repository_name)
insufficient_keys = []
insufficient_signatures = []
Expand Down Expand Up @@ -464,7 +464,7 @@ def _generate_and_write_metadata(rolename, metadata_filename, write_partial,

# Retrieve the roleinfo of 'rolename' to extract the needed metadata
# attributes, such as version number, expiration, etc.
roleinfo = tuf.roledb.get_roleinfo(rolename, repository_name)
roleinfo = roledb.get_roleinfo(rolename, repository_name)

metadata = generate_targets_metadata(targets_directory, roleinfo['paths'],
roleinfo['version'], roleinfo['expires'], roleinfo['delegations'],
Expand Down Expand Up @@ -808,7 +808,7 @@ def load_project(project_directory, prefix='', new_targets_location=None,
securesystemslib.formats.ANY_STRING_SCHEMA.check_match(prefix)

# Clear the role and key databases since we are loading in a new project.
tuf.roledb.clear_roledb(clear_all=True)
roledb.clear_roledb(clear_all=True)
tuf.keydb.clear_keydb(clear_all=True)

# Locate metadata filepaths and targets filepath.
Expand Down Expand Up @@ -878,7 +878,7 @@ def load_project(project_directory, prefix='', new_targets_location=None,
project.add_signature(signature)

# Update roledb.py containing the loaded project attributes.
roleinfo = tuf.roledb.get_roleinfo(project_name, repository_name)
roleinfo = roledb.get_roleinfo(project_name, repository_name)
roleinfo['signatures'].extend(signable['signatures'])
roleinfo['version'] = targets_metadata['version']
roleinfo['paths'] = targets_metadata['targets']
Expand All @@ -891,7 +891,7 @@ def load_project(project_directory, prefix='', new_targets_location=None,
repository_name=repository_name):
roleinfo['partial_loaded'] = True

tuf.roledb.update_roleinfo(project_name, roleinfo, mark_role_as_dirty=False,
roledb.update_roleinfo(project_name, roleinfo, mark_role_as_dirty=False,
repository_name=repository_name)

for key_metadata in targets_metadata['delegations']['keys'].values():
Expand All @@ -905,7 +905,7 @@ def load_project(project_directory, prefix='', new_targets_location=None,
'signing_keyids': [], 'signatures': [], 'partial_loaded':False,
'delegations': {'keys':{}, 'roles':[]}
}
tuf.roledb.add_role(rolename, roleinfo, repository_name=repository_name)
roledb.add_role(rolename, roleinfo, repository_name=repository_name)

# Load the delegated metadata and generate their fileinfo.
targets_objects = {}
Expand Down Expand Up @@ -941,7 +941,7 @@ def load_project(project_directory, prefix='', new_targets_location=None,
metadata_object = _strip_prefix_from_targets_metadata(metadata_object,
prefix)

roleinfo = tuf.roledb.get_roleinfo(metadata_name, repository_name)
roleinfo = roledb.get_roleinfo(metadata_name, repository_name)
roleinfo['signatures'].extend(signable['signatures'])
roleinfo['version'] = metadata_object['version']
roleinfo['expires'] = metadata_object['expires']
Expand All @@ -958,7 +958,7 @@ def load_project(project_directory, prefix='', new_targets_location=None,
roleinfo['partial_loaded'] = True


tuf.roledb.update_roleinfo(metadata_name, roleinfo,
roledb.update_roleinfo(metadata_name, roleinfo,
mark_role_as_dirty=False, repository_name=repository_name)

# Append to list of elements to avoid reloading repeated metadata.
Expand Down Expand Up @@ -989,7 +989,7 @@ def load_project(project_directory, prefix='', new_targets_location=None,
'partial_loaded': False,
'delegations': {'keys': {},
'roles': []}}
tuf.roledb.add_role(rolename, roleinfo, repository_name=repository_name)
roledb.add_role(rolename, roleinfo, repository_name=repository_name)

if new_prefix:
project.prefix = new_prefix
Expand Down
Loading

0 comments on commit 88a6ae0

Please sign in to comment.