diff --git a/libraries/entropy/core.py b/libraries/entropy/core.py index 95d877969..bca5a4c4a 100644 --- a/libraries/entropy/core.py +++ b/libraries/entropy/core.py @@ -291,6 +291,7 @@ class SystemSettings(Singleton): 'conflicting_tagged_packages': {}, 'system_dirs': etpConst['confdir']+"/fsdirs.conf", 'system_dirs_mask': etpConst['confdir']+"/fsdirsmask.conf", + 'system_rev_symlinks': etpConst['confdir']+"/fssymlinks.conf", 'socket_service': etpConst['socketconf'], 'system': etpConst['entropyconf'], 'repositories': etpConst['repositoriesconf'], @@ -300,17 +301,21 @@ class SystemSettings(Singleton): 'repos_system_mask', 'system_mask', 'repos_mask', 'repos_license_whitelist', 'system_package_sets', 'conflicting_tagged_packages', 'system_dirs', - 'system_dirs_mask', 'socket_service', 'system' + 'system_dirs_mask', 'socket_service', 'system', + 'system_rev_symlinks' ]) self.__setting_files_pre_run.extend(['repositories']) ## XXX trunk support, for a while - exp. date 10/10/2009 trunk_fsdirs_conf = "../conf/fsdirs.conf" trunk_fsdirsmask_conf = "../conf/fsdirsmask.conf" + trunk_fssymlinks_conf = "../conf/fssymlinks.conf" if os.path.isfile(trunk_fsdirs_conf): self.__setting_files['system_dirs'] = trunk_fsdirs_conf if os.path.isfile(trunk_fsdirsmask_conf): self.__setting_files['system_dirs_mask'] = trunk_fsdirsmask_conf + if os.path.isfile(trunk_fssymlinks_conf): + self.__setting_files['system_rev_symlinks'] = trunk_fssymlinks_conf dmp_dir = etpConst['dumpstoragedir'] self.__mtime_files.update({ @@ -861,6 +866,17 @@ class SystemSettings(Singleton): """ return self.__generic_parser(self.__setting_files['system_dirs_mask']) + def system_rev_symlinks_parser(self): + setting_file = self.__setting_files['system_rev_symlinks'] + raw_data = self.__generic_parser(setting_file) + data = {} + for line in raw_data: + line = line.split() + if len(line) < 2: + continue + data[line[0]] = frozenset(line[1:]) + return data + def conflicting_tagged_packages_parser(self): """ Parser returning packages that could have been installed because