此文章适合新建包和接收孤儿包(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/config, 告诉ssh命令连接到 aur.archlinux.org 用汝创建的新密钥
Host aur.archlinux.org
IdentityFile ~/.ssh/aur
User your-name #注意使用你自己注册的名字替换
四、提交软件包到 AUR(此步骤是经常使用的)
- 创建软件包仓库
把pkgbase换成软件包名
$ git clone ssh://aur@aur.archlinux.org/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 aur@aur.archlinux.org 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')
本文档详细介绍了如何在ArchLinux的AUR(Arch User Repository)中创建和管理软件包,包括从原型文件开始,设置PKGBUILD,进行必要的检查,认证过程,提交软件包到AUR,以及常用配置和管理技巧。对于想要为AUR贡献包的ArchLinux用户来说是一份实用指南。
5164

被折叠的 条评论
为什么被折叠?



