{% set full_version = distribution_major_version + "." + distribution_minor_version %}
{% set branch = "a" + full_version + beta_suffix if beta_suffix is defined and beta_suffix else "" %}

from include_exclude import *
from multilib import *
{% if extra_options %}
from extra_options import *
{% endif %}

# PRODUCT INFO
release_name = "{{ product_name }}"
release_short = "{{ product_name }}"
release_version = "{{ full_version }}"
treeinfo_version = "{{ distribution_major_version }}"

# GENERAL SETTINGS
comps_file = {
    "scm": "git",
    "repo": "https://git.almalinux.org/almalinux/pungi-almalinux.git",
    "branch": "{{ branch }}",
    "file": "{{ arch }}/comps.xml",
}

link_type = 'hardlink'

module_defaults_dir =  {
    "scm": "git",
    "repo": "https://git.almalinux.org/almalinux/pungi-almalinux.git",
    "branch": "{{ branch }}",
    "dir": "{{ arch }}/modules_defaults/module_defaults",
}

variants_file = {
    "scm": "git",
    "repo": "https://git.almalinux.org/almalinux/pungi-almalinux.git",
    "branch": "{{ branch }}",
    "file": "{{ arch }}/variants.xml",
}
hashed_directories = False

{% if arch == 'x86_64' %}
tree_arches = ['{{ arch }}', 'i686']
{% else %}
tree_arches = ['{{ arch }}']
{% endif %}

# PKGSET
pkgset_source = "kojimock"
koji_profile = "{{ product_name.lower() }}_{{ distribution_major_version }}"

# PKGSET - KOJI
pkgset_koji_tag = "dist-c8-compose"
pkgset_koji_inherit = False
pkgset_koji_module_tag = "dist-c8-module-compose"
pkgset_allow_reuse = False


{% if sigkeys_fingerprints %}
sigkeys = [{{ sigkeys_fingerprints | join(', ') }}]

{% endif %}


filter_system_release_packages = False

# GATHER
gather_prepopulate = {
    "scm": "git",
    "repo": "https://git.almalinux.org/almalinux/pungi-almalinux.git",
    "branch": "{{ branch }}",
    "file": "{{ arch }}/packages.json",
}

gather_method = {
    {% for variant, options in variants.items() %}
        {% if options['gather_methods'] is string %}
    "^{{ variant }}$": "{{ options['gather_methods'] }}",
        {% else %}
    "^{{ variant }}$": {
            {% for source_name, gather_method in options['gather_methods'].items() %}
        "{{ source_name }}": "{{ gather_method }}",
            {% endfor %}
    },
        {% endif %}
    {% endfor %}
}

gather_backend = "dnf"
check_deps = True
greedy_method = "none"
repoclosure_backend = "dnf"

# CREATEREPO
createrepo_deltas = False
createrepo_database = True
createrepo_c = True
createrepo_checksum = "sha256"
createrepo_use_xz = True
createrepo_num_threads = 8
createrepo_num_workers = 4
createrepo_extra_args = [
    '--distro=cpe:/o:{{ product_name.lower() }}:{{ product_name.lower() }}:{{ distribution_major_version }},{{ product_name }} {{ distribution_major_version }}',
    '--revision={{ full_version }}',
]

# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
create_jigdo = False

# BUILDINSTALL
bootable = True
buildinstall_method = "lorax"

lorax_options = [
    ("^.*$", {
        "*": {
            "noupgrade": False,
            "rootfs_size": 3,
            "version": "{{ full_version }}",
            # "isfinal": {% if beta_suffix is defined and beta_suffix %}False{% else %}True{% endif %},
        }
    })
]

buildinstall_skip = [
    {% for variant, options in variants.items() %}
        {% if options['buildinstall_skip'] is not boolean %}
    ("^{{ variant }}$", {{ options['buildinstall_skip'] }}),
        {% elif options['buildinstall_skip'] | default(false) %}
    ("^{{ variant }}$", {
        "*": True,
    }),
        {% endif %}
    {% endfor %}
]

image_name_format = {
    {% for variant, options in variants.items() %}
        {% if options['image_name_format'] | default(false) %}
    "^{{ variant }}$": "{{ options['image_name_format'] }}",
        {% endif %}
    {% endfor %}
    ".*": "{release_short}-{{ full_version }}{{ beta_suffix }}-{arch}-{disc_type}{suffix}",
}

image_volid_formats = [
    '{release_short}-{{ full_version }}{{ beta_suffix }}-{arch}-{disc_type}',
]

# CREATEISO
create_optional_isos = False

createiso_skip = [
    {% for variant, options in variants.items() %}
        {% if options['createiso_skip'] | default(false) %}
    ("^{{ variant }}$", {
        "*": True,
        "src": True,
    }),
        {% endif %}
    {% endfor %}
]

extra_isos = {
    {% for variant, options in variants.items() %}
        {% if options['extra_isos'] | default(false) %}
    "{{ variant }}": {{ options['extra_isos'] }},
        {% endif %}
    {% endfor %}
}


restricted_volid = True

# LOOKASIDE
variant_as_lookaside = [
    {% for variant, options in variants.items() %}
        {% if options['variant_as_lookaside'] | default(false) %}
            {% for lookaside_variant in options['variant_as_lookaside'] %}
    ('{{ variant }}', '{{ lookaside_variant }}'),
            {% endfor %}
        {% endif %}
    {% endfor %}
]

extra_files = [
    ('^.*$', {
        '*': [
            {
                "scm": "git",
                "repo": "https://git.almalinux.org/rpms/almalinux-release.git",
                "branch": "a{{ distribution_major_version }}",
                "file": [
                    'GPL',
                    'EULA',
                    'RPM-GPG-KEY-AlmaLinux',
                ],
                "target": "",
            }
        ],
    }),
]

productimg = False
