Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4b2bc70766 |
@@ -1,7 +1,7 @@
|
|||||||
pkgbase = grok-bot-bin
|
pkgbase = grok-bot-bin
|
||||||
pkgdesc = Grok Bot desktop agent (official .deb repackaged)
|
pkgdesc = Grok Bot desktop agent (official .deb repackaged)
|
||||||
pkgver = 0.35.0
|
pkgver = 0.35.0
|
||||||
pkgrel = 1
|
pkgrel = 2
|
||||||
url = https://cursor.com/download/bot
|
url = https://cursor.com/download/bot
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
license = LicenseRef-proprietary
|
license = LicenseRef-proprietary
|
||||||
@@ -30,6 +30,6 @@ pkgbase = grok-bot-bin
|
|||||||
source = grok-bot-launch.sh
|
source = grok-bot-launch.sh
|
||||||
noextract = grok-bot_0.35.0_amd64.deb
|
noextract = grok-bot_0.35.0_amd64.deb
|
||||||
sha256sums = ed254e819d0f0419a1df9771009363074f65f80d8175d2ee0fc62900087ebd99
|
sha256sums = ed254e819d0f0419a1df9771009363074f65f80d8175d2ee0fc62900087ebd99
|
||||||
sha256sums = 886c8b55eb44d2f7812be50dcc1571907dc2d7e755171e67e916f497634f09eb
|
sha256sums = 1c5a3599db15816caa839fc9e088ba9798757e44fec89c066ef5f6f3c0972aee
|
||||||
|
|
||||||
pkgname = grok-bot-bin
|
pkgname = grok-bot-bin
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
pkgname=grok-bot-bin
|
pkgname=grok-bot-bin
|
||||||
pkgver=0.35.0
|
pkgver=0.35.0
|
||||||
_commit=1c5a6ceb364c4dd53f0069f72cc4239220ed471e
|
_commit=1c5a6ceb364c4dd53f0069f72cc4239220ed471e
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="Grok Bot desktop agent (official .deb repackaged)"
|
pkgdesc="Grok Bot desktop agent (official .deb repackaged)"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url="https://cursor.com/download/bot"
|
url="https://cursor.com/download/bot"
|
||||||
@@ -44,7 +44,7 @@ source=(
|
|||||||
noextract=("grok-bot_${pkgver}_amd64.deb")
|
noextract=("grok-bot_${pkgver}_amd64.deb")
|
||||||
sha256sums=(
|
sha256sums=(
|
||||||
'ed254e819d0f0419a1df9771009363074f65f80d8175d2ee0fc62900087ebd99'
|
'ed254e819d0f0419a1df9771009363074f65f80d8175d2ee0fc62900087ebd99'
|
||||||
'886c8b55eb44d2f7812be50dcc1571907dc2d7e755171e67e916f497634f09eb'
|
'1c5a3599db15816caa839fc9e088ba9798757e44fec89c066ef5f6f3c0972aee'
|
||||||
)
|
)
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
@@ -56,6 +56,14 @@ package() {
|
|||||||
# Keep provides(sand) on PATH; both names run the same shim.
|
# Keep provides(sand) on PATH; both names run the same shim.
|
||||||
ln -sf grok-bot "$pkgdir/usr/bin/sand"
|
ln -sf grok-bot "$pkgdir/usr/bin/sand"
|
||||||
|
|
||||||
|
# Always point the menu entry at the PATH shim. Upstream .desktop has used
|
||||||
|
# Exec="/opt/Grok Bot/grok-bot" (0.30) which bypasses auto-update; rewrite
|
||||||
|
# every build so a future /opt regression cannot ship again.
|
||||||
|
if [[ -f "$pkgdir/usr/share/applications/grok-bot.desktop" ]]; then
|
||||||
|
sed -i 's|^Exec=.*|Exec=grok-bot %U|' \
|
||||||
|
"$pkgdir/usr/share/applications/grok-bot.desktop"
|
||||||
|
fi
|
||||||
|
|
||||||
# Path contains a space, so Chromium cannot use the SUID sandbox.
|
# Path contains a space, so Chromium cannot use the SUID sandbox.
|
||||||
# Arch/CachyOS kernels have user namespaces; keep chrome-sandbox non-setuid.
|
# Arch/CachyOS kernels have user namespaces; keep chrome-sandbox non-setuid.
|
||||||
if [[ -f "$pkgdir/opt/Grok Bot/chrome-sandbox" ]]; then
|
if [[ -f "$pkgdir/opt/Grok Bot/chrome-sandbox" ]]; then
|
||||||
|
|||||||
@@ -58,5 +58,6 @@ Scheduled Gitea Actions will do the same and build a release package.
|
|||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- `/usr/bin/grok-bot` (and `sand`) is a launch shim: unless `GROK_BOT_NO_UPDATE=1`, it checks the latest Gitea release and may `pacman -U` a newer `.pkg.tar.zst` before exec'ing `/opt/Grok Bot/…`. Network/API failures still launch the installed binary.
|
- `/usr/bin/grok-bot` (and `sand`) is a launch shim: unless `GROK_BOT_NO_UPDATE=1`, it checks the latest Gitea release and may `pacman -U` a newer `.pkg.tar.zst` before exec'ing `/opt/Grok Bot/…`. Network/API failures still launch the installed binary.
|
||||||
|
- If the app menu still launches an old binary without updating, run `/usr/bin/grok-bot` once from a terminal, or `sudo pacman -U` the newer `.pkg.tar.zst` from Releases — the menu must call the PATH shim, not `/opt/Grok Bot/…`.
|
||||||
- Upstream Linux builds still have no in-app updater for the Electron app itself; `scripts/update.sh` bumps the PKGBUILD from Cursor's feed when packaging a new upstream version.
|
- Upstream Linux builds still have no in-app updater for the Electron app itself; `scripts/update.sh` bumps the PKGBUILD from Cursor's feed when packaging a new upstream version.
|
||||||
- `chrome-sandbox` is left non-setuid because the install path contains a space; user namespaces cover sandboxing on CachyOS.
|
- `chrome-sandbox` is left non-setuid because the install path contains a space; user namespaces cover sandboxing on CachyOS.
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ _maybe_update() {
|
|||||||
# Prefer passwordless sudo; fall back to interactive sudo. Fail soft either way.
|
# Prefer passwordless sudo; fall back to interactive sudo. Fail soft either way.
|
||||||
if ! sudo -n pacman -U --noconfirm "$pkg" 2>/dev/null; then
|
if ! sudo -n pacman -U --noconfirm "$pkg" 2>/dev/null; then
|
||||||
if ! sudo pacman -U --noconfirm "$pkg"; then
|
if ! sudo pacman -U --noconfirm "$pkg"; then
|
||||||
|
echo "grok-bot: need sudo to auto-update; run: sudo pacman -U <pkg> or launch /usr/bin/grok-bot from a terminal" >&2
|
||||||
echo "grok-bot: pacman -U failed; launching installed version" >&2
|
echo "grok-bot: pacman -U failed; launching installed version" >&2
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user