summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Peukert2023-02-08 23:50:41 +0100
committerDaniel Peukert2023-02-08 23:50:41 +0100
commitbed21a1c8b09dc340a27764bdbd307906660c1bb (patch)
tree1727b985ec15a85589bcf303e55759969f9767ff
parentdeef71ef8a6886cead2c715dfc501f78d1fa9ab3 (diff)
downloadaur-bed21a1c8b09dc340a27764bdbd307906660c1bb.tar.gz
Update mongodb-compass-beta to 1.35.1-beta.3, fix argv handling
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD33
-rw-r--r--fix-argv.diff75
-rw-r--r--hadron-build.diff10
4 files changed, 104 insertions, 29 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1c0d6e035a28..4efa02c4bf7e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mongodb-compass-isolated-beta
pkgdesc = The official GUI for MongoDB - Isolated Edition - beta version
- pkgver = 1.35.1.beta.1
+ pkgver = 1.35.1.beta.3
pkgrel = 1
url = https://www.mongodb.com/products/compass
arch = x86_64
@@ -13,17 +13,16 @@ pkgbase = mongodb-compass-isolated-beta
makedepends = npm>=8.0.0
makedepends = python
makedepends = unzip
- makedepends = patchutils
- depends = electron15
+ depends = electron
depends = krb5
depends = libsecret
depends = lsb-release
optdepends = org.freedesktop.secrets
- source = mongodb-compass-isolated-beta-1.35.1.beta.1-1.tar.gz::https://github.com/mongodb-js/compass/archive/v1.35.1-beta.1.tar.gz
- source = mongodb-compass-isolated-beta-1.35.1.beta.1-1-browserslist.diff::https://github.com/browserslist/browserslist/pull/378.diff
+ source = mongodb-compass-isolated-beta-1.35.1.beta.3-1.tar.gz::https://github.com/mongodb-js/compass/archive/v1.35.1-beta.3.tar.gz
source = hadron-build.diff
- sha512sums = 16e867533b7179be6fb07cb82bcd0e10195d1b0e335e90f1119c173ed527f484051354f770e41d9eeacf73854c345db90cfd801c8dce1ac7623e8fb27e009224
- sha512sums = d7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1
- sha512sums = 8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94
+ source = fix-argv.diff
+ sha512sums = 0bc0c596adbb7936664075744f78e9513560e28fce08bf3b8c16ad56dc026a2b5c3e9cd3fc3008846f857ea5052bba4a75a1ca3816b09940f224015209a3856c
+ sha512sums = 18029ff1479cbacb413f7154d5ca7589855273c559ee15bb5b5006eed65b8edcb58fac64cc8deabd20c36e06f298dc4b7152f61391975d2a3ecb6351b787fae7
+ sha512sums = 1a2345b90196d3c856d0288d9406cfd667d0ebcce400e6886c7eba2825fa52d7813d45f2c375fcaf4e28d116b68107219e6f662b5bdbb12bf0e402ca61194cf7
pkgname = mongodb-compass-isolated-beta
diff --git a/PKGBUILD b/PKGBUILD
index 054bdaa89f5d..59bf86fd2825 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,31 +2,38 @@
_target='compass-isolated-beta'
_edition=' Isolated Edition Beta'
pkgname="mongodb-$_target"
-_pkgver='1.35.1-beta.1'
+_pkgver='1.35.1-beta.3'
pkgver="$(printf '%s' "$_pkgver" | tr '-' '.')"
pkgrel='1'
pkgdesc='The official GUI for MongoDB - Isolated Edition - beta version'
arch=('x86_64' 'i686' 'armv7h' 'aarch64')
url='https://www.mongodb.com/products/compass'
license=('custom:SSPL')
-_electronpkg='electron15'
+if [[ "$_target" =~ -beta$ ]]; then
+ _electronpkg='electron'
+else
+ _electronpkg='electron15'
+fi
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')
source=(
"$pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/mongodb-js/compass/archive/v$_pkgver.tar.gz"
- "$pkgname-$pkgver-$pkgrel-browserslist.diff::https://github.com/browserslist/browserslist/pull/378.diff"
'hadron-build.diff'
+ 'fix-argv.diff'
)
-sha512sums=('16e867533b7179be6fb07cb82bcd0e10195d1b0e335e90f1119c173ed527f484051354f770e41d9eeacf73854c345db90cfd801c8dce1ac7623e8fb27e009224'
- 'd7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1'
- '8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94')
+sha512sums=('0bc0c596adbb7936664075744f78e9513560e28fce08bf3b8c16ad56dc026a2b5c3e9cd3fc3008846f857ea5052bba4a75a1ca3816b09940f224015209a3856c'
+ '18029ff1479cbacb413f7154d5ca7589855273c559ee15bb5b5006eed65b8edcb58fac64cc8deabd20c36e06f298dc4b7152f61391975d2a3ecb6351b787fae7'
+ '1a2345b90196d3c856d0288d9406cfd667d0ebcce400e6886c7eba2825fa52d7813d45f2c375fcaf4e28d116b68107219e6f662b5bdbb12bf0e402ca61194cf7')
_sourcedirectory="compass-$_pkgver"
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'
@@ -36,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-$pkgver-$pkgrel-browserslist.diff" > "$srcdir/$pkgname-$pkgver-$pkgrel-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-$pkgver-$pkgrel-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,