此文章适合建立包和接收孤兒包(
Orphaned
),有人維護的包不能建構
一、介紹
PKGBULD
原型
- 把
的原型檔案/usr/share/pacman/
拷貝一份重命名成PKGBUILD.proto
檔案PKGBUILD
- 兩個重要參數:
是提取的源資料目錄,\${srcdir}
相當于安裝後的根目錄\${pkgdir}
參考文章(PKGBUILD包裝指南):https://wiki.archlinux.org/index.php/Arch_package_guidelines
參考文章(建立PKGBUILD):https://wiki.archlinux.org/index.php/Creating_packages
參考文章(PKGBUILD的變量):https://wiki.archlinux.org/index.php/PKGBUILD
二、常用的檢查指令
$ namcap PKGBUILD
$ namcap <package file name>.pkg.tar.xz
三、認證
- 為 AUR 建立一個新的密鑰(而不是用舊的)
$ ssh-keygen -f ~/.ssh/aur
然後在 AUR Web 界面上點選 “My Account (我的賬戶)” ,把
aur.pub
公鑰裡的内容填進 “SSH Public Key:” 一節中,儲存.
- 接下來編輯
, 告訴ssh指令連接配接到 aur.archlinux.org 用汝建立的新密鑰~/.ssh/config
Host aur.archlinux.org
IdentityFile ~/.ssh/aur
User your-name #注意使用你自己注冊的名字替換
四、送出軟體包到 AUR(此步驟是經常使用的)
-
建立軟體包倉庫
把pkgbase換成軟體包名
$ git clone ssh://[email protected]/pkgbase.git
- 送出和更新軟體包
$ makepkg --printsrcinfo > .SRCINFO
$ git add PKGBUILD .SRCINFO
$ git commit -m "useful commit message"
$ git push
-
.gitignore
檔案配置
正常忽略以下檔案
src
pkg
*.deb
*.rpm
.AppImage
*.pkg.tar.xz
- 如果執行了ssh認證配置,可以為軟體包投票
ssh [email protected] vote <PACKAGE_NAME>
五、常用的配置
- 修改
中某些行/etc/makepkg.conf
MAKEFLAGS="-j$(nproc)"
COMPRESSXZ =(xz -c -z - --threads = 0)
- 安裝
pacman-contrib
包
使用方式:與PKGBUILD檔案相同的目錄中運作以下指令以生成新的md5sum
$ updpkgsums
- 下載下傳
,修改aria2c
/etc/makepkg.conf
DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/aria2c -s 5 -x 6 -c -o %o %u'
'https::/usr/bin/aria2c -s 5 -x 6 -c -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')