27 lines
787 B
JavaScript
Raw Normal View History

2023-08-15 18:35:50 +02:00
var exec = require('child_process').exec
var lsbRelease = /Release:\t(.*)/
var lsbCodename = /Codename:\t(.*)/
var releaseRegex = /(.*)/
module.exports = function (os, file, cb) {
// first try lsb_release
return lsbrelease(os, file, cb)
}
function lsbrelease (os, file, cb) {
exec('lsb_release -a', function (e, stdout, stderr) {
if (e) return releasefile(os, file, cb)
var release = stdout.match(lsbRelease)
if (release && release.length === 2) os.release = release[1]
var codename = stdout.match(lsbCodename)
if (codename && release.length === 2) os.codename = codename[1]
cb(null, os)
})
}
function releasefile (os, file, cb) {
var release = file.match(releaseRegex)
if (release && release.length === 2) os.release = release[1]
cb(null, os)
}