1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
--- 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))
|