diff --git a/bin/postinstall b/bin/postinstall index 559bb0b447..fc285daf04 100755 --- a/bin/postinstall +++ b/bin/postinstall @@ -495,6 +495,17 @@ def activate_SunOS(launcher): os.symlink(rc, l) return True +def activate_gentoo(launcher): + logit("begin") + cmd = ['rc-update', 'delete', '-a', 'opensvc'] + ret = osrun(' '.join(cmd)) + cmd = ['rc-update', 'add', 'opensvc', 'default'] + ret = osrun(' '.join(cmd)) + if ret > 0: + logit("issue met while trying to install opensvc rc launchers", stderr=True) + return False + return True + def activate_FreeBSD(launcher): logit("begin") return True @@ -570,7 +581,18 @@ def install_rc(): copyrc = True reldata = os_release() - if reldata["ID"] in ("ubuntu", "debian") or os.path.exists('/etc/debian_version'): + if reldata["ID"] in ("gentoo"): + rc = '/etc/init.d/opensvc' + params = '/etc/default/opensvc' + src = os.path.join(pathini, 'opensvc.init.debian') + if systemd_mgmt(): + logit("gentoo with systemd") + copyrc = False + activate = activate_systemd + else: + logit("gentoo with openrc") + activate = activate_gentoo + elif reldata["ID"] in ("ubuntu", "debian") or os.path.exists('/etc/debian_version'): rc = '/etc/init.d/opensvc' params = '/etc/default/opensvc' src = os.path.join(pathini, 'opensvc.init.debian') diff --git a/lib/rcAssetLinux.py b/lib/rcAssetLinux.py index 625bc9cc33..ce9fd6df28 100644 --- a/lib/rcAssetLinux.py +++ b/lib/rcAssetLinux.py @@ -175,9 +175,10 @@ def _get_os_vendor(self): "centos": "CentOS", "fedora": "Fedora", "caasp": "SuSE", + "gentoo": "Gentoo", } if self.os_release.id in vendors: - return vendors[self.os_release.id] + return vendors.get(self.os_release.id, "") if os.path.exists('/etc/lsb-release'): with open('/etc/lsb-release') as f: for line in f.readlines(): @@ -244,12 +245,13 @@ def _get_os_release_debian_version(self): def _get_os_release(self): r = self._get_os_release_os_release() - if r: + if r and r != "/Linux": return r files = ['/etc/debian_version', '/etc/vmware-release', '/etc/oracle-release', - '/etc/redhat-release'] + '/etc/redhat-release', + '/etc/gentoo-release'] if os.path.exists('/etc/SuSE-release'): v = [] with open('/etc/SuSE-release') as f: diff --git a/lib/rcDevTree.py b/lib/rcDevTree.py index 463e4b9894..2a81dc9ebb 100644 --- a/lib/rcDevTree.py +++ b/lib/rcDevTree.py @@ -181,7 +181,7 @@ def print_dev(self, relation=None, node=None, highlight=[], verbose=False): if parent_size == 0: pct = "-" else: - pct = str(100*self.size//parent_size)+"%" + pct = "%.2f%%" % (100*self.size//parent_size) node_dev = node.add_node() node_dev.add_column(self.alias, color.BROWN) @@ -218,7 +218,7 @@ def print_dev_bottom_up(self, chain=[], node=None, highlight=[], if prev_size == 0: pct = "-" else: - pct = str(100*used/self.size)+"%" + pct = "%.2f%%" % (100*used//self.size) node_dev = node.add_node() node_dev.add_column(self.alias, color.BROWN)