'3.11',
'3.12',
'3.13',
- ]
+ ],
+ 'arch': []
}
# pylint: disable=C0326
if '=' in l:
key, val = l.split('=', 1)
vals[key.strip()] = val.strip()
- system = vals['ID']
- revision = vals['VERSION_ID']
+
+ for i in ['ID', 'ID_LIKE']:
+ if i in vals and vals[i] in SYSTEMS:
+ system = vals[i]
+ break
+ if system is None:
+ raise Exception('cannot determine system')
+
+ for i in ['VERSION_ID', 'BUILD_ID']:
+ if i in vals:
+ revision = vals[i]
+ break
+ if revision is None:
+ raise Exception('cannot determine revision')
+
if system == 'alpine':
revision = revision.rsplit('.', 1)[0]
else:
revision = revision.replace('"', '')
if '"' in system:
system = system.replace('"', '')
- return system.lower(), revision
+
+ system = system.lower()
+ print('Running on:', system, revision)
+ return system, revision
class ExecutionError(Exception):
cmd = 'sudo pkg install -y'
elif system == 'alpine':
cmd = 'sudo apk add'
+ elif system == 'arch':
+ cmd = 'sudo pacman -S --needed --noconfirm --overwrite \'*\''
else:
raise NotImplementedError('no implementation for %s' % system)
install_pkgs('nettle-devel', env=env, check_times=check_times)
elif system in ['alpine', 'debian', 'ubuntu']:
install_pkgs('nettle-dev', env=env, check_times=check_times)
- elif system in ['freebsd']:
+ elif system in ['arch', 'freebsd']:
install_pkgs('nettle', env=env, check_times=check_times)
else:
raise NotImplementedError('no implementation for %s' % system)
else:
execute('sudo adduser %s abuild' % current_user)
+ elif system == 'arch':
+ if 'netconf' in features:
+ deferred_functions.extend([
+ _install_libyang_from_sources,
+ _install_sysrepo_from_sources,
+ ])
+
else:
raise NotImplementedError('no implementation for %s' % system)
cmd += ' --with-gtest-source=/usr/src/googletest-release-1.10.0/googletest/'
else:
cmd += ' --with-gtest-source=/usr/src/googletest/googletest'
+ elif system == 'arch':
+ pass
else:
raise NotImplementedError('no implementation for %s' % system)
if 'docs' in features and not (system == 'rhel' and revision == '8'):
_build_alpine_apk(system, revision, features, tarball_path, env, check_times, dry_run,
pkg_version, pkg_isc_version, repo_url)
+ elif system in ['arch']:
+ pass
+
else:
raise NotImplementedError('no implementation for %s' % system)
elif system in ['alpine']:
#execute('mv kea-src/* %s' % pkgs_dir)
execute('mv kea-pkg/* %s' % pkgs_dir)
+ elif system in ['arch']:
+ pass
else:
raise NotImplementedError('no implementation for %s' % self.system)
execute(cmd)
execute('sudo dpkg -i /tmp/%s' % deb)
os.unlink('/tmp/%s' % deb)
+ elif system in ['arch']:
+ pass
else:
# TODO: check for packages here: https://www.vagrantup.com/downloads.html
raise NotImplementedError('no implementation for %s' % system)