diff options
author | Amin Vakil | 2022-04-11 20:45:37 +0430 |
---|---|---|
committer | Amin Vakil | 2022-04-12 13:21:11 +0430 |
commit | 656545cc10b8815e6337ee5666933df52bfd1fb3 (patch) | |
tree | 57ef9cba23b3fa6fa8e4896c629807615a57a345 /PKGBUILD | |
parent | 8b270918903928d585352e63cdfd5310f23b67da (diff) | |
download | aur-656545cc10b8815e6337ee5666933df52bfd1fb3.tar.gz |
Use yarn instead of npm
chmod 755 on all directories in /usr
Harden config.js permissions
Install /usr/bin/thelounge
Fix index.js path
yarn install in prepare function
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 25 |
1 files changed, 15 insertions, 10 deletions
@@ -5,39 +5,46 @@ _pkgname=thelounge pkgname=thelounge-beta _pkgver=4.3.1-rc.1 pkgver=${_pkgver/-/} -pkgrel=1 +pkgrel=2 pkgdesc='Modern self-hosted web IRC client (Latest release/pre-release)' url='https://thelounge.chat/' arch=('any') license=('MIT') depends=('nodejs') -makedepends=('npm') +makedepends=('yarn' 'git') conflicts=('thelounge') provides=('thelounge') backup=('etc/thelounge/config.js') source=( - "https://registry.npmjs.org/$_pkgname/-/$_pkgname-$_pkgver.tgz" + "${pkgname}-${pkgver}-${pkgrel}.tar.gz::https://github.com/$_pkgname/$_pkgname/archive/refs/tags/v$_pkgver.tar.gz" 'system.service' 'user.service' 'sysusers.d' 'tmpfiles.d' ) -noextract=("$_pkgname-$_pkgver.tgz") -sha256sums=('22abb61c6e17718e5a05d57a5f9400dca941447d91d5e834a84528e414a8fbf8' +sha256sums=('5d3731d8f9448cd0cd3ea5f31622b10cf41138d94491c48692b2a96c7e695129' 'c92210f6ac8f01c1cd01b6b26793094cd2feea583ed21fab3564d6bcafdc7a20' 'c609f3309f54bd6285e99ff29ca2464828bec7bbbca67243ee688bd2d605dbf0' '30fab63b8a4ffcfdda4c5b8d7c66822a323c4f1de6ca62b77fe9500f4befc0a5' 'bade9cf0e9fb27328db0c9d7300e9e215f2ff79305d94f1797d946e065a714bf') +prepare() { + yarn install --prod --frozen-lockfile --non-interactive --ignore-scripts --cache-folder "$srcdir/yarn-cache" +} + package() { - export NODE_ENV=production + cd "$_pkgname-$_pkgver" + yarn add --no-default-rc --frozen-lockfile --prod --non-interactive \ + --ignore-scripts --modules-folder "$pkgdir/usr/lib/node_modules" \ + --cache-folder "${srcdir}/yarn-cache" "${srcdir}/$_pkgname-$_pkgver" - npm install -g --user root --prefix "$pkgdir/usr" "$_pkgname-$_pkgver.tgz" --cache "${srcdir}/npm-cache" + install -dm755 "$pkgdir/usr/bin/" + ln -s "/usr/lib/node_modules/$_pkgname/index.js" "$pkgdir/usr/bin/$_pkgname" echo /etc/thelounge > "$pkgdir/usr/lib/node_modules/$_pkgname/.thelounge_home" # add default config - install -Dm 644 "$pkgdir/usr/lib/node_modules/$_pkgname/defaults/config.js" "$pkgdir/etc/thelounge/config.js" + install -Dm 660 "$pkgdir/usr/lib/node_modules/$_pkgname/defaults/config.js" "$pkgdir/etc/thelounge/config.js" # services install -Dm644 "$srcdir/system.service" "$pkgdir/usr/lib/systemd/system/$_pkgname.service" @@ -47,7 +54,5 @@ package() { install -Dm644 "${srcdir}/sysusers.d" "${pkgdir}/usr/lib/sysusers.d/thelounge.conf" install -Dm644 "${srcdir}/tmpfiles.d" "${pkgdir}/usr/lib/tmpfiles.d/thelounge.conf" - # Non-deterministic race in npm gives 777 permissions to random directories. - # See https://github.com/npm/npm/issues/9359 for details. find "$pkgdir/usr" -type d -exec chmod 755 '{}' + } |