跳到內容
Tauri

AUR

發布到 Arch 使用者儲存庫

設定

首先前往 https://aur.archlinux.org 並建立帳戶。請務必新增正確的 ssh 金鑰。接下來,使用此命令複製一個空的 git 儲存庫。

終端機視窗
git clone https://aur.archlinux.org/your-repo-name

完成上述步驟後,建立一個名為 PKGBUILD 的檔案。檔案建立完成後,您可以繼續下一步。

編寫 PKGBUILD 檔案

PKGBUILD
pkgname=<pkgname>
pkgver=1.0.0
pkgrel=1
pkgdesc="Description of your app"
arch=('x86_64' 'aarch64')
url="https://github.com/<user>/<project>"
license=('mit')
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
options=('!strip' '!emptydirs')
install=${pkgname}.install
source_x86_64=("https://github.com/<user>/<project>/releases/download/v$pkgver/appname_"$pkgver"_amd64.deb")
source_aarch64=("https://github.com/<user>/<project>/releases/download/v$pkgver/appname_"$pkgver"_arm64.deb")
  • 在檔案頂端,定義您的套件名稱並將其指派給變數 pkgname
  • 設定您的 pkgver 變數。通常最好在 source 變數中使用此變數,以提高可維護性。
  • aur 儲存庫頁面上的 pkgdesc 變數,並告知訪客您的應用程式的功能。
  • arch 變數控制哪些架構可以安裝您的套件。
  • url 變數雖然不是必需的,但有助於使您的套件看起來更專業。
  • install 變數定義一個執行安裝命令的檔案。
  • depends 變數包含應用程式執行所需項目的清單。對於任何 Tauri 應用程式,您都必須包含上面顯示的所有依賴項。
  • source 變數是必需的,並定義上游套件的位置。您可以透過將架構新增至變數名稱的結尾,使 source 成為架構特定的。

產生 SRCINFO

為了將您的儲存庫推送到 aur,您必須產生一個 srcinfo 檔案。這可以使用此命令完成。

終端機視窗
makepkg --printsrcinfo >> .SRCINFO

測試

測試應用程式非常簡單。您只需在與 pkgbuild 檔案相同的目錄中執行 makepkg -f,看看它是否有效

發布

最後,在測試階段結束後,您可以使用以下命令將應用程式發布到 arch 使用者儲存庫。

終端機視窗
git add .
git commit -m "Initial Commit"
git push

如果一切順利,您的儲存庫現在應該會出現在 aur 網站上。

範例

從 Debian 套件中提取

PKGBUILD
# Maintainer:
# Contributor:
pkgname=<pkgname>
pkgver=1.0.0
pkgrel=1
pkgdesc="Description of your app"
arch=('x86_64' 'aarch64')
url="https://github.com/<user>/<project>"
license=('mit')
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
options=('!strip' '!emptydirs')
install=${pkgname}.install
source_x86_64=("https://github.com/<user>/<project>/releases/download/v$pkgver/appname_"$pkgver"_amd64.deb")
source_aarch64=("https://github.com/<user>/<project>/releases/download/v$pkgver/appname_"$pkgver"_arm64.deb")
sha256sums_x86_64=('ca85f11732765bed78f93f55397b4b4cbb76685088553dad612c5062e3ec651f')
sha256sums_aarch64=('ed2dc3169d34d91188fb55d39867713856dd02a2360ffe0661cb2e19bd701c3c')
package() {
# Extract package data
tar -xz -f data.tar.gz -C "${pkgdir}"
}
my-tauri-app.install
post_install() {
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
update-desktop-database -q
}
post_upgrade() {
post_install
}
post_remove() {
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
update-desktop-database -q
}

從原始碼建置

PKGBUILD
# Maintainer:
pkgname=<pkgname>-git
pkgver=1.1.0
pkgrel=1
pkgdesc="Description of your app"
arch=('any')
url="https://github.com/<user>/<project>"
license=('mit')
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
makedepends=('git' 'file' 'openssl' 'appmenu-gtk-module' 'libappindicator-gtk3' 'librsvg' 'base-devel' 'curl' 'wget' 'rustup' 'npm' 'nodejs' 'dpkg')
provides=('<pkgname>')
conflicts=('<binname>' '<pkgname>')
options=('!strip' '!emptydirs')
source=('git+https://github.com/<user>/<project>')
sha256sums=('SKIP')
prepare() {
cd <project>
npm install
npm run tauri build
}
package() {
cd "$srcdir"/<project>/src-tauri/target/*unknown-linux*/release/bundle/deb
dpkg-deb -x *.deb here
cd here
install -Dm755 usr/bin/myapp "$pkgdir"/usr/bin/myapp
# Install desktop file
install -Dm644 usr/share/applications/myapp.desktop "$pkgdir"/usr/share/applications/myapp.desktop
# Install icons
install -Dm644 usr/share/icons/hicolor/128x128/apps/myapp.png "$pkgdir"/usr/share/icons/hicolor/128x128/apps/myapp.png
install -Dm644 usr/share/icons/hicolor/256x256@2/apps/myapp.png "$pkgdir"/usr/share/icons/hicolor/256x256@2/apps/myapp.png
install -Dm644 usr/share/icons/hicolor/32x32/apps/myapp.png "$pkgdir"/usr/share/icons/hicolor/32x32/apps/myapp.png
# Extract package data
}

© 2025 Tauri Contributors. CC-BY / MIT