summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Peukert2023-02-08 23:50:23 +0100
committerDaniel Peukert2023-02-08 23:50:23 +0100
commit53a480dc6aa90cc2e15bd609dbe586879c7c7531 (patch)
treeecaa90dfd5f3fffe74ac277d3e25a31b0dda73e6
parent44954988e6bdb6dd12e0c213d86c16f76c66b316 (diff)
downloadaur-53a480dc6aa90cc2e15bd609dbe586879c7c7531.tar.gz
Update mongodb-compass-beta to 1.35.1-beta.3, fix argv handling
-rw-r--r--.SRCINFO11
-rw-r--r--PKGBUILD27
-rw-r--r--fix-argv.diff75
-rw-r--r--hadron-build.diff10
4 files changed, 97 insertions, 26 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 83bb9c1b6f5f..0a05f4d4b3a1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mongodb-compass-git
pkgdesc = The official GUI for MongoDB - git version
- pkgver = r15155.g60ed338bf
+ pkgver = r15468.g1dbe8415e
pkgrel = 1
epoch = 1
url = https://www.mongodb.com/products/compass
@@ -14,8 +14,7 @@ pkgbase = mongodb-compass-git
makedepends = npm>=8.0.0
makedepends = python
makedepends = unzip
- makedepends = patchutils
- depends = electron15
+ depends = electron
depends = krb5
depends = libsecret
depends = lsb-release
@@ -23,10 +22,10 @@ pkgbase = mongodb-compass-git
provides = mongodb-compass
conflicts = mongodb-compass
source = mongodb-compass-git::git+https://github.com/mongodb-js/compass
- source = mongodb-compass-git-browserslist.diff::https://github.com/browserslist/browserslist/pull/378.diff
source = hadron-build.diff
+ source = fix-argv.diff
sha512sums = SKIP
- sha512sums = d7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1
- sha512sums = 8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94
+ sha512sums = 18029ff1479cbacb413f7154d5ca7589855273c559ee15bb5b5006eed65b8edcb58fac64cc8deabd20c36e06f298dc4b7152f61391975d2a3ecb6351b787fae7
+ sha512sums = 1a2345b90196d3c856d0288d9406cfd667d0ebcce400e6886c7eba2825fa52d7813d45f2c375fcaf4e28d116b68107219e6f662b5bdbb12bf0e402ca61194cf7
pkgname = mongodb-compass-git
diff --git a/PKGBUILD b/PKGBUILD
index 565ff04b78ce..289bbb176643 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,34 +3,37 @@ _target='compass'
_edition=''
_pkgname="mongodb-$_target"
pkgname="$_pkgname-git"
-pkgver='r15155.g60ed338bf'
+pkgver='r15468.g1dbe8415e'
pkgrel='1'
epoch='1'
pkgdesc='The official GUI for MongoDB - git version'
arch=('x86_64' 'i686' 'armv7h' 'aarch64')
url='https://www.mongodb.com/products/compass'
license=('custom:SSPL')
-_electronpkg='electron15'
+_electronpkg='electron'
depends=("$_electronpkg" 'krb5' 'libsecret' 'lsb-release')
-makedepends=('git' 'nodejs>=16.0.0' 'npm>=8.0.0' 'python' 'unzip' 'patchutils')
+makedepends=('git' 'nodejs>=16.0.0' 'npm>=8.0.0' 'python' 'unzip')
optdepends=('org.freedesktop.secrets')
provides=("$_pkgname")
conflicts=("$_pkgname")
source=(
"$pkgname::git+https://github.com/mongodb-js/compass"
- "$pkgname-browserslist.diff::https://github.com/browserslist/browserslist/pull/378.diff"
'hadron-build.diff'
+ 'fix-argv.diff'
)
sha512sums=('SKIP'
- 'd7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1'
- '8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94')
+ '18029ff1479cbacb413f7154d5ca7589855273c559ee15bb5b5006eed65b8edcb58fac64cc8deabd20c36e06f298dc4b7152f61391975d2a3ecb6351b787fae7'
+ '1a2345b90196d3c856d0288d9406cfd667d0ebcce400e6886c7eba2825fa52d7813d45f2c375fcaf4e28d116b68107219e6f662b5bdbb12bf0e402ca61194cf7')
_sourcedirectory="$pkgname"
prepare() {
cd "$srcdir/$_sourcedirectory/"
+ # Disable husky command
+ sed -i '/husky install/d' 'package.json'
+
# Set system Electron version for ABI compatibility
sed -E -i 's|("electron": ").*"|\1'"$(cat "/usr/lib/$_electronpkg/version")"'"|' {'configs','packages'}'/'*'/package.json'
@@ -40,18 +43,12 @@ prepare() {
# Apply hadron-build fixes
patch --forward -p1 < "$srcdir/hadron-build.diff"
+ # Apply argv fixes
+ patch --forward -p1 < "$srcdir/fix-argv.diff"
+
# Run the first part of npm run bootstrap
npm install
- # Apply browserslist fixes
- filterdiff --exclude='*/test/*' "$srcdir/$pkgname-browserslist.diff" > "$srcdir/$pkgname-browserslist-filtered.diff"
-
- for _folder in 'node_modules/@mongodb-js/'*'/node_modules/browserslist'; do
- if grep -q '"version": "2' "$_folder/package.json"; then
- patch -d "$_folder/" --forward -p1 < "$srcdir/$pkgname-browserslist-filtered.diff"
- fi
- done
-
# Run the second part of npm run bootstrap
NODE_OPTIONS='--openssl-legacy-provider' npx lerna run bootstrap --stream
}
diff --git a/fix-argv.diff b/fix-argv.diff
new file mode 100644
index 000000000000..4a048d1ea8e3
--- /dev/null
+++ b/fix-argv.diff
@@ -0,0 +1,75 @@
+diff --git a/packages/compass-preferences-model/src/global-config.ts b/packages/compass-preferences-model/src/global-config.ts
+index ed438e40f..10d2a5aba 100644
+--- a/packages/compass-preferences-model/src/global-config.ts
++++ b/packages/compass-preferences-model/src/global-config.ts
+@@ -210,8 +210,6 @@ export interface ParsedGlobalPreferencesResult {
+ preferenceParseErrors: string[];
+ }
+
+-// See https://github.com/electron/electron/issues/4690
+-const argvStartIndex = process.versions.electron && !process.defaultApp ? 1 : 2;
+ export async function parseAndValidateGlobalPreferences(
+ sources: GlobalPreferenceSources = {}
+ ): Promise<ParsedGlobalPreferencesResult> {
+@@ -220,6 +218,16 @@ export async function parseAndValidateGlobalPreferences(
+ );
+ let argv = sources.argv;
+ if (!argv) {
++ let argvStartIndex = 0;
++
++ for (const arg of process.argv) {
++ argvStartIndex++;
++
++ if (arg.includes('app.asar') === true) {
++ break;
++ }
++ }
++
+ argv = process.argv.slice(argvStartIndex);
+ }
+ const cliPreferences = parseCliArgs(argv);
+@@ -309,11 +317,17 @@ export function getHelpText(): string {
+ text += ` ${path}\n`;
+ }
+ if (globalConfigPaths.length > 0) {
++ let binaryName = '';
++
++ for (const arg of process.argv) {
++ if (arg.includes('app.asar') === true) {
++ binaryName = arg.replace('/usr/lib/', '').replace('/app.asar', '');
++ break;
++ }
++ }
++
+ text += '\nIf no global configuration file exists, running Compass as\n';
+- text += ` ${escapeShell(process.execPath)}${
+- argvStartIndex >= 2 ? ' ' + escapeShell(process.argv[1]) : ''
+- } `;
+- text += `--show-example-config > ${escapeShell(globalConfigPaths[0])}\n`;
++ text += ` ${binaryName} --show-example-config > ${escapeShell(globalConfigPaths[0])}\n`;
+ text += 'can be used to install one.\n';
+ }
+ text += '\nSee the MongoDB Compass documentation for more details.\n';
+diff --git a/packages/compass/src/main/protocol-handling.ts b/packages/compass/src/main/protocol-handling.ts
+index fb4486333..6f2921174 100644
+--- a/packages/compass/src/main/protocol-handling.ts
++++ b/packages/compass/src/main/protocol-handling.ts
+@@ -13,9 +13,15 @@ async function appProtocolsConfig(): Promise<ProtocolsList> {
+ return (await import('../../package.json')).config.hadron.protocols;
+ }
+
+-const commandArgv = process.defaultApp
+- ? [process.execPath, path.resolve(process.argv[1]), '--']
+- : [process.execPath, '--'];
++let commandArgv = [];
++
++for (const arg of process.argv) {
++ if (arg.includes('app.asar') === true) {
++ commandArgv[0] = arg.replace('/usr/lib/', '').replace('/app.asar', '');
++ commandArgv[1] = '--';
++ break;
++ }
++}
+
+ export async function setupProtocolHandlers(
+ action: 'install' | 'uninstall',
diff --git a/hadron-build.diff b/hadron-build.diff
index bf34794cdd6f..57e050fb3b95 100644
--- a/hadron-build.diff
+++ b/hadron-build.diff
@@ -1,8 +1,8 @@
diff --git a/packages/hadron-build/commands/release.js b/packages/hadron-build/commands/release.js
-index 117444603..6d7fbd336 100644
+index 1b4611457..9295a2a3a 100644
--- a/packages/hadron-build/commands/release.js
+++ b/packages/hadron-build/commands/release.js
-@@ -491,9 +491,6 @@ exports.run = (argv, done) => {
+@@ -543,9 +543,6 @@ exports.run = (argv, done) => {
task('write license file', writeLicenseFile),
task('remove development files', removeDevelopmentFiles),
!noAsar && task('create application asar', createApplicationAsar),
@@ -12,7 +12,7 @@ index 117444603..6d7fbd336 100644
].filter(Boolean));
return async.series(tasks, (_err) => {
-@@ -507,9 +504,5 @@ exports.run = (argv, done) => {
+@@ -568,9 +565,5 @@ exports.run = (argv, done) => {
exports.handler = (argv) => {
exports.run(argv, (_err, CONFIG) => {
cli.abortIfError(_err);
@@ -23,7 +23,7 @@ index 117444603..6d7fbd336 100644
});
};
diff --git a/packages/hadron-build/lib/target.js b/packages/hadron-build/lib/target.js
-index 16a1ec4e3..2a61c3850 100644
+index 39ed422ab..959ce16c9 100644
--- a/packages/hadron-build/lib/target.js
+++ b/packages/hadron-build/lib/target.js
@@ -10,7 +10,6 @@ const path = require('path');
@@ -34,7 +34,7 @@ index 16a1ec4e3..2a61c3850 100644
const windowsInstallerVersion = require('./windows-installer-version');
const debug = require('debug')('hadron-build:target');
const execFile = promisify(childProcess.execFile);
-@@ -241,7 +240,6 @@ class Target {
+@@ -227,7 +226,6 @@ class Target {
arch: this.arch,
electronVersion: this.electronVersion,
sign: null,