@@ -126,10 +126,10 @@ async function getPlatform(logsOpt) {
126
126
const arch = os . arch ( )
127
127
const cpuCore = os . cpus ( ) [ 0 ]
128
128
const isM1 = cpuCore . model . includes ( "Apple M1" )
129
- const linuxInfo = type === 'Linux' ? await getLinuxInfo ( ) : [ ]
130
- const linuxDistro = linuxInfo [ 0 ] || type
131
- const release = linuxInfo [ 1 ] || os . release ( )
132
- const majorVersion = parseInt ( linuxInfo [ 1 ] ) || semver . major ( release )
129
+ const linuxInfo = type === 'Linux' ? await getLinuxInfo ( ) : new Map ( )
130
+ const linuxDistro = linuxInfo . get ( 'name' )
131
+ const release = linuxInfo . get ( 'version' ) || os . release ( )
132
+ const majorVersion = parseInt ( linuxInfo . get ( 'version' ) , 10 ) || semver . major ( release )
133
133
134
134
if ( logsOpt ) {
135
135
print . info ( `OS: ${ linuxDistro || type } \nOS arch: ${ arch } \nOS release: ${ release } \nOS major version: ${ majorVersion } \nCPU model: ${ cpuCore . model } ` )
@@ -161,8 +161,15 @@ async function getPlatform(logsOpt) {
161
161
162
162
async function getLinuxInfo ( ) {
163
163
try {
164
- let info = await system . run ( "cat /etc/*-release | grep -E '(^VERSION|^NAME)='" , { trim : true } )
165
- return info . replace ( / [ V E R S I O N = ] | [ N A M E = ] | [ ' " ] + / g, '' ) . split ( '\n' )
164
+ let result = await system . run ( "cat /etc/*-release | grep -E '(^VERSION|^NAME)='" , { trim : true } )
165
+ let infoArray = result . replace ( / [ ' " ] + / g, '' ) . split ( '\n' ) . map ( p => p . split ( '=' ) )
166
+ let infoMap = new Map ( ) ;
167
+
168
+ infoArray . forEach ( ( val ) => {
169
+ infoMap . set ( val [ 0 ] . toLowerCase ( ) , val [ 1 ] )
170
+ } ) ;
171
+ print . info ( infoMap )
172
+ return infoMap
166
173
} catch ( error ) {
167
174
print . error ( `Error fetching the Linux version:\n ${ error } ` )
168
175
process . exit ( 1 )
0 commit comments