--- h-client.orig/hclient/machine.py 2016-07-23 02:00:01.290465000 -0500 +++ h-client/hclient/machine.py 2016-07-23 04:48:58.908039710 -0500 @@ -72,7 +72,7 @@ def parse_os_release(file_object): - """Parse /etc/os-release into a dictionary.""" + """Parse /usr/lib/os-release into a dictionary.""" data = {} # See os-release(5) for specification of the format parsed. for line in file_object: @@ -89,7 +89,7 @@ def distro_from_os_release(data): """Return distro code as string for the specified dictionary of os-release data.""" - # TODO detect other distros if they have /etc/os-release. The + # TODO detect other distros if they have /usr/lib/os-release. The # reason for not using the data directly is different distro # naming in h-source. if data.get("ID", "") == "parabola": @@ -122,7 +122,7 @@ An empty string is returned if the distro is not known. """ try: - with opener.open("/etc/os-release") as os_release: + with opener.open("/usr/lib/os-release") as os_release: release = distro_from_os_release(parse_os_release(os_release)) except IOError: pass # missing file, try other release files --- h-client.orig/tests_hclient/machine.py 2016-07-23 02:00:01.930436000 -0500 +++ h-client/tests_hclient/machine.py 2016-07-23 05:04:55.380405303 -0500 @@ -34,10 +34,11 @@ """Check that obtained kernel version looks like Linux version""" from hclient.machine import KERNEL_VERSION self.assertTrue(KERNEL_VERSION.startswith("2.6.") - or KERNEL_VERSION.startswith("3.")) + or KERNEL_VERSION.startswith("3.") + or KERNEL_VERSION.startswith("4.")) -#: ``/etc/os-release`` from Parabola. +#: ``/usr/lib/os-release`` from Parabola. _PARABOLA_OS_RELEASE ="""NAME="Parabola" ID=parabola ID_LIKE=arch @@ -73,7 +74,7 @@ DISTRIB_RELEASE=rolling DISTRIB_DESCRIPTION="Parabola GNU/Linux-libre" """) - elif file_name == "/etc/os-release": + elif file_name == "/usr/lib/os-release": string = StringIO(_PARABOLA_OS_RELEASE) elif file_name == "/etc/parabola-release": string = StringIO("Parabola GNU/Linux-libre release\n") @@ -87,7 +88,7 @@ if pattern != "/etc/*-release": raise NotImplemented("Unknown pattern %r" % pattern) return ["/etc/arch-release", "/etc/lsb-release", - "/etc/os-release", "/etc/parabola-release"] + "/usr/lib/os-release", "/etc/parabola-release"] class _TaranisOpener(object): @@ -177,14 +178,14 @@ self.assertTrue(user_distribution()) def test_parse_os_release(self): - """Check that Parabola /etc/os-release is correctly parsed.""" + """Check that Parabola /usr/lib/os-release is correctly parsed.""" from hclient.machine import parse_os_release from StringIO import StringIO self.assertEquals(_PARABOLA_DATA, parse_os_release(StringIO(_PARABOLA_OS_RELEASE))) def test_distro_from_os_release(self): - """Check that Parabola is detected using /etc/os-release.""" + """Check that Parabola is detected using /usr/lib/os-release.""" from hclient.machine import distro_from_os_release self.assertEquals("parabola", distro_from_os_release(_PARABOLA_DATA))