From ce98ff6b3de32c5c681b82fea87c5b80c09b9e13 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Fri, 27 Aug 2021 09:03:35 -0400 Subject: [PATCH] Fix suse imgutil build function --- imgutil/imgutil | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/imgutil/imgutil b/imgutil/imgutil index ae6773e9..e77f0b43 100644 --- a/imgutil/imgutil +++ b/imgutil/imgutil @@ -414,8 +414,10 @@ class OsHandler(object): class SuseHandler(OsHandler): def __init__(self, name, version, arch, args): - if not version.startswith(b'15.'): - raise Exception('Unsupported Suse version {}'.format(version.decode('utf8'))) + if not isinstance(version, str): + version = version.decade('utf8') + if not version.startswith('15.'): + raise Exception('Unsupported Suse version {}'.format(version)) self.oscategory = 'suse15' super().__init__(name, version, arch, args) self.zyppargs = [] @@ -443,11 +445,18 @@ class SuseHandler(OsHandler): mkdirp(targzypp) shutil.copytree( '/etc/zypp/repos.d/', os.path.join(targzypp, 'repos.d')) + idx = 1 for source in self.sources: - subprocess.check_call(['zypper', '-R', self.targpath, 'ar', source]) + if not source: + continue + subprocess.check_call(['zypper', '-R', self.targpath, 'ar', source, 'source-{}'.format(idx)]) + idx += 1 for source in self.addrepos.split(','): + if not source: + continue source = 'file://' + source - subprocess.check_call(['zypper', '-R', self.targpath, 'ar', source]) + subprocess.check_call(['zypper', '-R', self.targpath, 'ar', source, 'source-{}'.format(idx)]) + idx += 1 mydir = get_mydir(self.oscategory) mkdirp(os.path.join(self.targpath, 'usr/lib/dracut/modules.d')) mkdirp(os.path.join(self.targpath, 'etc/dracut.conf.d'))