Project

Profile

Help

Issue #2221 » 0001-added-packages_directory-option-for-yum_distributor.patch

jluza, 08/31/2016 12:30 PM

View differences:

plugins/pulp_rpm/plugins/distributors/yum/configuration.py
OPTIONAL_CONFIG_KEYS = ('gpgkey', 'auth_ca', 'auth_cert', 'https_ca', 'checksum_type',
'http_publish_dir', 'https_publish_dir', 'protected',
'skip', 'skip_pkg_tags', 'generate_sqlite', 'force_full')
'skip', 'skip_pkg_tags', 'generate_sqlite', 'force_full',
'packages_directory')
ROOT_PUBLISH_DIR = '/var/lib/pulp/published/yum'
MASTER_PUBLISH_DIR = os.path.join(ROOT_PUBLISH_DIR, 'master')
......
'skip': _validate_skip,
'skip_pkg_tags': _validate_skip_pkg_tags,
'generate_sqlite': _validate_generate_sqlite,
'packages_directory': _validate_packages_directory
}
# iterate through the options that have validation methods and validate them
......
_validate_boolean('generate_sqlite', use_createrepo, error_messages, False)
def _validate_packages_directory(packages_directory, error_messages):
if packages_directory is None:
return
if not isinstance(packages_directory, basestring):
msg = _('Configuration value for [relative_url] must be a string, but is a %(t)s')
error_messages.append(msg % {'t': str(type(packages_directory))})
# -- generalized validation methods --------------------------------------------
plugins/pulp_rpm/plugins/distributors/yum/publish.py
# a package path exists as a symlink we are going to remove it since
# the _create_symlink will create a real directory
os.unlink(package_path)
default_packages_symlink = os.path.join(symlink_dir, 'Packages')
default_dir = self.get_config().get('packages_directory', 'Packages')
default_packages_symlink = os.path.join(symlink_dir, default_dir)
if package_path != default_packages_symlink:
# Add the Packages directory to the content directory
self.package_dirs.append(default_packages_symlink)
(2-2/3)