debian.js 787 B

1234567891011121314151617181920212223242526
  1. var exec = require('child_process').exec
  2. var lsbRelease = /Release:\t(.*)/
  3. var lsbCodename = /Codename:\t(.*)/
  4. var releaseRegex = /(.*)/
  5. module.exports = function (os, file, cb) {
  6. // first try lsb_release
  7. return lsbrelease(os, file, cb)
  8. }
  9. function lsbrelease (os, file, cb) {
  10. exec('lsb_release -a', function (e, stdout, stderr) {
  11. if (e) return releasefile(os, file, cb)
  12. var release = stdout.match(lsbRelease)
  13. if (release && release.length === 2) os.release = release[1]
  14. var codename = stdout.match(lsbCodename)
  15. if (codename && release.length === 2) os.codename = codename[1]
  16. cb(null, os)
  17. })
  18. }
  19. function releasefile (os, file, cb) {
  20. var release = file.match(releaseRegex)
  21. if (release && release.length === 2) os.release = release[1]
  22. cb(null, os)
  23. }