summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Peukert2023-02-08 23:51:10 +0100
committerDaniel Peukert2023-02-08 23:51:10 +0100
commitc66b73870dde1e1bd435dd0e4e7f095a4218ad9b (patch)
treeb7a29d3e8d4b34e0adaf833106f0cb527d02012a
parent707507243ddc08c75de69d3cb3945b48c81a6b5e (diff)
downloadaur-c66b73870dde1e1bd435dd0e4e7f095a4218ad9b.tar.gz
Update mongodb-compass-beta to 1.35.1-beta.3, fix argv handling
-rw-r--r--.SRCINFO11
-rw-r--r--PKGBUILD31
-rw-r--r--fix-argv.diff75
-rw-r--r--hadron-build.diff10
4 files changed, 101 insertions, 26 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 31a0c851ec42..50b8c365e399 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = mongodb-compass-readonly
pkgdesc = The official GUI for MongoDB - Readonly Edition
pkgver = 1.35.0
- pkgrel = 1
+ pkgrel = 2
url = https://www.mongodb.com/products/compass
arch = x86_64
arch = i686
@@ -13,17 +13,16 @@ pkgbase = mongodb-compass-readonly
makedepends = npm>=8.0.0
makedepends = python
makedepends = unzip
- makedepends = patchutils
depends = electron15
depends = krb5
depends = libsecret
depends = lsb-release
optdepends = org.freedesktop.secrets
- source = mongodb-compass-readonly-1.35.0-1.tar.gz::https://github.com/mongodb-js/compass/archive/v1.35.0.tar.gz
- source = mongodb-compass-readonly-1.35.0-1-browserslist.diff::https://github.com/browserslist/browserslist/pull/378.diff
+ source = mongodb-compass-readonly-1.35.0-2.tar.gz::https://github.com/mongodb-js/compass/archive/v1.35.0.tar.gz
source = hadron-build.diff
+ source = fix-argv.diff
sha512sums = b0fd7c9d2f8664972bcc80c7e58d8ba03d31ba7fe7407eea83233e60b9db8d5dcaec4a5430345251f929225ecd4ce6c1b02af8457f168fcc1837732ee55c99e5
- sha512sums = d7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1
- sha512sums = 8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94
+ sha512sums = 18029ff1479cbacb413f7154d5ca7589855273c559ee15bb5b5006eed65b8edcb58fac64cc8deabd20c36e06f298dc4b7152f61391975d2a3ecb6351b787fae7
+ sha512sums = 1a2345b90196d3c856d0288d9406cfd667d0ebcce400e6886c7eba2825fa52d7813d45f2c375fcaf4e28d116b68107219e6f662b5bdbb12bf0e402ca61194cf7
pkgname = mongodb-compass-readonly
diff --git a/PKGBUILD b/PKGBUILD
index 7bc4f677fb0c..67f615fa2027 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,29 +4,36 @@ _edition=' Readonly'
pkgname="mongodb-$_target"
_pkgver='1.35.0'
pkgver="$(printf '%s' "$_pkgver" | tr '-' '.')"
-pkgrel='1'
+pkgrel='2'
pkgdesc='The official GUI for MongoDB - Readonly Edition'
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=('b0fd7c9d2f8664972bcc80c7e58d8ba03d31ba7fe7407eea83233e60b9db8d5dcaec4a5430345251f929225ecd4ce6c1b02af8457f168fcc1837732ee55c99e5'
- 'd7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1'
- '8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94')
+ '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,