Membuat PKGBUILD Luxury Yacht Agar Bisa Diinstall di Arch Linux
Buat yang sehari-hari kerja dengan Kubernetes, punya GUI yang enak dipakai
buat mantau cluster itu lumayan membantu dibanding bolak-balik kubectl di
terminal. Kemarin saya nemu Luxury Yacht, app
desktop cross-platform buat manage Kubernetes cluster. Rilis resminya buat
Linux cuma dalam bentuk .deb, jadi karena saya pakai Arch Linux dan belum
ada paketnya di AUR, saya bantu bungkus jadi PKGBUILD supaya bisa diinstall
di Arch juga.
Apa itu Luxury Yacht?
Luxury Yacht adalah aplikasi desktop
cross-platform untuk mengelola cluster Kubernetes lewat GUI. Dirilis dalam
bentuk binary untuk Linux, dan untuk Linux distribusinya berbentuk .deb
(jadi target awalnya Debian/Ubuntu-based).
Karena saya pakai Arch Linux dan belum ada paket di AUR, saya extract
.deb resminya lalu bungkus ulang jadi PKGBUILD supaya bisa diinstall
dengan cara yang wajar di Arch (makepkg, atau nanti lewat AUR helper
kalau sudah saya submit ke AUR).
Package ini masih saya simpan lokal (belum saya submit ke AUR resmi). Kalau kamu mau coba sekarang, ikuti langkah build manual di bawah.
Kenapa harus dibungkus ulang, bukan pasang .deb langsung?
Arch tidak pakai format .deb, dan strukturnya juga beda dari FHS yang
dipakai Arch. Ada beberapa hal yang perlu diperbaiki waktu repackage:
-
Lokasi binary —
.debresminya naruh binary di/usr/local/bin/, sementara konvensi Arch naruh binary dari package resmi di/usr/bin/. Jadi dipackage()saya pindahkan filenya:1 2
install -Dm755 "$pkgdir/usr/local/bin/luxury-yacht" "$pkgdir/usr/bin/luxury-yacht" rm -rf "$pkgdir/usr/local"
-
Desktop entry ikut nunjuk ke path lama — file
usr/share/applications/luxury-yacht.desktoppunyaExec=/usr/local/bin/luxury-yacht, jadi perlu di-patch biar konsisten sama binary yang sudah dipindah:1
sed -i 's|/usr/local/bin/|/usr/bin/|' "$pkgdir/usr/share/applications/luxury-yacht.desktop"
-
Dependency GUI — karena app-nya berbasis Electron/webview, saya deklarasikan
depends=('gtk3' 'webkit2gtk-4.1')supaya AUR helper otomatis pasang dependency yang dibutuhkan. -
Dual arsitektur — Luxury Yacht rilis untuk
amd64danarm64, jadi PKGBUILD-nya saya buat supportx86_64danaarch64sekaligus, masing masing dengan source.debdan checksum SHA256 sendiri (source_x86_64,source_aarch64,sha256sums_x86_64,sha256sums_aarch64).
Ringkasnya, ini isi PKGBUILD-nya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pkgname=luxury-yacht-bin
pkgver=1.10.2
pkgrel=1
pkgdesc="Cross-platform GUI desktop app for managing Kubernetes clusters"
arch=('x86_64' 'aarch64')
url="https://luxury-yacht.app"
license=('GPL-3.0-only')
depends=('gtk3' 'webkit2gtk-4.1')
provides=('luxury-yacht')
conflicts=('luxury-yacht')
options=('!strip' '!debug' '!emptydirs')
source_x86_64=("https://github.com/luxury-yacht/app/releases/download/v${pkgver}/luxury-yacht_v${pkgver}_linux_amd64.deb")
source_aarch64=("https://github.com/luxury-yacht/app/releases/download/v${pkgver}/luxury-yacht_v${pkgver}_linux_arm64.deb")
source=("LICENSE::https://raw.githubusercontent.com/luxury-yacht/app/v${pkgver}/LICENSE")
package() {
bsdtar -xf data.tar.zst -C "$pkgdir/"
install -Dm755 "$pkgdir/usr/local/bin/luxury-yacht" "$pkgdir/usr/bin/luxury-yacht"
rm -rf "$pkgdir/usr/local"
sed -i 's|/usr/local/bin/|/usr/bin/|' "$pkgdir/usr/share/applications/luxury-yacht.desktop"
install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
Package .deb itu sendiri isinya arsip data.tar.zst standar Debian,
jadi tinggal di-extract pakai bsdtar langsung ke $pkgdir — tidak perlu
tool tambahan buat parsing format .deb.
Saya juga pakai .nvchecker.toml biar gampang mantau kalau ada rilis versi
baru dari upstream:
1
2
3
4
5
[luxury-yacht-bin]
source = "github"
github = "luxury-yacht/app"
use_latest_release = true
prefix = "v"
Cara Install (Manual Build)
Karena belum ada di AUR, install-nya masih manual:
- Clone atau download PKGBUILD-nya dari repo saya di github.com/ilhamset27/luxury-yacht-bin.
-
Jalankan:
1
makepkg -siCommand ini otomatis download
.debresmi sesuai arsitektur mesin kamu (x86_64atauaarch64), verifikasi checksum, build package Arch (.pkg.tar.zst), lalu install sekalian dependency-nya (-i). -
Setelah selesai, app-nya bisa dibuka lewat launcher desktop (dicari “Luxury Yacht”) atau lewat terminal:
1
luxury-yacht
Kalau nanti sudah saya submit ke AUR, tinggal pasang pakai AUR helper
biasa (yay -S luxury-yacht-bin atau paru -S luxury-yacht-bin) tanpa
perlu build manual lagi — nanti saya update post ini begitu sudah live.
Source lengkap PKGBUILD-nya ada di github.com/ilhamset27/luxury-yacht-bin, silakan mampir kalau mau lihat, kasih star, atau bantu maintain sebelum disubmit ke AUR.

