diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7bcad4f4a..b1cdfa70f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,9 @@ jobs: - uses: actions/setup-node@v2 with: node-version: '16' + - name: Prepare for debian package + run: | + sudo gem install fpm - name: Build it env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -29,7 +32,9 @@ jobs: with: name: linux-binaries path: | - dist/jitsi-meet-amd64.deb + dist/*.deb + dist/*.changes + dist/*.buildinfo dist/jitsi-meet-x86_64.AppImage dist/latest-linux.yml build-mac: diff --git a/README.md b/README.md index ccc7c9e8b..8494a94ae 100644 --- a/README.md +++ b/README.md @@ -70,10 +70,11 @@ npm install --global --production windows-build-tools
Extra dependencies for GNU/Linux -X11, PNG and zlib development packages are necessary. On Debian-like systems then can be installed as follows: +X11, PNG and zlib development packages are necessary. In addition fpm is required. On Debian-like systems then can be installed as follows: ```bash sudo apt install libx11-dev zlib1g-dev libpng-dev libxtst-dev +sudo gem install fpm ```
diff --git a/build-debian-meta.js b/build-debian-meta.js new file mode 100644 index 000000000..749114df3 --- /dev/null +++ b/build-debian-meta.js @@ -0,0 +1,43 @@ +/* global process */ + +const { stat, readFile, writeFile, rename } = require('fs/promises'); +const { createHash } = require('crypto'); +const packageJson = require('./package.json'); + +exports.default = async function(context) { + const dateFormat = await import('dateformat'); + + const { outDir } = context; + + if (process.platform !== 'linux') { + return; + } + + const triplet = `${packageJson.name}_${packageJson.version}_amd64`; + const debName = `${outDir}/${triplet}.deb`; + const buildInfo = `${outDir}/${triplet}.buildinfo`; + const changes = `${outDir}/${triplet}.changes`; + const sizeInBytes = (await stat(debName)).size; + const debfile = await readFile(debName); + const md5sum = createHash('md5').update(debfile) +.digest('hex'); + const sha1sum = createHash('sha1').update(debfile) +.digest('hex'); + const sha256sum = createHash('sha256').update(debfile) +.digest('hex'); + let template = (await readFile(`${outDir}/../debian/${packageJson.name}.buildinfo`)).toString(); + + template = template.replace(/__SIZE__/g, sizeInBytes); + template = template.replace(/__FILE__/g, debName); + template = template.replace(/__NAME__/g, packageJson.name); + template = template.replace('__VERSION__', packageJson.version); + template = template.replace('__DATE__', dateFormat.default(new Date(), 'ddd, dd mmm yyyy HH:MM:ss o')); + template = template.replace('__MD5__', md5sum); + template = template.replace('__SHA1__', sha1sum); + template = template.replace('__SHA256__', sha256sum); + await writeFile(buildInfo, template); + + await rename(`${outDir}/../${triplet}.changes`, changes); + + return [ buildInfo, changes ]; +}; diff --git a/debian/jitsi-meet-electron.buildinfo b/debian/jitsi-meet-electron.buildinfo new file mode 100644 index 000000000..498a2f04e --- /dev/null +++ b/debian/jitsi-meet-electron.buildinfo @@ -0,0 +1,163 @@ +Format: 1.0 +Source: __NAME__ +Binary: __NAME__ +Architecture: amd64 +Version: __VERSION__ +Checksums-Md5: + __MD5__ __SIZE__ __FILE__ +Checksums-Sha1: + __SHA1__ __SIZE__ __FILE__ +Checksums-Sha256: + __SHA256__ __SIZE__ __FILE__ +Build-Origin: Ubuntu +Build-Architecture: amd64 +Build-Date: __DATE__ +Build-Tainted-By: + merged-usr-via-symlinks +Installed-Build-Depends: + autoconf (= 2.69-11.1), + automake (= 1:1.16.1-4ubuntu6), + autopoint (= 0.19.8.1-10build1), + autotools-dev (= 20180224.1), + base-files (= 11ubuntu5.5), + base-passwd (= 3.5.47), + bash (= 5.0-6ubuntu1.1), + binutils (= 2.34-6ubuntu1.3), + binutils-common (= 2.34-6ubuntu1.3), + binutils-x86-64-linux-gnu (= 2.34-6ubuntu1.3), + bsdmainutils (= 11.1.2ubuntu3), + bsdutils (= 1:2.34-0.1ubuntu9.3), + build-essential (= 12.8ubuntu1.1), + bzip2 (= 1.0.8-2), + coreutils (= 8.30-3ubuntu2), + cpp (= 4:9.3.0-1ubuntu2), + cpp-9 (= 9.4.0-1ubuntu1~20.04), + dash (= 0.5.10.2-6), + debconf (= 1.5.73), + debhelper (= 12.10ubuntu1), + debianutils (= 4.9.1), + dh-autoreconf (= 19), + dh-strip-nondeterminism (= 1.7.0-1), + diffutils (= 1:3.7-3), + dpkg (= 1.19.7ubuntu3), + dpkg-dev (= 1.19.7ubuntu3), + dwz (= 0.13-5), + file (= 1:5.38-4), + findutils (= 4.7.0-1ubuntu1), + g++ (= 4:9.3.0-1ubuntu2), + g++-9 (= 9.4.0-1ubuntu1~20.04), + gcc (= 4:9.3.0-1ubuntu2), + gcc-10-base (= 10.3.0-1ubuntu1~20.04), + gcc-9 (= 9.4.0-1ubuntu1~20.04), + gcc-9-base (= 9.4.0-1ubuntu1~20.04), + gettext (= 0.19.8.1-10build1), + gettext-base (= 0.19.8.1-10build1), + grep (= 3.4-1), + groff-base (= 1.22.4-4build1), + gzip (= 1.10-0ubuntu4), + hostname (= 3.23), + init-system-helpers (= 1.57), + install-info (= 6.7.0.dfsg.2-5), + intltool-debian (= 0.35.0+20060710.5), + libacl1 (= 2.2.53-6), + libarchive-zip-perl (= 1.67-2), + libasan5 (= 9.4.0-1ubuntu1~20.04), + libatomic1 (= 10.3.0-1ubuntu1~20.04), + libattr1 (= 1:2.4.48-5), + libaudit-common (= 1:2.8.5-2ubuntu6), + libaudit1 (= 1:2.8.5-2ubuntu6), + libbinutils (= 2.34-6ubuntu1.3), + libblkid1 (= 2.34-0.1ubuntu9.3), + libbsd0 (= 0.10.0-1), + libbz2-1.0 (= 1.0.8-2), + libc-bin (= 2.31-0ubuntu9.7), + libc-dev-bin (= 2.31-0ubuntu9.7), + libc6 (= 2.31-0ubuntu9.7), + libc6-dev (= 2.31-0ubuntu9.7), + libcap-ng0 (= 0.7.9-2.1build1), + libcc1-0 (= 10.3.0-1ubuntu1~20.04), + libcroco3 (= 0.6.13-1), + libcrypt-dev (= 1:4.4.10-10ubuntu4), + libcrypt1 (= 1:4.4.10-10ubuntu4), + libctf-nobfd0 (= 2.34-6ubuntu1.3), + libctf0 (= 2.34-6ubuntu1.3), + libdb5.3 (= 5.3.28+dfsg1-0.6ubuntu2), + libdebconfclient0 (= 0.251ubuntu1), + libdebhelper-perl (= 12.10ubuntu1), + libdpkg-perl (= 1.19.7ubuntu3), + libelf1 (= 0.176-1.1build1), + libffi7 (= 3.3-4), + libfile-stripnondeterminism-perl (= 1.7.0-1), + libgcc-9-dev (= 9.4.0-1ubuntu1~20.04), + libgcc-s1 (= 10.3.0-1ubuntu1~20.04), + libgcrypt20 (= 1.8.5-5ubuntu1.1), + libgdbm-compat4 (= 1.18.1-5), + libgdbm6 (= 1.18.1-5), + libglib2.0-0 (= 2.64.6-1~ubuntu20.04.4), + libgmp10 (= 2:6.2.0+dfsg-4), + libgomp1 (= 10.3.0-1ubuntu1~20.04), + libgpg-error0 (= 1.37-1), + libicu66 (= 66.1-2ubuntu2.1), + libisl22 (= 0.22.1-1), + libitm1 (= 10.3.0-1ubuntu1~20.04), + liblsan0 (= 10.3.0-1ubuntu1~20.04), + liblz4-1 (= 1.9.2-2ubuntu0.20.04.1), + liblzma5 (= 5.2.4-1ubuntu1), + libmagic-mgc (= 1:5.38-4), + libmagic1 (= 1:5.38-4), + libmount1 (= 2.34-0.1ubuntu9.3), + libmpc3 (= 1.1.0-1), + libmpfr6 (= 4.0.2-1), + libpam-modules (= 1.3.1-5ubuntu4.3), + libpam-modules-bin (= 1.3.1-5ubuntu4.3), + libpam-runtime (= 1.3.1-5ubuntu4.3), + libpam0g (= 1.3.1-5ubuntu4.3), + libpcre2-8-0 (= 10.34-7), + libpcre3 (= 2:8.39-12build1), + libperl5.30 (= 5.30.0-9ubuntu0.2), + libpipeline1 (= 1.5.2-2build1), + libquadmath0 (= 10.3.0-1ubuntu1~20.04), + libseccomp2 (= 2.5.1-1ubuntu1~20.04.2), + libselinux1 (= 3.0-1build2), + libsigsegv2 (= 2.12-2), + libsmartcols1 (= 2.34-0.1ubuntu9.3), + libstdc++-9-dev (= 9.4.0-1ubuntu1~20.04), + libstdc++6 (= 10.3.0-1ubuntu1~20.04), + libsub-override-perl (= 0.09-2), + libsystemd0 (= 245.4-4ubuntu3.15), + libtinfo6 (= 6.2-0ubuntu2), + libtool (= 2.4.6-14), + libtsan0 (= 10.3.0-1ubuntu1~20.04), + libubsan1 (= 10.3.0-1ubuntu1~20.04), + libuchardet0 (= 0.0.6-3build1), + libudev1 (= 245.4-4ubuntu3.15), + libunistring2 (= 0.9.10-2), + libuuid1 (= 2.34-0.1ubuntu9.3), + libxml2 (= 2.9.10+dfsg-5ubuntu0.20.04.2), + libzstd1 (= 1.4.4+dfsg-3ubuntu0.1), + linux-libc-dev (= 5.4.0-105.119), + login (= 1:4.8.1-1ubuntu5.20.04.1), + lsb-base (= 11.1.0ubuntu2), + m4 (= 1.4.18-4), + make (= 4.2.1-1.2), + man-db (= 2.9.1-1), + mawk (= 1.3.4.20200120-2), + ncurses-base (= 6.2-0ubuntu2), + ncurses-bin (= 6.2-0ubuntu2), + patch (= 2.7.6-6), + perl (= 5.30.0-9ubuntu0.2), + perl-base (= 5.30.0-9ubuntu0.2), + perl-modules-5.30 (= 5.30.0-9ubuntu0.2), + po-debconf (= 1.0.21), + sed (= 4.7-1), + sensible-utils (= 0.0.12+nmu1), + sysvinit-utils (= 2.96-2.1ubuntu1), + tar (= 1.30+dfsg-7ubuntu0.20.04.2), + tzdata (= 2021e-0ubuntu0.20.04), + util-linux (= 2.34-0.1ubuntu9.3), + xz-utils (= 5.2.4-1ubuntu1), + zlib1g (= 1:1.2.11.dfsg-2ubuntu1.2) +Environment: + DEB_BUILD_OPTIONS="parallel=4" + LANG="de_DE.UTF-8" + SOURCE_DATE_EPOCH="1647873000" diff --git a/electron-builder.env b/electron-builder.env new file mode 100644 index 000000000..2fec566d6 --- /dev/null +++ b/electron-builder.env @@ -0,0 +1 @@ +USE_SYSTEM_FPM=true diff --git a/package-lock.json b/package-lock.json index c18731eb1..017b49841 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,6 +39,7 @@ "babel-loader": "^8.2.3", "concurrently": "5.1.0", "css-loader": "^6.7.1", + "dateformat": "^5.0.3", "electron": "17.1.2", "electron-builder": "22.11.11", "electron-context-menu": "^2.5.0", @@ -3538,9 +3539,9 @@ "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz", - "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "node_modules/@types/minimatch": { @@ -3882,9 +3883,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -4257,13 +4258,13 @@ } }, "node_modules/babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -4982,9 +4983,9 @@ "dev": true }, "node_modules/caniuse-lite": { - "version": "1.0.30001319", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz", - "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==", + "version": "1.0.30001320", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", + "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==", "dev": true, "funding": [ { @@ -5486,9 +5487,9 @@ } }, "node_modules/conf/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -5894,6 +5895,15 @@ "url": "https://opencollective.com/date-fns" } }, + "node_modules/dateformat": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-5.0.3.tgz", + "integrity": "sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA==", + "dev": true, + "engines": { + "node": ">=12.20" + } + }, "node_modules/debounce-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", @@ -6829,9 +6839,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.89", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.89.tgz", - "integrity": "sha512-z1Axg0Fu54fse8wN4fd+GAINdU5mJmLtcl6bqIcYyzNVGONcfHAeeJi88KYMQVKalhXlYuVPzKkFIU5VD0raUw==", + "version": "1.4.94", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.94.tgz", + "integrity": "sha512-CoOKsuACoa0PAG3hQXxbh/XDiFcjGuSyGKUi09cjMHOt6RCi7/EXgXhaFF3I+aC89Omudqmkzd0YOQKxwtf/Bg==", "dev": true }, "node_modules/electron-updater": { @@ -8034,20 +8044,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/file-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/file-loader/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -9446,9 +9442,9 @@ "dev": true }, "node_modules/isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", "dev": true, "engines": { "node": ">= 8.0.0" @@ -9858,29 +9854,17 @@ } }, "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "json5": "^2.1.2" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "node": ">=8.9.0" } }, "node_modules/locate-path": { @@ -10241,12 +10225,12 @@ } }, "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "dependencies": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" @@ -11227,9 +11211,9 @@ } }, "node_modules/plist": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", - "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", "dev": true, "dependencies": { "base64-js": "^1.5.1", @@ -11577,9 +11561,9 @@ } }, "node_modules/react-i18next": { - "version": "11.16.1", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.16.1.tgz", - "integrity": "sha512-6Wf/YtPqANloFmnN5ol0ANeweFPzDWGykRq/dk4wU3ZkjWBR3d5iH210gMg8e8AgLQ1Dq7suUIL7WGfu08OehQ==", + "version": "11.16.2", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.16.2.tgz", + "integrity": "sha512-1iuZduvARUelL5ux663FvIoDZExwFO+9QtRAAt4uvs1/aun4cUZt8XBrVg7iiDgNls9cOSORAhE7Ri5KA9RMvg==", "dev": true, "dependencies": { "@babel/runtime": "^7.14.5", @@ -17319,9 +17303,9 @@ "dev": true }, "@types/json-schema": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz", - "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/minimatch": { @@ -17624,9 +17608,9 @@ }, "dependencies": { "ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -17904,13 +17888,13 @@ } }, "babel-loader": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", - "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" } @@ -18467,9 +18451,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001319", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz", - "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==", + "version": "1.0.30001320", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", + "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==", "dev": true }, "chalk": { @@ -18866,9 +18850,9 @@ }, "dependencies": { "ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -19188,6 +19172,12 @@ "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", "dev": true }, + "dateformat": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-5.0.3.tgz", + "integrity": "sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA==", + "dev": true + }, "debounce-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", @@ -19916,9 +19906,9 @@ } }, "electron-to-chromium": { - "version": "1.4.89", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.89.tgz", - "integrity": "sha512-z1Axg0Fu54fse8wN4fd+GAINdU5mJmLtcl6bqIcYyzNVGONcfHAeeJi88KYMQVKalhXlYuVPzKkFIU5VD0raUw==", + "version": "1.4.94", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.94.tgz", + "integrity": "sha512-CoOKsuACoa0PAG3hQXxbh/XDiFcjGuSyGKUi09cjMHOt6RCi7/EXgXhaFF3I+aC89Omudqmkzd0YOQKxwtf/Bg==", "dev": true }, "electron-updater": { @@ -20887,17 +20877,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -21938,9 +21917,9 @@ "dev": true }, "isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", "dev": true }, "isexe": { @@ -22263,25 +22242,14 @@ "dev": true }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } + "json5": "^2.1.2" } }, "locate-path": { @@ -22574,12 +22542,12 @@ } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, "modify-filename": { @@ -23338,9 +23306,9 @@ } }, "plist": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz", - "integrity": "sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", "dev": true, "requires": { "base64-js": "^1.5.1", @@ -23605,9 +23573,9 @@ } }, "react-i18next": { - "version": "11.16.1", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.16.1.tgz", - "integrity": "sha512-6Wf/YtPqANloFmnN5ol0ANeweFPzDWGykRq/dk4wU3ZkjWBR3d5iH210gMg8e8AgLQ1Dq7suUIL7WGfu08OehQ==", + "version": "11.16.2", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.16.2.tgz", + "integrity": "sha512-1iuZduvARUelL5ux663FvIoDZExwFO+9QtRAAt4uvs1/aun4cUZt8XBrVg7iiDgNls9cOSORAhE7Ri5KA9RMvg==", "dev": true, "requires": { "@babel/runtime": "^7.14.5", diff --git a/package.json b/package.json index 6b53b7d93..53cf1f252 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "lint": "eslint . && flow", "build": "webpack --config ./webpack.main.js --mode production && webpack --config ./webpack.renderer.js --mode production", "dist": "npm run build && electron-builder", + "dist-debian": "./build-debian-meta.sh $npm_package_version", "postinstall": "patch-package && electron-builder install-app-deps", "watch": "webpack --config ./webpack.renderer.js --mode development --watch --watch-options-poll=1000" }, @@ -22,6 +23,7 @@ "productName": "Jitsi Meet", "generateUpdatesFilesForAllChannels": true, "afterSign": "./notarize.js", + "afterAllArtifactBuild": "./build-debian-meta.js", "files": [ "build", "resources", @@ -77,6 +79,7 @@ ] }, "deb": { + "artifactName": "${name}_${version}_${arch}.${ext}", "depends": [ "libgtk-3-0", "libnss3", @@ -84,6 +87,9 @@ "xdg-utils", "libatspi2.0-0", "libuuid1" + ], + "fpm": [ + "--deb-generate-changes" ] }, "win": { @@ -158,6 +164,7 @@ "babel-loader": "^8.2.3", "concurrently": "5.1.0", "css-loader": "^6.7.1", + "dateformat": "^5.0.3", "electron": "17.1.2", "electron-builder": "22.11.11", "electron-context-menu": "^2.5.0",