# Copyright 2021 Red Hat, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # # from __future__ import absolute_import, division, print_function """ List of options that can be updated for yum repo files. """ __metaclass__ = type YUM_REPO_SUPPORTED_OPTIONS = [ "baseurl", "cost", "enabled", "exclude", "excludepkgs", "gpgcheck", "gpgkey", "includepkgs", "metalink", "mirrorlist", "module_hotfixes", "name", "priority", "skip_if_unavailable", ] """ Default constants for yum repo operations. """ YUM_REPO_DIR = "/etc/yum.repos.d" YUM_REPO_FILE_EXTENSION = ".repo" """ Default constants for yum/dnf global configurations. """ YUM_GLOBAL_CONFIG_FILE_PATH = "/etc/yum.conf" """ CentOS Stream compose repos defaults """ COMPOSE_REPOS_RELEASES = ["centos-stream-8", "centos-stream-9"] COMPOSE_REPOS_SUPPORTED_ARCHS = ["aarch64", "ppc64le", "x86_64"] COMPOSE_REPOS_URL_PATTERN = { "centos-stream-8": r"(^https:.*.centos.org/)([^/]*)(/compose/?$)", "centos-stream-9": r"(^https:.*.centos.org/.*/)(.*)(/compose/?$)", } COMPOSE_REPOS_URL_REPLACE_STR = { "centos-stream-8": r"\1%(compose_id)s\3", "centos-stream-9": r"\1%(compose_id)s\3", } COMPOSE_REPOS_INFO_PATH = { "centos-stream-8": "metadata/composeinfo.json", "centos-stream-9": "metadata/composeinfo.json", } """ DNF Manager constants """ DNF_MODULE_MINIMAL_DISTRO_VERSIONS = [ {"distro": "centos", "min_version": 8}, {"distro": "rhel", "min_version": 8}, {"distro": "fedora", "min_version": 22}, ]