Replace nobin-debian-installer (#1682)
Replace `nobin-debian-installer`
This commit is contained in:
@@ -501,35 +501,29 @@ function buildLinux (cb) {
|
||||
// Create .deb file for Debian-based platforms
|
||||
console.log('Linux: Creating deb...')
|
||||
|
||||
const deb = require('nobin-debian-installer')()
|
||||
const destPath = path.join('/opt', pkg.name)
|
||||
const installer = require('electron-installer-debian')
|
||||
|
||||
deb.pack({
|
||||
package: pkg,
|
||||
info: {
|
||||
arch: 'amd64',
|
||||
targetDir: DIST_PATH,
|
||||
depends: 'gconf2, libgtk2.0-0, libnss3, libxss1',
|
||||
scripts: {
|
||||
postinst: path.join(config.STATIC_PATH, 'linux', 'postinst'),
|
||||
prerm: path.join(config.STATIC_PATH, 'linux', 'prerm')
|
||||
}
|
||||
}
|
||||
}, [{
|
||||
src: ['./**'],
|
||||
dest: destPath,
|
||||
expand: true,
|
||||
cwd: filesPath
|
||||
}, {
|
||||
src: ['./**'],
|
||||
dest: path.join('/usr', 'share'),
|
||||
expand: true,
|
||||
cwd: path.join(config.STATIC_PATH, 'linux', 'share')
|
||||
}], function (err) {
|
||||
if (err) return cb(err)
|
||||
console.log('Linux: Created deb.')
|
||||
cb(null)
|
||||
})
|
||||
const options = {
|
||||
src: filesPath + '/',
|
||||
dest: DIST_PATH,
|
||||
arch: 'amd64',
|
||||
bin: 'WebTorrent',
|
||||
icon: {
|
||||
'48x48': path.join(config.STATIC_PATH, 'linux/share/icons/hicolor/48x48/apps/webtorrent-desktop.png'),
|
||||
'256x256': path.join(config.STATIC_PATH, 'linux/share/icons/hicolor/256x256/apps/webtorrent-desktop.png')
|
||||
},
|
||||
categories: ['Network', 'FileTransfer', 'P2P'],
|
||||
mimeType: ['application/x-bittorrent', 'x-scheme-handler/magnet', 'x-scheme-handler/stream-magnet'],
|
||||
desktopTemplate: path.join(config.STATIC_PATH, 'linux/webtorrent-desktop.ejs')
|
||||
}
|
||||
|
||||
installer(options).then(
|
||||
() => {
|
||||
console.log('Linux: Created deb.')
|
||||
cb(null)
|
||||
},
|
||||
(err) => cb(err)
|
||||
)
|
||||
}
|
||||
|
||||
function packageZip (filesPath, cb) {
|
||||
|
||||
215
package-lock.json
generated
215
package-lock.json
generated
@@ -615,11 +615,6 @@
|
||||
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
|
||||
"dev": true
|
||||
},
|
||||
"ar-async": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/ar-async/-/ar-async-0.1.4.tgz",
|
||||
"integrity": "sha1-kvdtYlMjrA0qLeuJnCexD8nOoOA="
|
||||
},
|
||||
"arch": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
|
||||
@@ -1110,6 +1105,7 @@
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
|
||||
"integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"readable-stream": "~2.0.5"
|
||||
},
|
||||
@@ -1117,12 +1113,14 @@
|
||||
"process-nextick-args": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
|
||||
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
|
||||
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
|
||||
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.1",
|
||||
@@ -1135,7 +1133,8 @@
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2087,6 +2086,15 @@
|
||||
"which": "^1.2.9"
|
||||
}
|
||||
},
|
||||
"cross-spawn-promise": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn-promise/-/cross-spawn-promise-0.10.1.tgz",
|
||||
"integrity": "sha1-25y0xQxgtyoVvgSbeBIs44LYexA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cross-spawn": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"cross-zip": {
|
||||
"version": "2.1.6",
|
||||
"resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-2.1.6.tgz",
|
||||
@@ -2631,6 +2639,115 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"electron-installer-common": {
|
||||
"version": "0.7.3",
|
||||
"resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.7.3.tgz",
|
||||
"integrity": "sha512-l4chYFTWr6uWODKYUXeC+Z4tqGa3b8e+Y2WUBf3F7Ruv6yYzZ+Ccic65oXreeotx09B7sUx1KTuwXRsRJHKlMw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"asar": "^2.0.1",
|
||||
"cross-spawn-promise": "^0.10.1",
|
||||
"debug": "^4.1.1",
|
||||
"fs-extra": "^8.0.1",
|
||||
"glob": "^7.1.4",
|
||||
"lodash": "^4.17.11",
|
||||
"parse-author": "^2.0.0",
|
||||
"semver": "^6.0.0",
|
||||
"tmp-promise": "^2.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.15",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
||||
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dev": true
|
||||
},
|
||||
"tmp-promise": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-2.0.2.tgz",
|
||||
"integrity": "sha512-zl71nFWjPKW2KXs+73gEk8RmqvtAeXPxhWDkTUoa3MSMkjq3I+9OeknjF178MQoMYsdqL730hfzvNfEkePxq9Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"tmp": "0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"electron-installer-debian": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-2.0.0.tgz",
|
||||
"integrity": "sha512-FNdoIzCFhaHiOoLOacWvoUHV80AV/+iH6KNYNiYlB8LmqQKNTPKXNVfZHet/7yDZi2Md4DxRy4gsokEPvV8QSg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "^4.1.1",
|
||||
"electron-installer-common": "^0.7.1",
|
||||
"fs-extra": "^8.0.1",
|
||||
"get-folder-size": "^2.0.1",
|
||||
"lodash": "^4.17.4",
|
||||
"word-wrap": "^1.2.3",
|
||||
"yargs": "^13.2.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.15",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
||||
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"electron-notarize": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.1.1.tgz",
|
||||
@@ -3844,7 +3961,8 @@
|
||||
"fs-constants": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
|
||||
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
|
||||
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
|
||||
"dev": true
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "4.0.3",
|
||||
@@ -3922,6 +4040,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"gar": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz",
|
||||
"integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==",
|
||||
"dev": true
|
||||
},
|
||||
"gauge": {
|
||||
"version": "2.7.4",
|
||||
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
||||
@@ -3976,6 +4100,16 @@
|
||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||
"dev": true
|
||||
},
|
||||
"get-folder-size": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz",
|
||||
"integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"gar": "^1.0.4",
|
||||
"tiny-each-async": "2.0.3"
|
||||
}
|
||||
},
|
||||
"get-package-info": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz",
|
||||
@@ -5886,33 +6020,6 @@
|
||||
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
|
||||
},
|
||||
"nobin-debian-installer": {
|
||||
"version": "github:webtorrent/nobin-debian-installer#8b3d5e9489bf53dcb590636f8fa0e777b9eae6e6",
|
||||
"from": "github:webtorrent/nobin-debian-installer",
|
||||
"requires": {
|
||||
"ar-async": "^0.1.4",
|
||||
"async": "^2.0.0-rc.2",
|
||||
"debug": "^2.2.0",
|
||||
"glob": "^7.1.4",
|
||||
"mkdirp": "^0.5.1",
|
||||
"tar-stream": "^1.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
|
||||
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.14"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.15",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
||||
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
||||
@@ -7671,6 +7778,11 @@
|
||||
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
|
||||
"dev": true
|
||||
},
|
||||
"queue-microtask": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.1.2.tgz",
|
||||
"integrity": "sha512-F9wwNePtXrzZenAB3ax0Y8TSKGvuB7Qw16J30hspEUTbfUM+H827XyN3rlpwhVmtm5wuZtbKIHjOnwDn7MUxWQ=="
|
||||
},
|
||||
"random-access-file": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/random-access-file/-/random-access-file-2.1.3.tgz",
|
||||
@@ -9121,6 +9233,7 @@
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bl": "^1.0.0",
|
||||
"buffer-alloc": "^1.2.0",
|
||||
@@ -9247,6 +9360,12 @@
|
||||
"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
|
||||
"dev": true
|
||||
},
|
||||
"tiny-each-async": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tiny-each-async/-/tiny-each-async-2.0.3.tgz",
|
||||
"integrity": "sha1-jru/1tYpXxNwAD+7NxYq/loKUdE=",
|
||||
"dev": true
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
|
||||
@@ -9294,7 +9413,8 @@
|
||||
"to-buffer": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
|
||||
"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg=="
|
||||
"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
|
||||
"dev": true
|
||||
},
|
||||
"to-fast-properties": {
|
||||
"version": "2.0.0",
|
||||
@@ -10118,9 +10238,9 @@
|
||||
}
|
||||
},
|
||||
"webtorrent": {
|
||||
"version": "0.107.12",
|
||||
"resolved": "https://registry.npmjs.org/webtorrent/-/webtorrent-0.107.12.tgz",
|
||||
"integrity": "sha512-6x1MIK7IVo6arm4w6CODbD2259+d0wpCbPAubHrDTNq0itq8lC6xpVrC+GWTBMjajNsZV2iLa8WUycVw/z+ttA==",
|
||||
"version": "0.107.13",
|
||||
"resolved": "https://registry.npmjs.org/webtorrent/-/webtorrent-0.107.13.tgz",
|
||||
"integrity": "sha512-iiHOEXIdgo/IykQ+63jtXvKE0akOTO6icG6sHqNglaEwGLI2vMLdM64lMfnYt24Kzd2j0kP8JOz/s6+lj2+HYQ==",
|
||||
"requires": {
|
||||
"addr-to-ip-port": "^1.4.2",
|
||||
"bitfield": "^3.0.0",
|
||||
@@ -10153,7 +10273,7 @@
|
||||
"simple-concat": "^1.0.0",
|
||||
"simple-get": "^3.0.1",
|
||||
"simple-peer": "^9.0.0",
|
||||
"simple-sha1": "^3.0.0",
|
||||
"simple-sha1": "^3.0.1",
|
||||
"speedometer": "^1.0.0",
|
||||
"stream-to-blob": "^2.0.0",
|
||||
"stream-to-blob-url": "^3.0.0",
|
||||
@@ -10202,6 +10322,15 @@
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"simple-sha1": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/simple-sha1/-/simple-sha1-3.0.1.tgz",
|
||||
"integrity": "sha512-q7ehqWfHc1VhOm7sW099YDZ4I0yYX7rqyhqqhHV1IYeUTjPOhHyD3mXvv8k2P+rO7+7c8R4/D+8ffzC9BE7Cqg==",
|
||||
"requires": {
|
||||
"queue-microtask": "^1.1.2",
|
||||
"rusha": "^0.8.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -10286,6 +10415,12 @@
|
||||
"resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz",
|
||||
"integrity": "sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs="
|
||||
},
|
||||
"word-wrap": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
|
||||
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
||||
"dev": true
|
||||
},
|
||||
"wordwrap": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"mkdirp": "^0.5.1",
|
||||
"music-metadata": "^4.5.3",
|
||||
"network-address": "^1.1.2",
|
||||
"nobin-debian-installer": "github:webtorrent/nobin-debian-installer",
|
||||
"parse-torrent": "^7.0.1",
|
||||
"prettier-bytes": "^1.0.4",
|
||||
"prop-types": "^15.7.2",
|
||||
@@ -56,6 +55,7 @@
|
||||
"cross-zip": "^2.1.6",
|
||||
"depcheck": "^0.8.3",
|
||||
"electron": "~6.0.8",
|
||||
"electron-installer-debian": "^2.0.0",
|
||||
"electron-osx-sign": "^0.4.13",
|
||||
"electron-packager": "^14.0.6",
|
||||
"electron-winstaller": "^4.0.0",
|
||||
|
||||
@@ -12,8 +12,6 @@ function install () {
|
||||
break
|
||||
case 'win32': installWin32()
|
||||
break
|
||||
case 'linux': installLinux()
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,8 +21,6 @@ function uninstall () {
|
||||
break
|
||||
case 'win32': uninstallWin32()
|
||||
break
|
||||
case 'linux': uninstallLinux()
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,100 +265,3 @@ function uninstallWin32 () {
|
||||
function commandToArgs (command) {
|
||||
return command.map((arg) => `"${arg}"`).join(' ')
|
||||
}
|
||||
|
||||
function installLinux () {
|
||||
const fs = require('fs')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
|
||||
const config = require('../config')
|
||||
const log = require('./log')
|
||||
|
||||
// Do not install in user dir if running on system
|
||||
if (/^\/opt/.test(process.execPath)) return
|
||||
|
||||
installDesktopFile()
|
||||
installIconFile()
|
||||
|
||||
function installDesktopFile () {
|
||||
const templatePath = path.join(
|
||||
config.STATIC_PATH, 'linux', 'webtorrent-desktop.desktop'
|
||||
)
|
||||
fs.readFile(templatePath, 'utf8', writeDesktopFile)
|
||||
}
|
||||
|
||||
function writeDesktopFile (err, desktopFile) {
|
||||
if (err) return log.error(err.message)
|
||||
|
||||
const appPath = config.IS_PRODUCTION
|
||||
? path.dirname(process.execPath)
|
||||
: config.ROOT_PATH
|
||||
|
||||
desktopFile = desktopFile
|
||||
.replace(/\$APP_NAME/g, config.APP_NAME)
|
||||
.replace(/\$APP_PATH/g, appPath)
|
||||
.replace(/\$EXEC_PATH/g, EXEC_COMMAND.join(' '))
|
||||
.replace(/\$TRY_EXEC_PATH/g, process.execPath)
|
||||
|
||||
const desktopFilePath = path.join(
|
||||
os.homedir(),
|
||||
'.local',
|
||||
'share',
|
||||
'applications',
|
||||
'webtorrent-desktop.desktop'
|
||||
)
|
||||
fs.mkdirp(path.dirname(desktopFilePath))
|
||||
fs.writeFile(desktopFilePath, desktopFile, err => {
|
||||
if (err) return log.error(err.message)
|
||||
})
|
||||
}
|
||||
|
||||
function installIconFile () {
|
||||
const iconStaticPath = path.join(config.STATIC_PATH, 'WebTorrent.png')
|
||||
fs.readFile(iconStaticPath, writeIconFile)
|
||||
}
|
||||
|
||||
function writeIconFile (err, iconFile) {
|
||||
if (err) return log.error(err.message)
|
||||
|
||||
const mkdirp = require('mkdirp')
|
||||
|
||||
const iconFilePath = path.join(
|
||||
os.homedir(),
|
||||
'.local',
|
||||
'share',
|
||||
'icons',
|
||||
'webtorrent-desktop.png'
|
||||
)
|
||||
mkdirp(path.dirname(iconFilePath), err => {
|
||||
if (err) return log.error(err.message)
|
||||
fs.writeFile(iconFilePath, iconFile, err => {
|
||||
if (err) log.error(err.message)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function uninstallLinux () {
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const rimraf = require('rimraf')
|
||||
|
||||
const desktopFilePath = path.join(
|
||||
os.homedir(),
|
||||
'.local',
|
||||
'share',
|
||||
'applications',
|
||||
'webtorrent-desktop.desktop'
|
||||
)
|
||||
rimraf.sync(desktopFilePath)
|
||||
|
||||
const iconFilePath = path.join(
|
||||
os.homedir(),
|
||||
'.local',
|
||||
'share',
|
||||
'icons',
|
||||
'webtorrent-desktop.png'
|
||||
)
|
||||
rimraf.sync(iconFilePath)
|
||||
}
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
chmod +x /opt/webtorrent-desktop/WebTorrent
|
||||
ln -s -f /opt/webtorrent-desktop/WebTorrent /usr/bin/webtorrent-desktop
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
rm /usr/bin/webtorrent-desktop
|
||||
@@ -1,29 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=$APP_NAME
|
||||
Version=1.0
|
||||
GenericName=BitTorrent Client
|
||||
X-GNOME-FullName=$APP_NAME
|
||||
Comment=Download and share files over BitTorrent
|
||||
Type=Application
|
||||
Icon=webtorrent-desktop
|
||||
Terminal=false
|
||||
Path=$APP_PATH
|
||||
Exec=$EXEC_PATH %U
|
||||
TryExec=$TRY_EXEC_PATH
|
||||
StartupNotify=false
|
||||
Categories=Network;FileTransfer;P2P;
|
||||
MimeType=application/x-bittorrent;x-scheme-handler/magnet;x-scheme-handler/stream-magnet;
|
||||
|
||||
Actions=CreateNewTorrent;OpenTorrentFile;OpenTorrentAddress;
|
||||
|
||||
[Desktop Action CreateNewTorrent]
|
||||
Name=Create New Torrent...
|
||||
Exec=$EXEC_PATH -n
|
||||
|
||||
[Desktop Action OpenTorrentFile]
|
||||
Name=Open Torrent File...
|
||||
Exec=$EXEC_PATH -o
|
||||
|
||||
[Desktop Action OpenTorrentAddress]
|
||||
Name=Open Torrent Address...
|
||||
Exec=$EXEC_PATH -u
|
||||
26
static/linux/webtorrent-desktop.ejs
Normal file
26
static/linux/webtorrent-desktop.ejs
Normal file
@@ -0,0 +1,26 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
<% if (version) { %>Version=<%= version %><% } %>
|
||||
Name=<%= productName %>
|
||||
<% if (genericName) { %>GenericName=<%= genericName %><% } %>
|
||||
<% if (description) { %>Comment=<%= description %><% } %>
|
||||
Icon=<%= name %>
|
||||
<% if (name) { %>Exec=<%= name %> %U<% } %>
|
||||
Terminal=false
|
||||
Actions=CreateNewTorrent;OpenTorrentFile;OpenTorrentAddress;
|
||||
<% if (mimeType && mimeType.length) { %>MimeType=<%= mimeType.join(';') %>;<% } %>
|
||||
<% if (categories && categories.length) { %>Categories=<%= categories.join(';') %>;<% } %>
|
||||
StartupNotify=true
|
||||
<% if (name) { %>StartupWMClass=<%= name %> <% } %>
|
||||
|
||||
[Desktop Action CreateNewTorrent]
|
||||
Name=Create New Torrent...
|
||||
<% if (name) { %>Exec=<%= name %> -n <% } %>
|
||||
|
||||
[Desktop Action OpenTorrentFile]
|
||||
Name=Open Torrent File...
|
||||
<% if (name) { %>Exec=<%= name %> -o <% } %>
|
||||
|
||||
[Desktop Action OpenTorrentAddress]
|
||||
Name=Open Torrent Address...
|
||||
<% if (name) { %>Exec=<%= name %> -u <% } %>
|
||||
Reference in New Issue
Block a user