summaryrefslogtreecommitdiffstats
path: root/hammer.py
diff options
context:
space:
mode:
authorWlodek Wencel <wlodek@isc.org>2019-10-14 14:03:46 +0200
committerWlodzimierz Wencel <wlodek@isc.org>2019-10-14 19:01:49 +0200
commit64ca95b4727f8397ee6ca96ff86e5d204dc874d9 (patch)
tree4ebdc1ccc2b826d06e578c2138a9d81f6b88a44b /hammer.py
parent[#35,!517] Updated ChangeLog (diff)
downloadkea-64ca95b4727f8397ee6ca96ff86e5d204dc874d9.tar.xz
kea-64ca95b4727f8397ee6ca96ff86e5d204dc874d9.zip
[#934,!531] added support for centos8 rpm
Diffstat (limited to 'hammer.py')
-rwxr-xr-xhammer.py42
1 files changed, 35 insertions, 7 deletions
diff --git a/hammer.py b/hammer.py
index 09b94cb8d5..b5a9faa823 100755
--- a/hammer.py
+++ b/hammer.py
@@ -44,7 +44,7 @@ SYSTEMS = {
#'28', # EOLed
'29',
'30'],
- 'centos': ['7'],
+ 'centos': ['7', '8'],
'rhel': ['8'],
'ubuntu': [#'16.04',
'18.04',
@@ -70,6 +70,8 @@ IMAGE_TEMPLATES = {
'fedora-30-virtualbox': {'bare': 'generic/fedora30', 'kea': 'godfryd/kea-fedora-30'},
'centos-7-lxc': {'bare': 'godfryd/lxc-centos-7', 'kea': 'godfryd/kea-centos-7'},
'centos-7-virtualbox': {'bare': 'generic/centos7', 'kea': 'godfryd/kea-centos-7'},
+ #'centos-8-lxc': {'bare': 'centos8', 'kea': 'centos8'},
+ 'centos-8-virtualbox': {'bare': 'generic/centos8', 'kea': 'generic/centos8'},
'rhel-8-virtualbox': {'bare': 'generic/rhel8', 'kea': 'generic/rhel8'},
'ubuntu-16.04-lxc': {'bare': 'godfryd/lxc-ubuntu-16.04', 'kea': 'godfryd/kea-ubuntu-16.04'},
'ubuntu-16.04-virtualbox': {'bare': 'ubuntu/xenial64', 'kea': 'godfryd/kea-ubuntu-16.04'},
@@ -797,6 +799,21 @@ class VagrantEnv(object):
else:
self.nofeatures_arg = ''
+ # install python3 for centos 8
+ if self.system == 'centos' and self.revision == '8':
+ # self.execute("sudo dnf clean all")
+ # we need log4cplus that is in the nexus
+ cmd = 'bash -c \'cat <<EOF | sudo tee /etc/yum.repos.d/isc.repo\n'
+ cmd += '[nexus]\n'
+ cmd += 'name=ISC Repo\n'
+ cmd += 'baseurl=https://packages.isc.org/repository/kea-1.7-centos-8-ci/\n'
+ cmd += 'enabled=1\n'
+ cmd += 'gpgcheck=0\n'
+ cmd += "EOF\n\'"
+ self.execute(cmd)
+ self.execute("sudo dnf install -y python36 rpm-build python3-virtualenv")
+ self.python = 'python3'
+
# select proper python version for running Hammer inside Vagrant system
if (self.system == 'centos' and self.revision == '7' or
(self.system == 'debian' and self.revision == '8' and self.provider != 'lxc')):
@@ -1126,13 +1143,20 @@ def prepare_system_local(features, check_times):
packages.extend(['rpm-build', 'python2-devel'])
if 'docs' in features:
- packages.extend(['python-virtualenv'])
+ if revision == '8':
+ packages.extend(['python3-virtualenv'])
+ else:
+ packages.extend(['python-virtualenv'])
if 'mysql' in features:
packages.extend(['mariadb', 'mariadb-server', 'mariadb-devel'])
if 'pgsql' in features:
- packages.extend(['postgresql-devel', 'postgresql-server'])
+ packages.extend(['postgresql-server'])
+ if revision == '7':
+ packages.extend(['postgresql-devel'])
+ else:
+ packages.extend(['postgresql-server-devel'])
if 'radius' in features:
packages.extend(['git'])
@@ -1432,6 +1456,7 @@ def _build_binaries_and_run_ut(system, revision, features, tarball_path, env, ch
# prepare switches for ./configure
cmd = './configure'
+ log.info('OS: %s Revision: %s', system, revision)
if 'mysql' in features:
cmd += ' --with-mysql'
if 'pgsql' in features:
@@ -1458,7 +1483,7 @@ def _build_binaries_and_run_ut(system, revision, features, tarball_path, env, ch
cmd += ' --enable-generate-docs'
if system == 'debian' and revision == '8':
cmd += ' --with-sphinx=$HOME/venv/bin/sphinx-build'
- elif system == 'centos' and revision == '7':
+ elif system == 'centos' and revision in ['7', '8']:
cmd += ' --with-sphinx=$HOME/venv/bin/sphinx-build'
if 'radius' in features:
cmd += ' --with-freeradius=/usr/local'
@@ -1585,9 +1610,12 @@ def _build_rpm(system, revision, features, tarball_path, env, check_times, dry_r
elif system == 'fedora' and revision == '30':
frc.append('freeradius-client-1.1.7-isc20190916210635.fc30')
frc.append('freeradius-client-devel-1.1.7-isc20190916210635.fc30')
- elif system == 'centos':
+ elif system == 'centos' and revision == '7':
frc.append('freeradius-client-1.1.7-isc20190916210635.el7')
frc.append('freeradius-client-devel-1.1.7-isc20190916210635.el7')
+ elif system == 'centos' and revision == '8':
+ frc.append('freeradius-client-1.1.7-isc20191010071948.el8')
+ frc.append('freeradius-client-devel-1.1.7-isc20191010071948.el8')
if frc:
install_pkgs(frc, env=env, check_times=check_times)
@@ -1636,7 +1664,7 @@ def _build_rpm(system, revision, features, tarball_path, env, check_times, dry_r
def _build_deb(system, revision, features, tarball_path, env, check_times, dry_run,
- pkg_version, pkg_isc_version, repository_url, repo_url):
+ pkg_version, pkg_isc_version, repo_url):
if system == 'debian' and revision == '9':
# debian 9 does not support apt-installing over https, so install proper transport
install_pkgs('apt-transport-https', env=env, check_times=check_times)
@@ -1710,7 +1738,7 @@ def _build_native_pkg(system, revision, features, tarball_path, env, check_times
elif system in ['ubuntu', 'debian']:
_build_deb(system, revision, features, tarball_path, env, check_times, dry_run,
- pkg_version, pkg_isc_version, repository_url, repo_url)
+ pkg_version, pkg_isc_version, repo_url)
elif system in ['alpine']:
_build_alpine_apk(system, revision, features, tarball_path, env, check_times, dry_run,