AUR
Note
AUR = Arch User Repository: ArchLinux 커뮤니티가 운영하는 Arch 사용자를 위한 리포지토리의 명칭. ArchLinux Korea 사이트는 여기.
먼저 https://aur.archlinux.org
에 접속하여 계정을 만드십시오. 반드시 적절한 “SSH 키”를 추가하십시오. 그런 다음 다음 명령을 사용하여 빈 Git 리포지토리를 복제하십시오.
git clone https://aur.archlinux.org/your-repo-name
위의 절차가 완료되면 PKGBUILD
라는 이름의 파일을 만듭니다. 파일 생성이 완료되면 다음 단계로 진행합니다.
pkgname=<pkgname>pkgver=1.0.0pkgrel=1pkgdesc="앱 설명(description)"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}.installsource_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb")source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb")
- 파일의 시작 부분에서 “패키지 이름”을 정의하고 변수
pkgname
에 할당합니다. - “
pkgver
” 변수를 설정합니다. 일반적으로 코드의 유지 관리성을 높이기 위해 이 변수를 소스 내의 변수에서 사용하는 것이 가장 좋습니다. - “
pkgdesc
” 변수는 AUR 리포지토리 페이지의 변수로, 방문자에게 앱에서 무엇을 할 수 있는지 알려줍니다. - “
arch
” 변수는 어떤 CPU 아키텍처에 패키지를 설치할 수 있는지 제시합니다. - “
url
” 변수는 필수는 아니지만 패키지를 더 전문적으로 보이게 하는 데 도움이 됩니다. - “
install
” 변수는 패키지가 설치, 제거 또는 업그레이드될 때 실행되는 “.install 스크립트”의 이름을 지정합니다. - “
depends
” 변수에는 앱 실행에 필요한 라이브러리 등의 목록이 저장됩니다. Tauri 앱을 실행하려면 위에 표시된 모든 종속성을 포함해야 합니다. - “
source
” 변수는 필수이며 업스트림 패키지의 위치를 정의합니다. 변수 이름 끝에 아키텍처를 추가하여 아키텍처별source
로 만들 수 있습니다.
리포지토리를 AUR에 푸시하려면 .SRCINFO
파일을 생성해야 합니다. 다음 명령으로 실행할 수 있습니다.
makepkg --printsrcinfo > .SRCINFO
앱 테스트는 매우 간단합니다. PKGBUILD
파일과 동일한 디렉토리 내에서 makepkg
를 실행하고 작동하는지 확인하기만 하면 됩니다.
마지막으로 테스트 단계가 끝나면 다음 명령을 사용하여 애플리케이션을 AUR(Arch User Repository)에 게시할 수 있습니다.
git add .
git commit -m "Initial Commit"
git push
모든 것이 잘되면 리포지토리가 AUR 웹 사이트에 표시될 것입니다.
# Maintainer:# Contributor:pkgname=<pkgname>pkgver=1.0.0pkgrel=1pkgdesc="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' '!debug')install=${pkgname}.installsource_x86_64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_amd64.deb")source_aarch64=("${url}/releases/download/v${pkgver}/appname_${pkgver}_arm64.deb")sha256sums_x86_64=('ca85f11732765bed78f93f55397b4b4cbb76685088553dad612c5062e3ec651f')sha256sums_aarch64=('ed2dc3169d34d91188fb55d39867713856dd02a2360ffe0661cb2e19bd701c3c')package() { # 패키지 데이터 추출 tar -xvf data.tar.gz -C "${pkgdir}"
}
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}
# Maintainer:pkgname=<pkgname>-gitpkgver=<pkgver>pkgrel=1pkgdesc="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')makedepends=('git' 'openssl' 'appmenu-gtk-module' 'libappindicator-gtk3' 'librsvg' 'cargo' 'pnpm' 'nodejs')provides=('<pkgname>')conflicts=('<binname>' '<pkgname>')source=("git+${url}.git")sha256sums=('SKIP')
pkgver() { cd <project> ( set -o pipefail git describe --long --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' || printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)" )}
prepare() { cd <project> pnpm install}
build() { cd <project> pnpm tauri build -b deb}
package() { cp -a <project>/src-tauri/target/release/bundle/deb/<project>_${pkgver}_*/data/* "${pkgdir}"}
【※ 이 한국어판은, 「Mar 29, 2025 영문판」에 근거하고 있습니다】
© 2025 Tauri Contributors. CC-BY / MIT