Package platformids ::
Package dist ::
Module openbsd
1
2 """OpenBSD releases.
3 """
4 from __future__ import absolute_import
5
6 import os
7 import sys
8 import re
9 import platform
10
11 from pythonids import PYV35Plus
12 from platformids import RTE_OPENBSD, rte2num, num2rte, num2pretty, decode_version_str_to_segments, \
13 PlatformIDsFileCheck
14
15
16 __author__ = 'Arno-Can Uestuensoez'
17 __license__ = "Artistic-License-2.0 + Forced-Fairplay-Constraints"
18 __copyright__ = "Copyright (C) 2010-2018 Arno-Can Uestuensoez" \
19 " @Ingenieurbuero Arno-Can Uestuensoez"
20 __version__ = '0.1.35'
21 __uuid__ = "7add5ded-c39b-4b6e-8c87-1b3a1c150ee9"
22
23
24 RTE_OPENBSD4 = RTE_OPENBSD + 0x00001000
25 RTE_OPENBSD5 = RTE_OPENBSD + 0x00001400
26
27 RTE_OPENBSD6 = RTE_OPENBSD + 0x00001800
28 RTE_OPENBSD61 = RTE_OPENBSD6 + 0x00000020
29 RTE_OPENBSD62 = RTE_OPENBSD6 + 0x00000040
30 RTE_OPENBSD63 = RTE_OPENBSD6 + 0x00000060
31 RTE_OPENBSD64 = RTE_OPENBSD6 + 0x00000080
32 RTE_OPENBSD65 = RTE_OPENBSD6 + 0x000000b0
33 RTE_OPENBSD66 = RTE_OPENBSD6 + 0x000000d0
34 RTE_OPENBSD67 = RTE_OPENBSD6 + 0x000000e0
35 RTE_OPENBSD68 = RTE_OPENBSD6 + 0x00000100
36
37 RTE_OPENBSD7 = RTE_OPENBSD + 0x00001c00
38 RTE_OPENBSD8 = RTE_OPENBSD + 0x00002000
39 RTE_OPENBSD9 = RTE_OPENBSD + 0x00002400
40 RTE_OPENBSD10 = RTE_OPENBSD + 0x00002800
41
42
43
44 rte2num.update(
45 {
46 'openbsd': RTE_OPENBSD,
47
48 'openbsd5': RTE_OPENBSD5,
49 'openbsd6': RTE_OPENBSD6,
50 'openbsd61': RTE_OPENBSD61,
51 'openbsd62': RTE_OPENBSD62,
52 'openbsd63': RTE_OPENBSD63,
53 'openbsd64': RTE_OPENBSD64,
54 'openbsd65': RTE_OPENBSD65,
55 'openbsd66': RTE_OPENBSD66,
56 'openbsd67': RTE_OPENBSD67,
57 'openbsd68': RTE_OPENBSD68,
58 'openbsd7': RTE_OPENBSD7,
59 'openbsd8': RTE_OPENBSD8,
60 'openbsd9': RTE_OPENBSD9,
61 'openbsd10': RTE_OPENBSD10,
62 RTE_OPENBSD: RTE_OPENBSD,
63
64 RTE_OPENBSD5: RTE_OPENBSD5,
65 RTE_OPENBSD6: RTE_OPENBSD6,
66 RTE_OPENBSD61: RTE_OPENBSD61,
67 RTE_OPENBSD62: RTE_OPENBSD62,
68 RTE_OPENBSD63: RTE_OPENBSD63,
69 RTE_OPENBSD64: RTE_OPENBSD64,
70 RTE_OPENBSD65: RTE_OPENBSD65,
71 RTE_OPENBSD66: RTE_OPENBSD66,
72 RTE_OPENBSD67: RTE_OPENBSD67,
73 RTE_OPENBSD68: RTE_OPENBSD68,
74 RTE_OPENBSD7: RTE_OPENBSD7,
75 RTE_OPENBSD8: RTE_OPENBSD8,
76 RTE_OPENBSD9: RTE_OPENBSD9,
77 RTE_OPENBSD10: RTE_OPENBSD10,
78 }
79 )
80
81
82
83 num2rte.update(
84 {
85 RTE_OPENBSD: 'openbsd',
86
87 RTE_OPENBSD5: 'openbsd5',
88 RTE_OPENBSD6: 'openbsd6',
89 RTE_OPENBSD61: 'openbsd61',
90 RTE_OPENBSD62: 'openbsd62',
91 RTE_OPENBSD63: 'openbsd63',
92 RTE_OPENBSD64: 'openbsd64',
93 RTE_OPENBSD65: 'openbsd65',
94 RTE_OPENBSD66: 'openbsd66',
95 RTE_OPENBSD67: 'openbsd67',
96 RTE_OPENBSD7: 'openbsd7',
97 RTE_OPENBSD8: 'openbsd8',
98 RTE_OPENBSD9: 'openbsd9',
99 RTE_OPENBSD10: 'openbsd10',
100 }
101 )
102
103
104 num2pretty.update(
105 {
106 RTE_OPENBSD: 'OpenBSD',
107 }
108 )
109
110
111
112 dist = ['', '', '', 'OpenBSD', '', '']
113
114 try:
115
116 if sys.platform.startswith('openbsd'):
117
118 dist[1] = platform.release()
119 dist[5] = 'openbsd'
120
121 elif os.path.exists('/bsd.booted'):
122
123 x = os.popen("sysctl kern.ostype kern.osrelease", mode='r')
124 if x.readline().endswith("OpenBSD\n"):
125
126 _r = x.readline()
127
128 x.close()
129 dist[1] = _r = re.sub(r'[^=]*=([0-9.]*).*$', r'\1', _r)
130 dist[5] = 'openbsd'
131
132
133 if dist[5] == 'openbsd':
134 dist[4] = decode_version_str_to_segments(dist[1])
135 dist[0] = 'openbsd%d' % (dist[4][0], dist[4][1], )
136 dist[2] = 'OpenBSD-%d.%d.%d' %(dist[4][0], dist[4][1], dist[4][2], )
137
138
139 except PlatformIDsFileCheck:
140
141 pass
142
143
144 if dist[5] != 'openbsd':
145
146 dist = ['openbsd', '0.0.0', 'OpenBSD-0.0.0', 'OpenBSD', (0, 0, 0,), 'openbsd']
147