Package entropy :: Package spm :: Package plugins :: Package interfaces :: Package portage_plugin :: Class PortagePlugin

Class PortagePlugin

source code


Nested Classes

Inherited from skel.SpmPlugin: Error, OutdatedPhaseError, PhaseError, PhaseFailure

Instance Methods
 
init_singleton(self, output_interface)
Source Package Manager Plugin singleton method.
source code
 
clear(self)
Reimplemented from SpmPlugin class.
source code
list
package_metadata_keys(self)
Reimplemented from SpmPlugin class.
source code
string
get_cache_directory(self, root=None)
Reimplemented from SpmPlugin class.
source code
string
get_package_metadata(self, package, key)
Reimplemented from SpmPlugin class.
source code
string or None
get_package_changelog(self, package)
Reimplemented from SpmPlugin class.
source code
string
get_package_build_script_path(self, package)
Reimplemented from SpmPlugin class.
source code
string
get_installed_package_build_script_path(self, package, root=None)
Reimplemented from SpmPlugin class.
source code
string
get_installed_package_metadata(self, package, key, root=None)
Reimplemented from SpmPlugin class.
source code
list
get_system_packages(self)
Reimplemented from SpmPlugin class.
source code
list
get_package_categories(self)
Reimplemented from SpmPlugin class.
source code
dict
get_package_category_description_metadata(self, category)
Reimplemented from SpmPlugin class.
source code
list
get_security_packages(self, security_property)
Reimplemented from SpmPlugin class.
source code
dict
get_security_advisory_metadata(self, advisory_id)
Reimplemented from SpmPlugin class.
source code
 
get_setting(self, key)
Reimplemented from SpmPlugin class.
source code
string
get_user_installed_packages_file(self, root=None)
Reimplemented from SpmPlugin class.
source code
list
get_merge_protected_paths(self)
Reimplemented from SpmPlugin class.
source code
 
get_merge_protected_paths_mask(self)
Reimplemented from SpmPlugin class.
source code
list
get_download_mirrors(self, mirror_name)
Reimplemented from SpmPlugin class.
source code
 
packages_repositories_metadata_update(self, actions)
Reimplemented from SpmPlugin class.
source code
string or list or None
match_package(self, package, match_type=None)
Reimplemented from SpmPlugin class.
source code
string or list or None
match_installed_package(self, package, match_all=False, root=None)
Reimplemented from SpmPlugin class.
source code
list
generate_package(self, package, file_save_dir, builtin_debug=False)
Reimplemented from SpmPlugin class.
source code
dict
extract_package_metadata(self, package_file, license_callback=None, restricted_callback=None)
Reimplemented from SpmPlugin class.
source code
list
get_installed_package_content(self, package, root=None)
Reimplemented from SpmPlugin class.
source code
list
get_packages(self, categories=None, filter_reinstalls=True)
Reimplemented from SpmPlugin class.
source code
int
compile_packages(self, packages, stdin=None, stdout=None, stderr=None, environ=None, pid_write_func=None, pretend=False, verbose=False, fetch_only=False, build_only=False, no_dependencies=False, ask=False, coloured_output=False, oneshot=False)
Compile given packages using given compile options.
source code
int
environment_update(self)
Hook used by Entropy Client and Entropy Server to ask Source Package Manager to update /etc/profile* and other environment settings around.
source code
int
print_build_environment_info(self, stdin=None, stdout=None, stderr=None, environ=None, pid_write_func=None, coloured_output=False)
Print build environment info to stdout.
source code
list
get_installed_packages(self, categories=None, root=None)
Reimplemented from SpmPlugin class.
source code
frozenset
get_user_selected_packages(self, root=None)
Reimplemented from SpmPlugin class.
source code
dict
get_package_sets(self, builtin_sets)
Reimplemented from SpmPlugin class.
source code
string
convert_from_entropy_package_name(self, entropy_package_name)
Reimplemented from SpmPlugin class.
source code
int
assign_uid_to_installed_package(self, package, root=None)
Reimplemented from SpmPlugin class.
source code
int
resolve_package_uid(self, entropy_repository, entropy_repository_package_id)
Reimplemented from SpmPlugin class.
source code
int
resolve_spm_package_uid(self, package)
Reimplemented from SpmPlugin class.
source code
dict
search_paths_owners(self, paths, exact_match=True)
Reimplemented from SpmPlugin class.
source code
bool
append_metadata_to_package(self, entropy_package_name, package_path)
Reimplemented from SpmPlugin class.
source code
 
package_names_update(self, entropy_repository, entropy_repository_id, entropy_server, entropy_branch)
WARNING: this is an Entropy Server functionality.
source code
 
execute_package_phase(self, action_metadata, package_metadata, action_name, phase_name)
Reimplemented from SpmPlugin class.
source code
 
add_installed_package(self, package_metadata)
Reimplemented from SpmPlugin class.
source code
 
remove_installed_package(self, atom, package_metadata)
Reimplemented from SpmPlugin class.
source code
float
installed_mtime(self, root=None)
Reimplemented from SpmPlugin class.
source code

Inherited from skel.SpmPlugin: log_message

Inherited from core.Singleton: __init__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Static Methods
 
get_package_groups()
Return package groups available metadata (Spm categories are grouped into macro categories called "groups").
source code
list
binary_packages_extensions()
Reimplemented from SpmPlugin class.
source code
bool
dump_package_metadata(entropy_package_path, metadata_path)
Reimplemented from SpmPlugin class.
source code
bool
aggregate_package_metadata(entropy_package_path, metadata_path)
Reimplemented from SpmPlugin class.
source code
dict
package_phases_map()
Reimplemented from SpmPlugin class.
source code
dict
config_files_map()
Reimplemented from SpmPlugin class.
source code
tuple
execute_system_qa_tests(entropy_output)
Reimplemented from SpmPlugin class.
source code
tuple
execute_qa_tests(package_path)
Reimplemented from SpmPlugin class.
source code
int
entropy_client_post_repository_update_hook(entropy_client, entropy_repository_id)
This function is called by Entropy Client when updating Entropy repositories.
source code
int
entropy_install_setup_hook(entropy_client, package_metadata)
Reimplemented from SpmPlugin class.
source code
int
entropy_install_unpack_hook(entropy_client, package_metadata)
Reimplemented from SpmPlugin class.
source code

Inherited from skel.SpmPlugin: allocate_protected_file, external_triggers_dir, package_phases

Inherited from core.Singleton: __new__

Class Variables
  xpak_entries = {'bdepend': 'BDEPEND', 'category': 'CATEGORY', ...
  PLUGIN_API_VERSION = 12
  SUPPORTED_MATCH_TYPES = ['bestmatch-visible', 'cp-list', 'list...
  CACHE = {'binarytree': {}, 'config': {}, 'portagetree': {}, 'v...
  IS_DEFAULT = True
  PLUGIN_NAME = 'portage'
hash(x)
  ENV_FILE_COMP = 'environment.bz2'
  EBUILD_EXT = '.ebuild'
  KERNEL_CATEGORY = 'sys-kernel'
  ENV_DIRS = set(['/etc/env.d'])

Inherited from skel.SpmPlugin: BASE_PLUGIN_API_VERSION

Properties

Inherited from object: __class__

Method Details

init_singleton(self, output_interface)

source code 

Source Package Manager Plugin singleton method. This method must be reimplemented by subclasses.

Parameters:
  • output_interface - Entropy output interface
Raises:
  • NotImplementedError() - when method is not reimplemented
Overrides: skel.SpmPlugin.init_singleton
(inherited documentation)

clear(self)

source code 

Reimplemented from SpmPlugin class.

Overrides: skel.SpmPlugin.clear

get_package_groups()
Static Method

source code 

Return package groups available metadata (Spm categories are grouped into macro categories called "groups").

Overrides: skel.SpmPlugin.get_package_groups

binary_packages_extensions()
Static Method

source code 

Reimplemented from SpmPlugin class.

Returns: list
list of supported packages extensions
Overrides: skel.SpmPlugin.binary_packages_extensions

package_metadata_keys(self)

source code 

Reimplemented from SpmPlugin class.

Returns: list
list of package metadata
Overrides: skel.SpmPlugin.package_metadata_keys

get_cache_directory(self, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • root - specify an alternative root directory "/"
Returns: string
cache directory
Overrides: skel.SpmPlugin.get_cache_directory

get_package_metadata(self, package, key)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package name
  • key - metadata key (name)
Returns: string
package metadata value
Overrides: skel.SpmPlugin.get_package_metadata

get_package_changelog(self, package)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package name
Returns: string or None
changelog
Overrides: skel.SpmPlugin.get_package_changelog

get_package_build_script_path(self, package)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package name
Returns: string
build script path
Overrides: skel.SpmPlugin.get_package_build_script_path

get_installed_package_build_script_path(self, package, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package name
  • root - specify an alternative root directory "/"
Returns: string
build script path
Overrides: skel.SpmPlugin.get_installed_package_build_script_path

get_installed_package_metadata(self, package, key, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package identifier
  • key - metadata key (name)
  • root - specify an alternative root directory "/"
Returns: string
package metadata value
Raises:
  • KeyError - if package is not available
Overrides: skel.SpmPlugin.get_installed_package_metadata

get_system_packages(self)

source code 

Reimplemented from SpmPlugin class.

Returns: list
list of system packages
Overrides: skel.SpmPlugin.get_system_packages

get_package_categories(self)

source code 

Reimplemented from SpmPlugin class.

Returns: list
list of package categories
Overrides: skel.SpmPlugin.get_package_categories

get_package_category_description_metadata(self, category)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • category - package category name
Returns: dict
category description metadata
Overrides: skel.SpmPlugin.get_package_category_description_metadata

get_security_packages(self, security_property)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • security_property - packages security property
Returns: list
list of packages affected by given security property
Overrides: skel.SpmPlugin.get_security_packages

get_security_advisory_metadata(self, advisory_id)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • advisory_id - security advisory identifier
Returns: dict
advisory metadata
Overrides: skel.SpmPlugin.get_security_advisory_metadata

get_setting(self, key)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • key - source package manager setting
Raises:
  • KeyError - if setting is not available
Overrides: skel.SpmPlugin.get_setting

get_user_installed_packages_file(self, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • root - specify an alternative root directory "/"
Returns: string
path to installed packages list file
Overrides: skel.SpmPlugin.get_user_installed_packages_file

get_merge_protected_paths(self)

source code 

Reimplemented from SpmPlugin class.

Returns: list
list of protected paths
Overrides: skel.SpmPlugin.get_merge_protected_paths

get_merge_protected_paths_mask(self)

source code 

Reimplemented from SpmPlugin class.

Overrides: skel.SpmPlugin.get_merge_protected_paths_mask

get_download_mirrors(self, mirror_name)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • mirror_name - mirror name
Returns: list
list of download URLs
Overrides: skel.SpmPlugin.get_download_mirrors

packages_repositories_metadata_update(self, actions)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • actions - a list of metadata update strings
Overrides: skel.SpmPlugin.packages_repositories_metadata_update

match_package(self, package, match_type=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package string to match inside available repositories
  • match_type - match type
Returns: string or list or None
matched package (atom) or None
Raises:
  • KeyError - if match_type is not valid
Overrides: skel.SpmPlugin.match_package

match_installed_package(self, package, match_all=False, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package string to match inside installed packages repository
  • match_all - return all the matching packages, not just the best
  • root - specify an alternative root directory "/"
Returns: string or list or None
matched package (atom) or None
Raises:
  • KeyError - if match_type is not valid
Overrides: skel.SpmPlugin.match_installed_package

generate_package(self, package, file_save_dir, builtin_debug=False)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package name
  • file_save_path - exact path (including file name and extension) where package file is saved
  • builtin_debug - embed debug files into the generated package file. If False, another package file is generated and appended to the return list.
Returns: list
list of package file paths, the first is the main one, the second in list, if available, is the debug package. All these extra package files must end with etpConst['packagesextraext'] extension.
Raises:
Overrides: skel.SpmPlugin.generate_package

dump_package_metadata(entropy_package_path, metadata_path)
Static Method

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_package_path - path to Entropy package file
  • metadata_path - Entropy package path
Returns: bool
True, if metadata has been appended successfully
Overrides: skel.SpmPlugin.dump_package_metadata

aggregate_package_metadata(entropy_package_path, metadata_path)
Static Method

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_package_path - path to Entropy package file
  • metadata_path - Entropy package path
Returns: bool
True, if metadata has been appended successfully
Overrides: skel.SpmPlugin.aggregate_package_metadata

extract_package_metadata(self, package_file, license_callback=None, restricted_callback=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package_file - path to valid SPM package file
  • license_callback - if not None, it will be used to determine if package_file can be considered free (as in freedom) or not. Please return True if so, otherwise false. The signature of the callback is: bool callback(pkg_metadata).
  • restricted_callback - if not None, it will be used to determine if package_file can be considered legal in all countries or not. Please return True if so, otherwise false. The signature of the callback is: bool callback(pkg_metadata).
Returns: dict
package metadata extracted
Raises:
Overrides: skel.SpmPlugin.extract_package_metadata

get_installed_package_content(self, package, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package name
  • root - specify an alternative root directory "/"
Returns: list
list of files/directories owned by package
Overrides: skel.SpmPlugin.get_installed_package_content

get_packages(self, categories=None, filter_reinstalls=True)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • categories - list of package categories to look into
  • filter_reinstalls - enable reinstall packages filter
Returns: list
list of available packages found
Overrides: skel.SpmPlugin.get_packages

compile_packages(self, packages, stdin=None, stdout=None, stderr=None, environ=None, pid_write_func=None, pretend=False, verbose=False, fetch_only=False, build_only=False, no_dependencies=False, ask=False, coloured_output=False, oneshot=False)

source code 

Compile given packages using given compile options. Extra compiler options can be set via environmental variables (CFLAGS, LDFLAGS, etc). By default, this function writes to stdout and can potentially interact with user via stdin/stdout/stderr. By default, when build_only=False, compiled packages are installed onto the running system.

Parameters:
  • packages - list of Source Package Manager package names
  • stdin - custom standard input
  • stdout - custom standard output
  • stderr - custom standard error
  • environ - dict
  • pid_write_func - function to call with execution pid number
  • pretend - just show what would be done
  • verbose - execute compilation in verbose mode
  • fetch_only - fetch source code only
  • build_only - do not actually touch live system (don't install compiled
  • no_dependencies - ignore possible build time dependencies
  • ask - ask user via stdin before executing the required tasks
  • coloured_output - allow coloured output
  • oneshot - when compiled packages are intended to not get recorded into personal user compile preferences (if you are not using a Portage-based SPM, just ignore this)
Returns: int
execution status
Overrides: skel.SpmPlugin.compile_packages
(inherited documentation)

environment_update(self)

source code 

Hook used by Entropy Client and Entropy Server to ask Source Package Manager to update /etc/profile* and other environment settings around. Since this is part of the Source Package Manager metaphor it must stay in this class.

Returns: int
execution status
Overrides: skel.SpmPlugin.environment_update
(inherited documentation)

print_build_environment_info(self, stdin=None, stdout=None, stderr=None, environ=None, pid_write_func=None, coloured_output=False)

source code 

Print build environment info to stdout.

Parameters:
  • stdin - custom standard input
  • stdout - custom standard output
  • stderr - custom standard error
  • environ - dict
  • pid_write_func - function to call with execution pid number
  • coloured_output - allow coloured output
Returns: int
execution status
Overrides: skel.SpmPlugin.print_build_environment_info
(inherited documentation)

get_installed_packages(self, categories=None, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • categories - list of package categories to look into
  • root - specify an alternative root directory "/"
Returns: list
list of installed packages found
Overrides: skel.SpmPlugin.get_installed_packages

get_user_selected_packages(self, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • root - specify an alternative root directory "/"
Returns: frozenset
list of installed packages found
Raises:
Overrides: skel.SpmPlugin.get_user_selected_packages

get_package_sets(self, builtin_sets)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • builtin_sets - if True, also return SPM built-in package sets
Returns: dict
dictionary featuring set name as key, list (set) of package dependencies as value
Overrides: skel.SpmPlugin.get_package_sets

convert_from_entropy_package_name(self, entropy_package_name)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_package_name - Entropy package name string
Returns: string
Source Package Manager package name string
Overrides: skel.SpmPlugin.convert_from_entropy_package_name

assign_uid_to_installed_package(self, package, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - package name
  • root - specify an alternative root directory "/"
Returns: int
assigned Unique Identifier
Overrides: skel.SpmPlugin.assign_uid_to_installed_package

resolve_package_uid(self, entropy_repository, entropy_repository_package_id)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_repository - EntropyRepository instance
  • entropy_repository_package_id - EntropyRepository instance package identifier
Returns: int
bound Source Package Manager Unique Identifier
Raises:
Overrides: skel.SpmPlugin.resolve_package_uid

resolve_spm_package_uid(self, package)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package - Source Package Manager atom
Returns: int
Source Package Manager UID for package
Raises:
  • KeyError - in case the package cannot be resolved into UID.
Overrides: skel.SpmPlugin.resolve_spm_package_uid

search_paths_owners(self, paths, exact_match=True)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • paths - list of paths to resolve
  • exact_match - match paths exactly
Returns: dict
packages owning list of paths
Overrides: skel.SpmPlugin.search_paths_owners

append_metadata_to_package(self, entropy_package_name, package_path)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_package_name - Entropy package name
  • package_path - Entropy package path
Returns: bool
True, if metadata has been appended successfully
Overrides: skel.SpmPlugin.append_metadata_to_package

package_names_update(self, entropy_repository, entropy_repository_id, entropy_server, entropy_branch)

source code 

WARNING: this is an Entropy Server functionality. Execute the synchronization (if needed) of Source Package Manager package names with Entropy ones, stored inside the passed EntropyRepository instance (entropy_repository) referenced by an unique identifier (entropy_repository_id) for the given Entropy packages branch (entropy_branch). This method must also take care of the Entropy package names update file returned by Entropy server instance (entropy_server) method "get_local_database_treeupdates_file". If your Source Package Manager packages are subject to name changes, you must implement this method to effectively keep Entropy aligned with it.

Parameters:
  • entropy_repository - EntropyRepository instance
  • entropy_repository_id - Entropy Repository unique identifier
  • entropy_server - Entropy Server instance
  • entropy_branch - Entropy branch string (may be handy to selectively execute updates based on working branch)
Overrides: skel.SpmPlugin.package_names_update
(inherited documentation)

package_phases_map()
Static Method

source code 

Reimplemented from SpmPlugin class.

Returns: dict
map of package phases
Overrides: skel.SpmPlugin.package_phases_map

config_files_map()
Static Method

source code 

Reimplemented from SpmPlugin class.

Returns: dict
configuration files map
Overrides: skel.SpmPlugin.config_files_map

execute_package_phase(self, action_metadata, package_metadata, action_name, phase_name)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • action_metadata - metadata bound to the action and not to the actual phase requested (for example, when updating a package, during the removal phase, action_metadata contains the new package -- being merged -- metadata)
  • package_metadata - Entropy package phase metadata
  • action_name - Entropy package action name, can be "install", "remove"
  • phase_name - name of the phase to call, must be a valid phase contained in package_phases() output.
Raises:
  • KeyError - if phase is not available
  • SpmPlugin.PhaseFailure - when the phase executed but returned a non-zero exit status. These exceptions should be considered non-fatal
  • SpmPlugin.PhaseError - when the phase cannot be executed
  • SpmPlugin.OutdatedPhaseError - when Source Package Manager is too old to execute the phase. This is a subclass of PhaseError
Overrides: skel.SpmPlugin.execute_package_phase

add_installed_package(self, package_metadata)

source code 

Reimplemented from SpmPlugin class.

Overrides: skel.SpmPlugin.add_installed_package

remove_installed_package(self, atom, package_metadata)

source code 

Reimplemented from SpmPlugin class.

Overrides: skel.SpmPlugin.remove_installed_package

execute_system_qa_tests(entropy_output)
Static Method

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_output - a valid text output interface
Returns: tuple
tuple composed by error status and error message (if any). Error status is an int with != 0 values if error occurred.
Overrides: skel.SpmPlugin.execute_system_qa_tests

execute_qa_tests(package_path)
Static Method

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • package_path - path to Entropy package
Returns: tuple
tuple composed by error status and error message (if any). Error status is an int with != 0 values if error occurred.
Overrides: skel.SpmPlugin.execute_qa_tests

entropy_client_post_repository_update_hook(entropy_client, entropy_repository_id)
Static Method

source code 

This function is called by Entropy Client when updating Entropy repositories. Place here all your Source Package Manager bullshit and, remember to return an int form execution status.

Parameters:
  • entropy_client - Entropy Client interface instance
  • entropy_repository_id - Entropy Repository unique identifier
Returns: int
execution status
Overrides: skel.SpmPlugin.entropy_client_post_repository_update_hook
(inherited documentation)

entropy_install_setup_hook(entropy_client, package_metadata)
Static Method

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_client - Entropy Client interface instance
  • package_metadata - Entropy package metadata
Returns: int
execution status
Overrides: skel.SpmPlugin.entropy_install_setup_hook

entropy_install_unpack_hook(entropy_client, package_metadata)
Static Method

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • entropy_client - Entropy Client interface instance
  • package_metadata - Entropy package metadata
Returns: int
execution status
Overrides: skel.SpmPlugin.entropy_install_unpack_hook

installed_mtime(self, root=None)

source code 

Reimplemented from SpmPlugin class.

Parameters:
  • root - specify an alternative root directory "/"
Returns: float
the installed repository mtime value
Overrides: skel.SpmPlugin.installed_mtime

Class Variable Details

xpak_entries

Value:
{'bdepend': 'BDEPEND',
 'category': 'CATEGORY',
 'cflags': 'CFLAGS',
 'chost': 'CHOST',
 'contents': 'CONTENTS',
 'counter': 'COUNTER',
 'cxxflags': 'CXXFLAGS',
 'defined_phases': 'DEFINED_PHASES',
...

SUPPORTED_MATCH_TYPES

Value:
['bestmatch-visible',
 'cp-list',
 'list-visible',
 'match-all',
 'match-visible',
 'minimum-all',
 'minimum-visible']

CACHE

Value:
{'binarytree': {}, 'config': {}, 'portagetree': {}, 'vartree': {}}