summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenton Liu2020-12-31 14:00:42 -0800
committerDenton Liu2020-12-31 14:00:42 -0800
commit1304c0e70de9e99b4b129b015b62ca4f562e94a2 (patch)
tree514df6e710c7726cf65c18c2208b980e0e8c5a5c
parent0c5ea71c389de4eca6d7c772ee67aaae35191d9e (diff)
downloadaur-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--.SRCINFO13
-rw-r--r--PKGBUILD18
-rwxr-xr-xcrewlink-launcher (renamed from crewlink)41
3 files changed, 53 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 34d711c5629d..b6b9d32be33f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 56edf3bf57de..b81647be63d4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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