Merge pull request #297 from spencerbull/fix/perplexity-lib-conflict
perplexity: fix /lib filesystem conflict breaking every install of 26.9.1
This commit is contained in:
1 file changed
+26
-1
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
pkgname=perplexity
|
pkgname=perplexity
|
||||||
pkgver=26.9.1+build61614
|
pkgver=26.9.1+build61614
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="Official Perplexity desktop app"
|
pkgdesc="Official Perplexity desktop app"
|
||||||
arch=('x86_64' 'aarch64')
|
arch=('x86_64' 'aarch64')
|
||||||
url="https://www.perplexity.ai"
|
url="https://www.perplexity.ai"
|
||||||
@@ -56,6 +56,8 @@ depends=(
|
|||||||
optdepends=(
|
optdepends=(
|
||||||
'apparmor: confine the app with the bundled user-namespace profile'
|
'apparmor: confine the app with the bundled user-namespace profile'
|
||||||
'libappindicator-gtk3: tray icon support'
|
'libappindicator-gtk3: tray icon support'
|
||||||
|
'docker: containerized local GPU runtime for on-device models'
|
||||||
|
'nvidia-container-toolkit: containerized local GPU runtime for on-device models'
|
||||||
)
|
)
|
||||||
|
|
||||||
makedepends=('libarchive')
|
makedepends=('libarchive')
|
||||||
@@ -91,6 +93,29 @@ package() {
|
|||||||
bsdtar -xOf "${deb}" data.tar.xz |
|
bsdtar -xOf "${deb}" data.tar.xz |
|
||||||
bsdtar --no-same-owner -xf - -C "${pkgdir}"
|
bsdtar --no-same-owner -xf - -C "${pkgdir}"
|
||||||
|
|
||||||
|
# 26.9.1 started shipping a systemd unit under /lib, and owning /lib -- a
|
||||||
|
# symlink owned by the filesystem package -- makes pacman refuse the whole
|
||||||
|
# transaction. The unit is also a no-op here: its setup script apt-installs
|
||||||
|
# Docker and the NVIDIA Container Toolkit and exits on any distro but Ubuntu
|
||||||
|
# (install those yourself; see optdepends). Delete it, and its parents once
|
||||||
|
# emptied; then anything else left outside opt/ and usr/ -- whatever its
|
||||||
|
# type, an empty bin/ or lib64/ included, since those are filesystem-owned
|
||||||
|
# symlinks too -- stops the build rather than shipping the next conflict.
|
||||||
|
(
|
||||||
|
cd "${pkgdir}"
|
||||||
|
rm -f lib/systemd/system/perplexity-local-runtime-setup.service
|
||||||
|
rmdir -p lib/systemd/system 2>/dev/null || true
|
||||||
|
)
|
||||||
|
|
||||||
|
local unexpected
|
||||||
|
unexpected=$(cd "${pkgdir}" && find . -mindepth 1 \
|
||||||
|
-path ./opt -prune -o -path ./usr -prune -o -print)
|
||||||
|
if [[ -n "${unexpected}" ]]; then
|
||||||
|
echo "Unexpected entries outside opt/ and usr/ in the upstream deb:" >&2
|
||||||
|
echo "${unexpected}" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
# pacman never runs the deb's postinst, so the /usr/bin entry it would have
|
# pacman never runs the deb's postinst, so the /usr/bin entry it would have
|
||||||
# symlinked is a launcher here instead, and the menu entry goes through it so
|
# symlinked is a launcher here instead, and the menu entry goes through it so
|
||||||
# the flags file applies there too. The scheme handler stays upstream's.
|
# the flags file applies there too. The scheme handler stays upstream's.
|
||||||
|
|||||||
Reference in new issue
Block a user