Package Details: dimension r530.db22981-1

Git Clone URL: https://aur.archlinux.org/dimension.git (read-only, click to copy)
Package Base: dimension
Description: An open source integrations manager for matrix clients, like Riot.
Upstream URL: https://github.com/turt2live/matrix-dimension
Licenses: GPL3
Submitter: BubuIIC
Maintainer: BubuIIC
Last Packager: BubuIIC
Votes: 0
Popularity: 0.000000
First Submitted: 2020-06-20 13:15
Last Updated: 2020-07-17 13:01

Latest Comments

kuzalj commented on 2020-07-28 10:01

@BubuIIC

I actually think you are right about the OOM. I have had issues building NPM packages before due to OOM errors, since my VPS only has 1GB of RAM on it.

I'm just going to chalk it up to that. Maybe I will build local and push the pkg to my VPS. I appreciate the quick response and you looking into it.

BubuIIC commented on 2020-07-24 10:20

@kuzalj There isn't really much in that error message saying what is going wrong unfortunately (just that it failed to run). Are there any logs before this?

Otherwise try to execute the build steps manually on your machine, specifically run npm install --build-from-source --sass-binary-site=http://localhost:0 --sqlite=/usr and npm run build and see if anything else comes up.

Another thought is that the build process runs OOM. Upstream says that building dimension can use 2-4Gb of ram.

kuzalj commented on 2020-07-24 09:50

I am getting an error building

12 info lifecycle matrix-dimension@1.0.0~build: Failed to exec build script
13 verbose stack Error: matrix-dimension@1.0.0 build: `npm run-script build:web && npm run-script build:app`
13 verbose stack Exit status 137
13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:314:20)
13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:314:20)
13 verbose stack     at maybeClose (internal/child_process.js:1051:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5)
14 verbose pkgid matrix-dimension@1.0.0
15 verbose cwd /home/xxxxx/.cache/yay/dimension/src/matrix-dimension
16 verbose Linux 5.6.14-x86_64-
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "build"
18 verbose node v14.6.0
19 verbose npm  v6.14.7 
20 error code ELIFECYCLE
21 error errno 137
22 error matrix-dimension@1.0.0 build: `npm run-script build:web && npm run-script build:app`
22 error Exit status 137
23 error Failed at the matrix-dimension@1.0.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 137, true ]

eschwartz commented on 2020-07-17 12:45

It does not matter whether you download stuff during build() or prepare(). Both violate the assumption that all sources must be downloaded in the manifested, checksummed source=().

Please make sure that everything needed to build the package get's downloaded via the source-array,

Correct, but overly pedantic, this isn't enforced in the case of languages like npm, where it's impossible.

I would be truly delighted if you had a distro-wide solution that could make this entire programing language compliant with our packaging policy.

or, as an exception, in prepare().

Incorrect, you made this up yourself. There is no such exception. This is just as problematic as build(), and once again, "nodejs the programming language runtime and npm the build system makes this impossible".

Especially given npm does all its downloading every time you run the command to build the module, that would mean building it in prepare() which is entirely illogical from beginning to end...

BubuIIC commented on 2020-07-17 10:54

@dreieck, can you point me to the documentation stating this? I went through https://wiki.archlinux.org/index.php/Arch_package_guidelines and related pages again and couldn't find it.

I'll see about moving the download step to prepare() but I'm afraid this isn't (easily or at all) possible. Building nodejs software is fundamentally coupled with installing(=downloading) the dependencies. This is similar to how other ecosystems like maven/gradle/sbt work. (See for example here, https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/gradle#n27 I'm 99.9% sure that this downloads tons of stuff during build as well, adn there's also no way around this)

dreieck commented on 2020-07-17 10:39

This package downloads stuff during build().

This must not happen.

Please make sure that everything needed to build the package get's downloaded via the source-array, or, as an exception, in prepare().

No internet connection mus be assumed in build() and package().

Thanks for maintaining!

==> Starting build()...
[ .................] - fetchMetadata: sill pacote range manifest for tar@^6.0.2 fetched in 4760ms
\[&hellip;\]