diff options
author | Denton Liu | 2020-12-31 14:00:42 -0800 |
---|---|---|
committer | Denton Liu | 2020-12-31 14:00:42 -0800 |
commit | 1304c0e70de9e99b4b129b015b62ca4f562e94a2 (patch) | |
tree | 514df6e710c7726cf65c18c2208b980e0e8c5a5c | |
parent | 0c5ea71c389de4eca6d7c772ee67aaae35191d9e (diff) | |
download | aur-1304c0e70de9e99b4b129b015b62ca4f562e94a2.tar.gz |
Update to v1.2.1
* Rename crewlink to crewlink-launcher in case someone wants to run
vanilla crewlink.
* Install /usr/bin/crewlink as a link to /opt/CrewLink/crewlink.
* Modify launcher script to run a child process which sets
kernel.yama.ptrace_scope. This removes the craziness of running
crewlink with su so environment variables that are needed for
PulseAudio should be handled more transparently.
-rw-r--r-- | .SRCINFO | 13 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rwxr-xr-x | crewlink-launcher (renamed from crewlink) | 41 |
3 files changed, 53 insertions, 19 deletions
@@ -1,15 +1,16 @@ pkgbase = crewlink pkgdesc = Free, open, Among Us Proximity Chat - pkgver = 1.1.6 - pkgrel = 2 + pkgver = 1.2.1 + pkgrel = 1 url = https://github.com/zbanks/CrewLink arch = x86_64 license = GPL3 makedepends = yarn - source = https://github.com/zbanks/CrewLink/archive/v1.1.6-linux.tar.gz - source = crewlink - sha256sums = df424481df5a473e9abfd1ca47bd6f2cc79ab275726757097574d26f46723f87 - sha256sums = d94f1847d9e7909de929dc7579cd2ab934872f20faee9822b4abc85c0b0afcc1 + optdepends = sudo: crewlink-launcher support + source = https://github.com/zbanks/CrewLink/archive/v1.2.1-linux.tar.gz + source = crewlink-launcher + sha256sums = 4d7d77c6d2bb473e3d9e6c24fb98462d29321ff4ca4a8472875d3f43608e760f + sha256sums = 264849ad57fab753f9991399c39dbfb07e8996e0440b6f77d6e3470e38f71de6 pkgname = crewlink @@ -1,21 +1,21 @@ # Maintainer: Denton Liu <liu.denton@gmail.com> pkgname=crewlink -pkgver=1.1.6 -pkgrel=2 +pkgver=1.2.1 +pkgrel=1 pkgdesc='Free, open, Among Us Proximity Chat' arch=('x86_64') url='https://github.com/zbanks/CrewLink' license=('GPL3') makedepends=('yarn') +optdepends=('sudo: crewlink-launcher support') source=("https://github.com/zbanks/CrewLink/archive/v$pkgver-linux.tar.gz" - crewlink) -sha256sums=('df424481df5a473e9abfd1ca47bd6f2cc79ab275726757097574d26f46723f87' - 'd94f1847d9e7909de929dc7579cd2ab934872f20faee9822b4abc85c0b0afcc1') + crewlink-launcher) +sha256sums=('4d7d77c6d2bb473e3d9e6c24fb98462d29321ff4ca4a8472875d3f43608e760f' + '264849ad57fab753f9991399c39dbfb07e8996e0440b6f77d6e3470e38f71de6') build() { cd "$srcdir/CrewLink-$pkgver-linux" yarn install - cp -r iohook/electron-v80-linux-x64 node_modules/iohook/builds yarn dist-linux } @@ -24,5 +24,9 @@ package() { mkdir -p "$pkgdir/opt" cp -r "CrewLink-$pkgver-linux/dist/linux-unpacked" "$pkgdir/opt/CrewLink" - install -Dm 755 crewlink "$pkgdir/usr/bin/crewlink" + + mkdir -p "$pkgdir/usr/bin" + ln -s /opt/CrewLink/crewlink "$pkgdir/usr/bin/crewlink" + + install -Dm 755 crewlink-launcher "$pkgdir/usr/bin/crewlink-launcher" } diff --git a/crewlink b/crewlink-launcher index d91a191d3a27..56d4b35dae1b 100755 --- a/crewlink +++ b/crewlink-launcher @@ -14,14 +14,43 @@ process_tree () { done } -key='kernel.yama.ptrace_scope' -old_value=$(sysctl -n "$key") +set_sysctl () { + pid="$1" + if test -z "$pid" + then + error "no pid given" + fi + + key='kernel.yama.ptrace_scope' + old_value=$(sysctl -n "$key") + + sysctl "$key=0" || error "unable to run 'sysctl $key=0'" + trap 'sysctl "$key=$old_value"' EXIT + trap 'exit' INT + + while kill -s 0 "$pid" >/dev/null 2>&1 + do + sleep 1 + done +} -sysctl "$key=0" || error "unable to run 'sysctl $key=0' (did you run this as root?)" -trap 'sysctl "$key=$old_value"' EXIT -trap 'exit' INT +while test "$#" -gt 0 +do + case "$1" in + --set-sysctl) + set_sysctl "$2" + shift + exit 0 + ;; + *) + error "unknown option: $1" + ;; + esac + shift +done -su "$(logname)" -c /opt/CrewLink/crewlink & +sudo -b "$0" --set-sysctl "$$" >/dev/null +crewlink & cl_pid="$!" max_procs=0 |