You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by lf...@apache.org on 2020/07/22 16:22:15 UTC
[incubator-dlab] 01/02: [DLAB-1594]: fixed for apt packages
This is an automated email from the ASF dual-hosted git repository.
lfrolov pushed a commit to branch DLAB-1961
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit ef0a28a44b8ae63be2b359d02817bbe009b637d5
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Wed Jul 22 18:12:29 2020 +0300
[DLAB-1594]: fixed for apt packages
---
.../src/general/lib/os/debian/notebook_lib.py | 37 ++++++++++------------
1 file changed, 16 insertions(+), 21 deletions(-)
diff --git a/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py b/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
index 18d7f59..224e59c 100644
--- a/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
@@ -375,44 +375,39 @@ def install_os_pkg(requisites):
os_pkg = "{}={}".format(os_pkg[0], os_pkg[1])
else:
os_pkg = os_pkg[0]
- sudo('DEBIAN_FRONTEND=noninteractive apt-get -y install {0} 2>&1 | tee /tmp/tee.tmp; if ! grep -w -E "({1})" /tmp/tee.tmp > '
+ sudo('DEBIAN_FRONTEND=noninteractive apt-get -y install --allow-downgrades {0} 2>&1 | tee /tmp/tee.tmp; if ! grep -w -E "({1})" /tmp/tee.tmp > '
'/tmp/os_install_{0}.log; then echo "" > /tmp/os_install_{0}.log;fi'.format(os_pkg, error_parser))
err = sudo('cat /tmp/os_install_{}.log'.format(os_pkg)).replace('"', "'")
sudo('cat /tmp/tee.tmp | if ! grep -w -E -A 20 "({1})" /tmp/tee.tmp > '
'/tmp/os_install_{0}.log; then echo "" > /tmp/os_install_{0}.log;fi'.format(os_pkg, new_pkgs_parser))
dep = sudo('cat /tmp/os_install_{}.log'.format(os_pkg))
- if err == '':
- dep = dep[len(new_pkgs_parser): dep.find(" upgraded, ") - 1].replace('\r', '') \
- .replace('\n', '').replace(' ', ' ').replace(' {} '.format(os_pkg.split("=")[0]), ' ').strip().split(' ')
- if dep == '' or dep == os_pkg.split("=")[0]:
- dep = []
- else:
- for n, i in enumerate(dep):
- pkg = sudo('apt list --installed 2>&1 | grep {}'.format(i))
- if pkg == '':
- pkg = sudo('apt list --installed 2>&1 | grep {}'.format(i.lower()))
- if i == os_pkg.split("=")[0]:
- dep[n] = ''
- elif "/" in pkg:
- dep[n] = '{} v.{}'.format(pkg.split('/')[0], pkg.split(' ')[1])
- dep = [i for i in dep if i]
- else:
+ if dep == '':
dep = []
+ else:
+ dep = dep[len(new_pkgs_parser): dep.find(" upgraded, ") - 1].replace('\r', '') \
+ .replace('\n', '').replace(' ', ' ').replace(' {} '.format(os_pkg.split("=")[0]),
+ ' ').strip().split(' ')
+ for n, i in enumerate(dep):
+ dep[n] = sudo('apt show {} 2>&1 | grep Version:'.format(i)).replace('Version: ', '{} v.'.format(i))
+ dep = [i for i in dep if i]
if 'E: Version' in err and 'was not found' in err:
versions = sudo ('apt-cache policy {} | grep 500 | grep -v Packages'.format(os_pkg.split("=")[0])).replace('\r\n', '').replace(' 500', '').replace(' ', ' ').strip().split(' ')
- status_msg = 'invalid version'
+ if versions != '':
+ status_msg = 'invalid version'
else:
versions = []
status_msg = 'failed'
sudo('apt list --installed | if ! grep {0}/ > /tmp/os_install_{1}.list; then echo "" > /tmp/os_install_{1}.list;fi'.format(os_pkg.split("=")[0], os_pkg))
res = sudo('cat /tmp/os_install_{}.list'.format(os_pkg))
+ version = os_pkg.split("=")[1]
if res:
ansi_escape = re.compile(r'\x1b[^m]*m')
ver = ansi_escape.sub('', res).split("\r\n")
version = [i for i in ver if os_pkg.split("=")[0] in i][0].split(' ')[1]
- status.append({"group": "os_pkg", "name": os_pkg.split("=")[0], "version": version, "status": "installed", "add_pkgs": dep})
- else:
- status.append({"group": "os_pkg", "name": os_pkg.split("=")[0], "status": status_msg, "error_message": err, "available_versions": versions})
+ if os_pkg.split("=")[1] == '' or os_pkg.split("=")[1] == version:
+ status_msg = "installed"
+ status.append({"group": "os_pkg", "name": os_pkg.split("=")[0], "version": version, "status": status_msg,
+ "error_message": err, "add_pkgs": dep, "available_versions": versions})
sudo('unattended-upgrades -v')
sudo('export LC_ALL=C')
return status
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org