From 9962fab124d7471ed3f476030f24e0f119fc4e6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Wed, 28 Aug 2019 16:40:13 +0200 Subject: [PATCH] repos rpc: use dnf native method of writing repository configuration Since we have new enough dnf version, native write_raw_configfile() can be used, instead of external iniparse module. QubesOS/qubes-issues#4550 --- qubes-rpc/qubes.repos.Disable | 16 ++++------------ qubes-rpc/qubes.repos.Enable | 16 ++++------------ 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/qubes-rpc/qubes.repos.Disable b/qubes-rpc/qubes.repos.Disable index 3d62b79..3b345c4 100755 --- a/qubes-rpc/qubes.repos.Disable +++ b/qubes-rpc/qubes.repos.Disable @@ -4,7 +4,6 @@ # (probably an exception) import dnf -import iniparse import os import sys @@ -17,16 +16,9 @@ base.read_all_repos() reponame = sys.argv[1] repo = base.repos[reponame] -# Loosely based on write_raw_configfile() from DNF source code, because -# that method was introduced in DNF 2.0 but Qubes dom0 has DNF 1.x. -with open(repo.repofile) as fp: - ini = iniparse.INIConfig(fp) - -ini[reponame]['enabled'] = 0 - -with open(repo.repofile + '.new', 'w') as fp: - fp.write(str(ini)) - -os.rename(repo.repofile + '.new', repo.repofile) +base.conf.write_raw_configfile(repo.repofile, + repo.id, + base.conf.substitutions, + {'enabled': '0'}) print('ok') diff --git a/qubes-rpc/qubes.repos.Enable b/qubes-rpc/qubes.repos.Enable index ed24484..66a3951 100755 --- a/qubes-rpc/qubes.repos.Enable +++ b/qubes-rpc/qubes.repos.Enable @@ -4,7 +4,6 @@ # (probably an exception) import dnf -import iniparse import os import sys @@ -17,16 +16,9 @@ base.read_all_repos() reponame = sys.argv[1] repo = base.repos[reponame] -# Loosely based on write_raw_configfile() from DNF source code, because -# that method was introduced in DNF 2.0 but Qubes dom0 has DNF 1.x. -with open(repo.repofile) as fp: - ini = iniparse.INIConfig(fp) - -ini[reponame]['enabled'] = 1 - -with open(repo.repofile + '.new', 'w') as fp: - fp.write(str(ini)) - -os.rename(repo.repofile + '.new', repo.repofile) +base.conf.write_raw_configfile(repo.repofile, + repo.id, + base.conf.substitutions, + {'enabled': '1'}) print('ok')