Package Details: cloudron-cli 5.5.0-1

Git Clone URL: https://aur.archlinux.org/cloudron-cli.git (read-only, click to copy)
Package Base: cloudron-cli
Description: Cloudron Commandline Tool
Upstream URL: https://git.cloudron.io/cloudron/cloudron-cli
Keywords: cloudron docker
Licenses: MIT
Submitter: tobru
Maintainer: Locutus
Last Packager: Locutus
Votes: 2
Popularity: 0.000000
First Submitted: 2017-03-25 17:11 (UTC)
Last Updated: 2024-03-06 11:26 (UTC)

Latest Comments

Locutus commented on 2021-06-23 15:21 (UTC)

Oddly enough, most of the other packages I've looked at still had that flag.

I've gone ahead and removed it, and pushed it manually through my build server.

Thanks for your assistance!

ocelotsloth commented on 2021-06-23 14:54 (UTC) (edited on 2021-06-23 14:55 (UTC) by ocelotsloth)

https://bugs.archlinux.org/task/69912#comment197546

Ok this is the issue. The conflicts are from the --user root flag being passed.

That flag was removed from the NodeJS packaging guidelines in January: https://wiki.archlinux.org/index.php?title=Node.js_package_guidelines&diff=654198&oldid=650163

Locutus commented on 2021-06-23 14:16 (UTC)

I've followed the guidelines set at https://wiki.archlinux.org/title/Node.js_package_guidelines for the PKGBUILD.

Thee guidelines seem to suggest that the packages should be built globally. From a quick look at similarly packaged products, most of them seem to be using the same approach.

Regarding the license, you're right. The original maintainer did not install it. The next build should have it, and a few other changes that were added to the guidelines since I initially took over.

ocelotsloth commented on 2021-06-23 12:19 (UTC) (edited on 2021-06-23 12:22 (UTC) by ocelotsloth)

This package fails to install for me because of the shared libraries it installs to the global npm directories. In particular it conflicts with the textlint package.

Modeling the entire NPM dependency tree in the AUR seems...impractical at best but I tested out manually installing the dependencies to its own directory outside of NPM and it seems to work.

pkgname=cloudron-cli
pkgver=4.12.1
pkgrel=1
pkgdesc="Cloudron Commandline Tool"
arch=('any')
url="https://git.cloudron.io/cloudron/cloudron-cli"
license=('MIT')
depends=('nodejs')
makedepends=('npm')
source=("$url/-/archive/v$pkgver/$pkgname-v$pkgver.tar.gz")
sha256sums=('87a3d2ac449d1931adf398bd433aca77635409897b55f8123bd02bcbd8c7c5df')

build() {
    cd $srcdir/$pkgname-v$pkgver
    npm install --production
}

package() {
    cd $srcdir/$pkgname-v$pkgver
    install -dm755 $pkgdir/usr/lib/$pkgname
    cp -a bin src node_modules package.json $pkgdir/usr/lib/$pkgname/
    install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
    install -d $pkgdir/usr/bin
    ln -s /usr/lib/$pkgname/bin/cloudron $pkgdir/usr/bin/cloudron
}

That change also installs the required license file (https://wiki.archlinux.org/title/PKGBUILD#license) since it's MIT.

Not sure if this is the best way to address this problem or not--I'm interested in better ideas if you've got them.