mirror of https://github.com/lukechilds/docs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
763 B
26 lines
763 B
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)
|
|
}
|
|
|