lorax: user repo file from kickstart

pull/34/head
Frédéric Pierret (fepitre) 4 years ago
parent addf39a904
commit fd5b7355d0
No known key found for this signature in database
GPG Key ID: 484010B5CDC576E2

@ -88,7 +88,7 @@ iso-installer-gather:
pushd $(BASE_DIR)/os/ && $(CREATEREPO) -q -g $(INSTALLER_DIR)/conf/comps-qubes.xml .
iso-installer-lorax:
sed -e "s/%FCREL%/$(DIST_VER)/g" $(INSTALLER_DIR)/conf/dnf-lorax.repo.in > $(INSTALLER_DIR)/conf/dnf-lorax.repo
$(INSTALLER_DIR)/ksparser --ks $(INSTALLER_KICKSTART) --extract-repo-conf-to $(INSTALLER_DIR)/conf/dnf-lorax.repo
$(LORAX) $(LORAX_OPTS) $(BASE_DIR)/os
iso-installer-mkisofs:

@ -1,27 +0,0 @@
[fedora]
name=Fedora %FCREL% - x86_64
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/%FCREL%/Everything/x86_64/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-%FCREL%&arch=x86_64
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-%FCREL%-x86_64
[updates]
name=Fedora %FCREL% - x86_64 - Updates
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/%FCREL%/Everything/x86_64/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f%FCREL%&arch=x86_64
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-%FCREL%-x86_64
[installer]
name=installer
baseurl=file:///tmp/qubes-installer/yum/installer
enabled=1
[qubes-dom0]
name=qubes-dom0
baseurl=file:///tmp/qubes-installer/yum/qubes-dom0
enabled=1

@ -0,0 +1,62 @@
#!/usr/bin/env python3
import argparse
import sys
import pungi.ks
from jinja2 import Environment
REPO_TEMPLATE = """
[{{ks_repo.name}}]
name={{ks_repo.name}}
enabled=1
{%- if ks_repo.baseurl %}
baseurl={{ks_repo.baseurl}}
{% endif -%}
{%- if ks_repo.metalink %}
metalink={{ks_repo.metalink}}
{%- endif -%}
{%- if ks_repo.gpgkey %}
gpgcheck=1
gpgkey={{ks_repo.gpgkey}}
{% endif -%}
"""
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--ks",
metavar='PATH',
required=True
)
parser.add_argument(
"--extract-repo-conf-to",
metavar='PATH',
required=False
)
return parser.parse_args()
def main():
args = get_args()
if args.ks:
if args.extract_repo_conf_to:
ksparser = pungi.ks.get_ksparser(args.ks)
repo_content = ''
for ks_repo in ksparser.handler.repo.repoList:
repo_content += Environment().from_string(REPO_TEMPLATE).render(
ks_repo=ks_repo.__dict__)
try:
with open(args.extract_repo_conf_to, 'w') as repo_fd:
repo_fd.write(repo_content)
except EnvironmentError:
print(
"Cannot write repo file to %s" % args.extract_repo_conf_to)
return 1
if __name__ == '__main__':
sys.exit(main())
Loading…
Cancel
Save