From d44bc4c7dfef4904c1baa767e135455ec5d7c91d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kone=C4=8Dn=C3=BD?= Date: Wed, 1 Mar 2023 15:07:11 +0100 Subject: [PATCH] Create a general configuration file for shared values MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To prevent the need to edit one thing in multiple pungi configurations let's use it's ability to import other configuration files (See https://docs.pagure.org/pungi/format.html#importing-other-files). This change will create a new configuration file `general.conf` which is imported to each other pungi configuration for Fedora. Signed-off-by: Michal Konečný --- fedora-cloud.conf | 84 ++-------------------- fedora-container.conf | 84 +--------------------- fedora.conf | 147 +------------------------------------- general.conf | 159 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 169 insertions(+), 305 deletions(-) create mode 100644 general.conf diff --git a/fedora-cloud.conf b/fedora-cloud.conf index 90259cd..532c064 100644 --- a/fedora-cloud.conf +++ b/fedora-cloud.conf @@ -1,3 +1,6 @@ +# Import general configuration from general.conf +from general import * + # PRODUCT INFO release_name = 'Fedora-Cloud' release_short = 'Fedora-Cloud' @@ -15,29 +18,17 @@ comps_file = { } variants_file='variants-fedora.xml' sigkeys = ['5323552A'] # None = unsigned -# limit tree architectures -# if undefined, all architectures from variants.xml will be included -tree_arches = ['aarch64', 'ppc64le', 's390x', 'x86_64'] + # limit tree variants # if undefined, all variants from variants.xml will be included tree_variants = ['Cloud'] -hashed_directories = True -# RUNROOT settings -runroot = True -#runroot_channel = 'fedora_compose' -runroot_channel = 'compose' -runroot_tag = 'f38-build' # PKGSET -pkgset_source = 'koji' # koji, repos pkgset_koji_tag = 'f38-updates' pkgset_koji_inherit = True -filter_system_release_packages = False # GATHER gather_source = 'comps' gather_method = 'deps' gather_profiler = True -check_deps = False -greedy_method = 'build' # fomat: [(variant_uid_regex, {arch|*: [repos]})] # gather_lookaside_repos = [] # GATHER - JSON @@ -47,11 +38,7 @@ greedy_method = 'build' createrepo_c = True createrepo_checksum = 'sha256' # CHECKSUMS -media_checksums = ['sha256'] -media_checksum_one_file = True media_checksum_base_filename = 'Fedora-%(variant)s-%(version)s-%(date)s.%(respin)s-%(arch)s' -#jigdo -create_jigdo = False #extra_packages = [ # '/mnt/packages/foo*', #] @@ -91,11 +78,6 @@ additional_packages = [ }), ] -multilib = [ - ('^Everything$', { - 'x86_64': ['devel', 'runtime'], - }) -] filter_packages = [ ('(Workstation|Server)$', { '*': [ @@ -114,30 +96,6 @@ filter_packages = [ ] }), ] -# format: {arch|*: [packages]} -multilib_blacklist = { - '*': ['kernel', 'kernel-PAE*', 'kernel*debug*', - 'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel', - 'php-devel', 'java-*', - 'httpd-devel', 'tomcat-native', 'php*', 'httpd-core', - 'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*', - 'mp' - ], -} -# format: {arch|*: [packages]} -multilib_whitelist = { - '*': ['libgnat', 'wine', 'lmms-vst', 'nspluginwrapper', - 'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb', - 'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux', - 'syslinux-tftpboot', 'nosync', '*-static', 'apitrace-libs', - 'fakeroot-libs', 'postgresql-odbc', 'mysql-connector-odbc', - 'fakechroot-libs','mesa-vdpau-drivers', 'p11-kit-trust', - 'mariadb-connector-odbc', 'compiler-rt', - 'nvidia-query-resource-opengl-lib', - 'ibus-libs', 'ibus-gtk2', 'ibus-gtk3', - 'glib-networking', 'dssi-vst-wine', 'mangohud', 'vkBasalt' - ], -} createiso_skip = [ ('^Workstation$', { @@ -178,40 +136,6 @@ image_name_format = 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(dat image_volid_formats = [ 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s' ] -# No special handling for layered products, use same format as for regular images -image_volid_layered_product_formats = [] -# Replace 'Cloud' with 'C' in volume id etc. -volume_id_substitutions = { - 'Beta': 'B', - 'Rawhide': 'rawh', - 'Astronomy_KDE': 'AstK', - 'Silverblue': 'SB', - 'Kinoite': 'Knt', - 'Cinnamon': 'Cinn', - 'Cloud': 'C', - 'Design_suite': 'Dsgn', - 'Electronic_Lab': 'Elec', - 'Everything': 'E', - 'Games': 'Game', - 'Images': 'img', - 'Jam_KDE': 'Jam', - 'MATE_Compiz': 'MATE', - # Note https://pagure.io/pungi-fedora/issue/533 - 'Python-Classroom': 'Clss', - 'Python_Classroom': 'Clss', - 'Robotics': 'Robo', - 'Scientific_KDE': 'SciK', - 'Security': 'Sec', - 'Server': 'S', - '-Workstation-': '-WS-', -} -disc_types = { - 'boot': 'netinst', - 'live': 'Live', -} -translate_paths = [ - ('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'), -] image_build = { '^Cloud$': [ { diff --git a/fedora-container.conf b/fedora-container.conf index f929fb0..6fc8752 100644 --- a/fedora-container.conf +++ b/fedora-container.conf @@ -1,3 +1,6 @@ +# Import general configuration from general.conf +from general import * + # PRODUCT INFO release_name = 'Fedora-Container' release_short = 'Fedora-Container' @@ -13,31 +16,17 @@ comps_file = { 'file': 'comps-f35.xml', 'command': 'make comps-f35.xml' } -variants_file='variants-fedora.xml' sigkeys = ['5323552A'] # None = unsigned -# limit tree architectures -# if undefined, all architectures from variants.xml will be included -tree_arches = ['aarch64', 'ppc64le', 's390x', 'x86_64'] # limit tree variants # if undefined, all variants from variants.xml will be included tree_variants = ['Container'] -hashed_directories = True -# RUNROOT settings -runroot = True -#runroot_channel = 'fedora_compose' -runroot_channel = 'compose' -runroot_tag = 'f35-build' # PKGSET -pkgset_source = 'koji' # koji, repos pkgset_koji_tag = 'f35-updates' pkgset_koji_inherit = True -filter_system_release_packages = False # GATHER gather_source = 'comps' gather_method = 'deps' gather_profiler = True -check_deps = False -greedy_method = 'build' # fomat: [(variant_uid_regex, {arch|*: [repos]})] # gather_lookaside_repos = [] # GATHER - JSON @@ -47,11 +36,7 @@ greedy_method = 'build' createrepo_c = True createrepo_checksum = 'sha256' # CHECKSUMS -media_checksums = ['sha256'] -media_checksum_one_file = True media_checksum_base_filename = 'Fedora-%(variant)s-%(version)s-%(date)s.%(respin)s-%(arch)s' -#jigdo -create_jigdo = False #extra_packages = [ # '/mnt/packages/foo*', #] @@ -91,11 +76,6 @@ additional_packages = [ }), ] -multilib = [ - ('^Everything$', { - 'x86_64': ['devel', 'runtime'], - }) -] filter_packages = [ ('(Workstation|Server)$', { '*': [ @@ -114,30 +94,6 @@ filter_packages = [ ] }), ] -# format: {arch|*: [packages]} -multilib_blacklist = { - '*': ['kernel', 'kernel-PAE*', 'kernel*debug*', - 'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel', - 'php-devel', 'java-*', - 'httpd-devel', 'tomcat-native', 'php*', 'httpd-core', - 'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*', - 'mp' - ], -} -# format: {arch|*: [packages]} -multilib_whitelist = { - '*': ['libgnat', 'wine', 'lmms-vst', 'nspluginwrapper', - 'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb', - 'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux', - 'syslinux-tftpboot', 'nosync', '*-static', 'apitrace-libs', - 'fakeroot-libs', 'postgresql-odbc', 'mysql-connector-odbc', - 'fakechroot-libs','mesa-vdpau-drivers', 'p11-kit-trust', - 'mariadb-connector-odbc', 'compiler-rt', - 'nvidia-query-resource-opengl-lib', - 'ibus-libs', 'ibus-gtk2', 'ibus-gtk3', - 'glib-networking', 'dssi-vst-wine', 'mangohud', 'vkBasalt' - ], -} createiso_skip = [ ('^Workstation$', { @@ -178,40 +134,6 @@ image_name_format = 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(dat image_volid_formats = [ 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s' ] -# No special handling for layered products, use same format as for regular images -image_volid_layered_product_formats = [] -# Replace 'Cloud' with 'C' in volume id etc. -volume_id_substitutions = { - 'Beta': 'B', - 'Rawhide': 'rawh', - 'Astronomy_KDE': 'AstK', - 'Silverblue': 'SB', - 'Kinoite': 'Knt', - 'Cinnamon': 'Cinn', - 'Cloud': 'C', - 'Design_suite': 'Dsgn', - 'Electronic_Lab': 'Elec', - 'Everything': 'E', - 'Games': 'Game', - 'Images': 'img', - 'Jam_KDE': 'Jam', - 'MATE_Compiz': 'MATE', - # Note https://pagure.io/pungi-fedora/issue/533 - 'Python-Classroom': 'Clss', - 'Python_Classroom': 'Clss', - 'Robotics': 'Robo', - 'Scientific_KDE': 'SciK', - 'Security': 'Sec', - 'Server': 'S', - '-Workstation-': '-WS-', -} -disc_types = { - 'boot': 'netinst', - 'live': 'Live', -} -translate_paths = [ - ('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'), -] # These will be inherited by live_media, live_images and image_build global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f35' diff --git a/fedora.conf b/fedora.conf index cacdb05..2bc3176 100644 --- a/fedora.conf +++ b/fedora.conf @@ -1,3 +1,6 @@ +# Import general configuration from general.conf +from general import * + # PRODUCT INFO release_name = 'Fedora' release_short = 'Fedora' @@ -27,20 +30,12 @@ module_obsoletes_dir = { variants_file='variants-fedora.xml' sigkeys = ['18B8e74c'] -# limit tree architectures -# if undefined, all architectures from variants.xml will be included -tree_arches = ['aarch64', 'ppc64le', 's390x', 'x86_64'] - # limit tree variants # if undefined, all variants from variants.xml will be included #tree_variants = ['Server'] -hashed_directories = True - # RUNROOT settings runroot_method = 'koji' -runroot_channel = 'compose' -runroot_tag = 'f39-build' # PKGSET pkgset_source = 'koji' # koji, repos @@ -53,8 +48,6 @@ pkgset_source = 'koji' # koji, repos pkgset_koji_tag = 'f39' pkgset_koji_inherit = False -filter_system_release_packages = False - # GATHER gather_method = { '^.*': { # For all variants @@ -64,8 +57,6 @@ gather_method = { } gather_backend = 'dnf' gather_profiler = False -check_deps = False -greedy_method = 'build' repoclosure_backend = 'dnf' @@ -85,11 +76,7 @@ createrepo_extra_args = ['--zck', '--zck-dict-dir=/usr/share/fedora-repo-zdicts/ createrepo_num_workers = 10 # CHECKSUMS -media_checksums = ['sha256'] -media_checksum_one_file = True media_checksum_base_filename = '%(release_short)s-%(variant)s-%(version)s-%(arch)s-%(date)s%(type_suffix)s.%(respin)s' -#jigdo -create_jigdo = False # CREATEISO iso_hfs_ppc64le_compatible = False @@ -164,12 +151,6 @@ additional_packages = [ ] -multilib = [ - ('^Everything$', { - 'x86_64': ['devel', 'runtime'], - }) -] - filter_packages = [ ("^.*$", { "*": ["glibc32", "libgcc32"], @@ -202,84 +183,6 @@ filter_modules = [ }), ] -# Note: If you change something here (affects Rawhide/Branched composes), also -# submit the same change to the Bodhi config (affects updates for stable releases), -# we want to keep them in sync: -# https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 -# -# format: {arch|*: [packages]} -multilib_blacklist = { - '*': [ - 'bash-devel', - 'dmraid-devel', - 'ghc-*', - 'httpd-core', - 'httpd-devel', - 'java-*', - 'kdeutils-devel', - 'kernel', - 'kernel*debug*', - 'kernel-PAE*', - 'krb5-server', - 'krb5-server-ldap', - 'mkinitrd-devel', - 'mod_*', - 'mp', - 'php*', - 'php-devel', - 'tomcat-native', - ], -} - -# Note: If you change something here (affects Rawhide/Branched composes), also -# submit the same change to the Bodhi config (affects updates for stable releases), -# we want to keep them in sync: -# https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 -# -# format: {arch|*: [packages]} -multilib_whitelist = { - '*': [ - '*-static', - 'apitrace-libs', - 'compiler-rt', - 'dssi-vst-wine', - 'fakechroot-libs', - 'fakeroot-libs', - 'glib-networking', - 'glx-utils', - 'ibus-gtk2', - 'ibus-gtk3', - 'ibus-libs', - 'iptables', - 'libflashsupport', - 'libgnat', - 'lmms-vst', - 'mangohud', - 'mariadb-connector-odbc', - 'mesa-vdpau-drivers', - 'mesa-vulkan-drivers', - 'mysql-connector-odbc', - 'nosync', - 'nspluginwrapper', - 'nvidia-query-resource-opengl-lib', - 'p11-kit-trust', - 'pam', - 'perl-libs', - 'pipewire', - 'postgresql-odbc', - 'redhat-lsb', - 'syslinux-extlinux-nonlinux', - 'syslinux-nonlinux', - 'syslinux-tftpboot', - 'systemd-pam', - 'valgrind', - 'vkBasalt', - 'wine', - 'wine-*', - 'yaboot', - ], -} - createiso_skip = [ ('^Server$', { 'src': True @@ -320,51 +223,7 @@ image_name_format = '%(release_short)s-%(variant)s-%(disc_type)s-%(arch)s-%(vers image_volid_formats = [ '%(release_short)s-%(variant)s-%(disc_type)s-%(arch)s-%(version)s' ] -# No special handling for layered products, use same format as for regular images -image_volid_layered_product_formats = [] -# Used by Pungi to replace 'Cloud' with 'C' (etc.) in ISO volume IDs. -# There is a hard 32-character limit on ISO volume IDs, so we use -# these to try and produce short enough but legible IDs. Note this is -# duplicated in Koji for live images, as livemedia-creator does not -# allow Pungi to tell it what volume ID to use. Note: -# https://fedoraproject.org/wiki/User:Adamwill/Draft_fedora_image_naming_policy -# '-Workstation-' is a temporary workaround. See -# https://pagure.io/pungi-fedora/pull-request/525 -volume_id_substitutions = { - 'Beta': 'B', - 'Rawhide': 'rawh', - 'Astronomy_KDE': 'AstK', - 'Silverblue': 'SB', - 'Kinoite': 'Knt', - 'Sericea': 'Src', - 'Cinnamon': 'Cinn', - 'Cloud': 'C', - 'Comp_Neuro': 'CNr', - 'Design_suite': 'Dsgn', - 'Electronic_Lab': 'Elec', - 'Everything': 'E', - 'Games': 'Game', - 'Images': 'img', - 'Jam_KDE': 'Jam', - 'MATE_Compiz': 'MATE', - # Note https://pagure.io/pungi-fedora/issue/533 - 'Python-Classroom': 'Clss', - 'Python_Classroom': 'Clss', - 'Robotics': 'Robo', - 'Scientific_KDE': 'SciK', - 'Security': 'Sec', - 'Server': 'S', - '-Workstation-': '-WS-', -} -disc_types = { - 'boot': 'netinst', - 'live': 'Live', -} - -translate_paths = [ - ('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'), -] # These will be inherited by live_media, live_images and image_build global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#HEAD' diff --git a/general.conf b/general.conf new file mode 100644 index 0000000..a38ee74 --- /dev/null +++ b/general.conf @@ -0,0 +1,159 @@ +# GENERAL SETTINGS +variants_file='variants-fedora.xml' + +# limit tree architectures +# if undefined, all architectures from variants.xml will be included +tree_arches = ['aarch64', 'ppc64le', 's390x', 'x86_64'] + +hashed_directories = True + +# RUNROOT settings +runroot = True +runroot_channel = 'compose' +runroot_tag = 'f39-build' + +# PKGSET +pkgset_source = 'koji' # koji, repos +filter_system_release_packages = False + +# GATHER +check_deps = False +greedy_method = 'build' + +# CHECKSUMS +media_checksums = ['sha256'] +media_checksum_one_file = True + +#jigdo +create_jigdo = False + + +# MULTILIB +multilib = [ + ('^Everything$', { + 'x86_64': ['devel', 'runtime'], + }) +] + +# format: {arch|*: [packages]} +# Sorted alphabetically +multilib_blacklist = { + '*': [ + 'bash-devel', + 'dmraid-devel', + 'ghc-*', + 'httpd-core', + 'httpd-devel', + 'java-*', + 'kdeutils-devel', + 'kernel', + 'kernel*debug*', + 'kernel-PAE*', + 'krb5-server', + 'krb5-server-ldap', + 'mkinitrd-devel', + 'mod_*', + 'mp' + 'php*', + 'php-devel', + 'tomcat-native', + ], +} + +# Note: If you change something here (affects Rawhide/Branched composes), also +# submit the same change to the Bodhi config (affects updates for stable releases), +# we want to keep them in sync: +# https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/backend/templates/pungi.rpm.conf.j2 +# +# format: {arch|*: [packages]} +# Sorted alphabetically +multilib_whitelist = { + '*': [ + '*-static', + 'apitrace-libs', + 'compiler-rt', + 'dssi-vst-wine', + 'fakechroot-libs', + 'fakeroot-libs', + 'glib-networking', + 'glx-utils', + 'ibus-gtk2', + 'ibus-gtk3', + 'ibus-libs', + 'iptables', + 'libflashsupport', + 'libgnat', + 'lmms-vst', + 'mangohud', + 'mariadb-connector-odbc', + 'mesa-vdpau-drivers', + 'mesa-vulkan-drivers', + 'mysql-connector-odbc', + 'nosync', + 'nspluginwrapper', + 'nvidia-query-resource-opengl-lib', + 'p11-kit-trust', + 'pam', + 'perl-libs', + 'pipewire', + 'postgresql-odbc', + 'redhat-lsb', + 'syslinux-extlinux-nonlinux', + 'syslinux-nonlinux', + 'syslinux-tftpboot', + 'systemd-pam', + 'valgrind', + 'vkBasalt', + 'wine', + 'wine-*', + 'yaboot', + ], +} + +# ISO IMAGE +image_volid_layered_product_formats = [] + +# Used by Pungi to replace 'Cloud' with 'C' (etc.) in ISO volume IDs. +# There is a hard 32-character limit on ISO volume IDs, so we use +# these to try and produce short enough but legible IDs. Note this is +# duplicated in Koji for live images, as livemedia-creator does not +# allow Pungi to tell it what volume ID to use. Note: +# https://fedoraproject.org/wiki/User:Adamwill/Draft_fedora_image_naming_policy +# '-Workstation-' is a temporary workaround. See +# https://pagure.io/pungi-fedora/pull-request/525 +# Replace 'Cloud' with 'C' in volume id etc. +volume_id_substitutions = { + 'Beta': 'B', + 'Rawhide': 'rawh', + 'Astronomy_KDE': 'AstK', + 'Silverblue': 'SB', + 'Kinoite': 'Knt', + 'Cinnamon': 'Cinn', + 'Cloud': 'C', + 'Comp_Neuro': 'CNr', + 'Design_suite': 'Dsgn', + 'Electronic_Lab': 'Elec', + 'Everything': 'E', + 'Games': 'Game', + 'Images': 'img', + 'Jam_KDE': 'Jam', + 'MATE_Compiz': 'MATE', + # Note https://pagure.io/pungi-fedora/issue/533 + 'Python-Classroom': 'Clss', + 'Python_Classroom': 'Clss', + 'Robotics': 'Robo', + 'Scientific_KDE': 'SciK', + 'Security': 'Sec', + 'Sericea': 'Src', + 'Server': 'S', + '-Workstation-': '-WS-', +} + +disc_types = { + 'boot': 'netinst', + 'live': 'Live', +} + +translate_paths = [ + ('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'), +]