# PRODUCT INFO release_name = 'Fedora-IoT' release_short = 'Fedora-IoT' release_version = '42' # Let's not build install media during this run. For the image builds # and OSTree installer we'll use inputs from other f42 runs. skip_phases = ["buildinstall", "createrepo", "extra_files"] # GENERAL SETTINGS comps_file = { 'scm': 'git', 'repo': 'https://pagure.io/fedora-comps.git', 'branch': 'main', 'file': 'comps-f42.xml', 'command': 'make comps-f42.xml' } variants_file='variants-fedora.xml' sigkeys = ['105ef944'] # limit tree architectures # if undefined, all architectures from variants.xml will be included tree_arches = ['aarch64', 'x86_64', "ppc64le", "s390x"] # limit tree variants # if undefined, all variants from variants.xml will be included tree_variants = ['IoT', 'bootc', 'bootc-base'] hashed_directories = True # RUNROOT settings runroot_channel = 'compose' runroot_tag = 'f42-build' # PKGSET pkgset_source = 'koji' # koji, repos # PKGSET - REPOS # pkgset_repos format: {arch: [repo1_url, repo2_url, ...]} # pkgset_repos = {} # PKGSET - KOJI pkgset_koji_tag = 'f42-iot' pkgset_koji_inherit = False filter_system_release_packages = False # GATHER gather_method = { '^.*': { # For all variants 'comps': 'deps', # resolve dependencies for packages from comps file 'module': 'nodeps', # but not for packages from modules } } gather_backend = 'dnf' gather_profiler = True check_deps = False greedy_method = 'build' repoclosure_backend = 'dnf' # CHECKSUMS media_checksums = ['sha256'] media_checksum_one_file = True media_checksum_base_filename = '%(release_short)s-%(version)s-%(arch)s-%(date)s%(type_suffix)s.%(respin)s' #jigdo create_jigdo = False # CREATEISO # use xorrisofs to make isos createiso_use_xorrisofs = True # BUILDINSTALL buildinstall_method = 'lorax' buildinstall_skip = [ ('^Modular$', { '*': True }), ] # disables macboot and upgrade image building lorax_options = [ ('^.*$', { 'x86_64': { 'nomacboot': True }, '*': { 'noupgrade': True } }) ] additional_packages = [ ('^IoT$$', { '*': [ '*', ], }), ] multilib = [ ('^Everything$', { 'x86_64': ['devel', 'runtime'], 's390x': ['devel', 'runtime'] }) ] filter_packages = [] # format: {arch|*: [packages]} multilib_blacklist = { '*': ['kernel', 'kernel-PAE*', 'kernel*debug*', 'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel', 'php-devel', 'java-*', 'bash-devel', 'httpd-devel', 'tomcat-native', 'php*', 'httpd', 'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*' ], } # 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' ], } createiso_skip = [ ('^Everything$', { '*': True, 'src': True }), ] # fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})] #extra_files = [ # ('^(Server)$', { # '*': [ # { # 'scm': 'rpm', # 'repo': 'fedora-release-%(variant_id_lower)s', # 'branch': None, # 'file': [ # '/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-release', # ], # 'target': '', # }, # ], # }), #] # Image name respecting Fedora's image naming policy image_name_format = '%(release_short)s-%(disc_type)s-%(arch)s-%(version)s-%(date)s%(type_suffix)s.%(respin)s.iso' # # Use the same format for volume id image_volid_formats = [ '%(release_short)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', 'Cinnamon': 'Cinn', 'Cloud': 'C', 'Comp_Neuro': 'CNr', 'Design_suite': 'Dsgn', 'Electronic_Lab': 'Elec', 'Everything': 'E', 'Games': 'Game', 'Images': 'img', 'IoT': 'iot', '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' global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN' global_version = '42' # live_images ignores this in favor of live_target global_target = 'f42' osbuild = { "^IoT$": [ { "name": "%s-raw" % release_name, "distro": "fedora-42", "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/rawhide/$arch/iot", "subvariant": "IoT", "failable": ["*"], }, { "name": "%s-ostree" % release_name, "distro": "fedora-42", "image_types": ["iot-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/rawhide/$arch/iot", "subvariant": "IoT", "manifest_type": "dvd-ostree", "failable": ["*"], }, { "name": "%s-provisioner" % release_name, "distro": "fedora-42", "image_types": ["iot-simplified-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/rawhide/$arch/iot", "subvariant": "IoT_Simplified_Provisioner", "customizations": {"installation_device": "/dev/vda"}, "failable": ["*"], "manifest_type": "dvd-ostree", }, ], } ostree = { "^IoT$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "force_new_commit": True, "unified_core": True, "treefile": "fedora-iot.yaml", "config_url": "https://pagure.io/fedora-iot/ostree.git", "config_branch": "main", "repo": [ "IoT", "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", "ostree_ref": "fedora/rawhide/${basearch}/iot", "runroot_packages": ["selinux-policy-targeted"], "arches": ["x86_64", "aarch64"], "update_summary": True, } } ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", "config_branch": "main", "treefile": "fedora-rawhide.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64", "ppc64le", "s390x"], "failable": ['*'], }, "^bootc-base$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/fedora-iot-bootc.git", "config_branch": "main", "treefile": "fedora-iot-rawhide.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], }, } koji_profile = 'compose_koji'