Package platformids ::
Package dist ::
Module centos
1
2 """CentOS releases.
3 """
4 from __future__ import absolute_import
5
6 import re
7
8 from pythonids import PYV35Plus
9 from platformids import RTE_CENTOS, rte2num, num2rte, num2pretty, decode_version_str_to_segments, \
10 PlatformIDsFileCheck
11
12 __author__ = 'Arno-Can Uestuensoez'
13 __license__ = "Artistic-License-2.0 + Forced-Fairplay-Constraints"
14 __copyright__ = "Copyright (C) 2010-2018 Arno-Can Uestuensoez" \
15 " @Ingenieurbuero Arno-Can Uestuensoez"
16 __version__ = '0.1.35'
17 __uuid__ = "7add5ded-c39b-4b6e-8c87-1b3a1c150ee9"
18
19
20
21
22
23
24 RTE_CENTOS5 = RTE_CENTOS + 0x00001400
25
26 RTE_CENTOS6 = RTE_CENTOS + 0x00001800
27 RTE_CENTOS60 = RTE_CENTOS6 + 0x00000000
28 RTE_CENTOS61 = RTE_CENTOS6 + 0x00000020
29 RTE_CENTOS62 = RTE_CENTOS6 + 0x00000040
30 RTE_CENTOS63 = RTE_CENTOS6 + 0x00000060
31 RTE_CENTOS64 = RTE_CENTOS6 + 0x00000080
32 RTE_CENTOS65 = RTE_CENTOS6 + 0x000000a0
33 RTE_CENTOS66 = RTE_CENTOS6 + 0x000000c0
34 RTE_CENTOS67 = RTE_CENTOS6 + 0x000000e0
35 RTE_CENTOS68 = RTE_CENTOS6 + 0x00000100
36 RTE_CENTOS69 = RTE_CENTOS6 + 0x00000120
37 RTE_CENTOS610 = RTE_CENTOS6 + 0x00000140
38 RTE_CENTOS611 = RTE_CENTOS6 + 0x00000160
39 RTE_CENTOS612 = RTE_CENTOS6 + 0x0000018c
40
41 RTE_CENTOS7 = RTE_CENTOS + 0x00001c00
42 RTE_CENTOS70 = RTE_CENTOS7 + 0x00000000
43 RTE_CENTOS71 = RTE_CENTOS7 + 0x00000020
44 RTE_CENTOS72 = RTE_CENTOS7 + 0x00000040
45 RTE_CENTOS73 = RTE_CENTOS7 + 0x00000060
46 RTE_CENTOS74 = RTE_CENTOS7 + 0x00000080
47 RTE_CENTOS75 = RTE_CENTOS7 + 0x000000a0
48 RTE_CENTOS76 = RTE_CENTOS7 + 0x000000c0
49 RTE_CENTOS77 = RTE_CENTOS7 + 0x000000d0
50 RTE_CENTOS78 = RTE_CENTOS7 + 0x00000100
51 RTE_CENTOS79 = RTE_CENTOS7 + 0x00000120
52 RTE_CENTOS710 = RTE_CENTOS7 + 0x00000140
53 RTE_CENTOS711 = RTE_CENTOS7 + 0x00000160
54
55 RTE_CENTOS8 = RTE_CENTOS + 0x00002000
56
57 RTE_CENTOS9 = RTE_CENTOS + 0x00002400
58 RTE_CENTOS10 = RTE_CENTOS + 0x00002800
59 RTE_CENTOS11 = RTE_CENTOS + 0x00002c00
60 RTE_CENTOS12 = RTE_CENTOS + 0x00003000
61
62
63
64 rte2num.update(
65 {
66 'centos10': RTE_CENTOS10,
67 'centos5': RTE_CENTOS5,
68 'centos6': RTE_CENTOS6,
69 'centos60': RTE_CENTOS60,
70 'centos61': RTE_CENTOS61,
71 'centos62': RTE_CENTOS62,
72 'centos63': RTE_CENTOS63,
73 'centos64': RTE_CENTOS64,
74 'centos65': RTE_CENTOS65,
75 'centos66': RTE_CENTOS66,
76 'centos67': RTE_CENTOS67,
77 'centos68': RTE_CENTOS68,
78 'centos69': RTE_CENTOS69,
79 'centos610': RTE_CENTOS610,
80 'centos7': RTE_CENTOS7,
81 'centos70': RTE_CENTOS7,
82 'centos71': RTE_CENTOS71,
83 'centos72': RTE_CENTOS72,
84 'centos73': RTE_CENTOS73,
85 'centos74': RTE_CENTOS74,
86 'centos75': RTE_CENTOS75,
87 'centos76': RTE_CENTOS76,
88 'centos8': RTE_CENTOS8,
89 'centos9': RTE_CENTOS9,
90 RTE_CENTOS10: RTE_CENTOS10,
91 RTE_CENTOS5: RTE_CENTOS5,
92 RTE_CENTOS610: RTE_CENTOS610,
93 RTE_CENTOS6: RTE_CENTOS6,
94 RTE_CENTOS75: RTE_CENTOS75,
95 RTE_CENTOS7: RTE_CENTOS7,
96 RTE_CENTOS8: RTE_CENTOS8,
97 RTE_CENTOS9: RTE_CENTOS9,
98 }
99 )
100
101
102
103 num2rte.update(
104 {
105 RTE_CENTOS5: 'centos5',
106 RTE_CENTOS6: 'centos60',
107 RTE_CENTOS60: 'centos60',
108 RTE_CENTOS61: 'centos61',
109 RTE_CENTOS62: 'centos62',
110 RTE_CENTOS63: 'centos63',
111 RTE_CENTOS64: 'centos64',
112 RTE_CENTOS65: 'centos65',
113 RTE_CENTOS66: 'centos66',
114 RTE_CENTOS67: 'centos67',
115 RTE_CENTOS68: 'centos68',
116 RTE_CENTOS69: 'centos69',
117 RTE_CENTOS610: 'centos610',
118 RTE_CENTOS7: 'centos7',
119 RTE_CENTOS70: 'centos70',
120 RTE_CENTOS71: 'centos71',
121 RTE_CENTOS72: 'centos72',
122 RTE_CENTOS73: 'centos73',
123 RTE_CENTOS74: 'centos74',
124 RTE_CENTOS75: 'centos75',
125 RTE_CENTOS76: 'centos76',
126 RTE_CENTOS77: 'centos77',
127 RTE_CENTOS78: 'centos78',
128 RTE_CENTOS79: 'centos79',
129 RTE_CENTOS710: 'centos710',
130 RTE_CENTOS8: 'centos8',
131 RTE_CENTOS9: 'centos9',
132 RTE_CENTOS10: 'centos10',
133 }
134 )
135
136
137 num2pretty.update(
138 {
139 RTE_CENTOS60: 'CentOS-6.0',
140 RTE_CENTOS610: 'CentOS-6.10',
141 RTE_CENTOS61: 'CentOS-6.1',
142 RTE_CENTOS62: 'CentOS-6.2',
143 RTE_CENTOS63: 'CentOS-6.3',
144 RTE_CENTOS64: 'CentOS-6.4',
145 RTE_CENTOS65: 'CentOS-6.5',
146 RTE_CENTOS66: 'CentOS-6.6',
147 RTE_CENTOS67: 'CentOS-6.7',
148 RTE_CENTOS68: 'CentOS-6.8',
149 RTE_CENTOS69: 'CentOS-6.9',
150 RTE_CENTOS6: 'CentOS-6.0',
151 RTE_CENTOS70: 'CentOS-7.0-1406',
152 RTE_CENTOS71: 'CentOS-7.1-1503',
153 RTE_CENTOS72: 'CentOS-7.2-1511',
154 RTE_CENTOS73: 'CentOS-7.3-1611',
155 RTE_CENTOS74: 'CentOS-7.4-1708',
156 RTE_CENTOS75: 'CentOS-7.5-1804',
157 RTE_CENTOS76: 'CentOS-7.6-1810',
158 RTE_CENTOS7: 'CentOS-7.0-1406',
159 RTE_CENTOS8: 'CentOS-8',
160 RTE_CENTOS9: 'CentOS-9',
161 RTE_CENTOS: 'CentOS',
162 }
163 )
164
165
166 dist = ['', '', '', 'CentOS', '', '']
167
168 try:
169 with open("/etc/redhat-release", 'r') as f:
170 for l in f:
171 _d = re.split(r'(?s)^([^0-9]*) release *([0-9.]*[^ ]*) [^(]*[(]([^)]*)[)][\n\t ]*$', l)
172
173 if _d[1].startswith('CentOS'):
174 dist[1] = _d[2]
175 dist[4] = decode_version_str_to_segments(_d[2])
176 dist[0] = 'centos%d%d' % (dist[4][0], dist[4][1])
177 dist[2] = "CentOS-" + _d[2]
178 dist[5] = 'centos'
179
180
181 except PlatformIDsFileCheck:
182
183 pass
184
185
186 if dist[5] != 'centos':
187
188 dist = ['centos', '0.0.0', 'CentOS-0.0.0', 'CentOS', (0, 0, 0,), 'centos']
189