Issue #2221 » 0001-added-packages_directory-option-for-yum_distributor.patch
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)
|