summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorUjhhgtg2023-07-30 16:31:42 +0800
committerUjhhgtg2023-07-30 16:31:42 +0800
commit2394a4f6f114bfde9cf5e9484fb40768a887b231 (patch)
tree3128efc391ca63389c418def5fc5ee7f79472ed8
parent3b735e79a5aa94ad7df35d8c1ae271ff4890ea5f (diff)
downloadaur-2394a4f6f114bfde9cf5e9484fb40768a887b231.tar.gz
fix permission error (WITH BUBBLEWRAP)
-rw-r--r--.SRCINFO3
-rw-r--r--PKGBUILD16
-rwxr-xr-xrun.sh3
3 files changed, 17 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e3c47ba88ea7..4f10e1f502fa 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -8,7 +8,10 @@ pkgbase = phira-bin
makedepends = cargo
makedepends = git
depends = gcc-libs
+ depends = bubblewrap
source = phira-v0.4.0.zip::https://github.com/TeamFlos/phira/releases/download/v0.4.0/Phira-linux-v0.4.0.zip
+ source = run.sh
b2sums = f70c1a067784ce7c74287a3621d5885fbcfa5edc26b60efd2985b40fc9674ef88259eea64a16e4fd090e7552cf48ef13f6ae46f37ad34b096af3836ade174c5b
+ b2sums = 7fc927449a92b07235c54fe05491c8cefd967649720f5ef2260dd58b3ae50893d72dd5c152f740b746969dd3991d2db7139b7e40e42077783664e0b02dc3bcbd
pkgname = phira-bin
diff --git a/PKGBUILD b/PKGBUILD
index 8f1b260b1744..fe7c31a1d30d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,18 +9,24 @@ url="https://github.com/TeamFlos/phira"
license=('GPL3')
depends=(
'gcc-libs'
+ 'bubblewrap'
)
+
+# The reason this package depends on bubblewrap:
+# Since Phira currently reads & writes its config from the dir containing itself,
+# which means the permission would be a problem,
+# so I used a dirty hackā„¢: use bwrap to redirect the config dirs to user dirs.
+
makedepends=(
'cargo'
'git'
)
-source=("${pkgname%-bin}-v$pkgver.zip::https://github.com/TeamFlos/${pkgname%-bin}/releases/download/v$pkgver/Phira-linux-v$pkgver.zip")
-b2sums=('f70c1a067784ce7c74287a3621d5885fbcfa5edc26b60efd2985b40fc9674ef88259eea64a16e4fd090e7552cf48ef13f6ae46f37ad34b096af3836ade174c5b')
+source=("${pkgname%-bin}-v$pkgver.zip::https://github.com/TeamFlos/${pkgname%-bin}/releases/download/v$pkgver/Phira-linux-v$pkgver.zip" "run.sh")
+b2sums=('f70c1a067784ce7c74287a3621d5885fbcfa5edc26b60efd2985b40fc9674ef88259eea64a16e4fd090e7552cf48ef13f6ae46f37ad34b096af3836ade174c5b' '7fc927449a92b07235c54fe05491c8cefd967649720f5ef2260dd58b3ae50893d72dd5c152f740b746969dd3991d2db7139b7e40e42077783664e0b02dc3bcbd')
package() {
install -Dm755 "${pkgname%-bin}-main" "$pkgdir/usr/share/${pkgname%-bin}/${pkgname%-bin}-main"
- cp -r "assets" "$pkgdir/usr/share/${pkgname%-bin}/"pkgname
+ install -Dm755 "run.sh" "$pkgdir/usr/bin/phira"
+ cp -r "assets" "$pkgdir/usr/share/${pkgname%-bin}/"
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/${pkgname%-bin}/LICENSE"
- mkdir -p "$pkgdir/usr/bin/"
- ln -s "$pkgdir/usr/share/${pkgname%-bin}/${pkgname%-bin}-main" "$pkgdir/usr/bin/${pkgname%-bin}"
}
diff --git a/run.sh b/run.sh
new file mode 100755
index 000000000000..e79da018a143
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+mkdir -p ~/.config/phira/data/ ~/.config/phira/cache/
+bwrap --bind / / --tmpfs /usr/share/phira/ --ro-bind /usr/share/phira/phira-main /usr/share/phira/phira-main --ro-bind /usr/share/phira/assets/ /usr/share/phira/assets/ --bind ~/.config/phira/data/ /usr/share/phira/data/ --bind ~/.config/phira/cache/ /usr/share/phira/cache/ /usr/share/phira/phira-main \ No newline at end of file