Innovenergy_trunk/frontend/node_modules/getos/logic/debian.js

27 lines
787 B
JavaScript

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)
}