这个以前一直想写来着,不过免费的VPS挂掉了就一直没写。现在正好赶上有一个包需要更新加上博客也迁移成功,就事记录一下。省的以后更新包的时候忘记怎么弄。

官方wiki上的介绍

  Arch用户软件仓库(Arch User Repository,AUR)是为用户而建、由用户主导的Arch软件仓库。AUR中的软件包以软件包生成脚本(PKGBUILD)的形式提供,用户自己通过makepkg生成包,再由pacman安装。创建AUR的初衷是方便用户维护和分享新软件包,并由官方定期从中挑选软件包进入community仓库。

开始

  首先,需要一个AUR的帐户,打开 https://aur.archlinux.org/register/ 注册。

密钥

生成密钥

  wiki上面要求创建一个新的密钥(而不是用旧的),这样出问题时可以直接废除密钥。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
ssh-keygen -t rsa -C "your@mail.com"
---------------------------------------------
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sora/.ssh/id_rsa):
#这里输入密钥的路径和名字,像是:/home/yourname/.ssh/aur_rsa
Enter passphrase (empty for no passphrase):
#私钥密码,可以为空。
Enter same passphrase again:
#然后他就会告诉你生成的私钥和公钥的位置。
Your identification has been saved in /home/sora/.ssh/aur_rsa.
Your public key has been saved in /home/sora/.ssh/aur_rsa.pub.
#然后下面就是密钥指纹。
The key fingerprint is:
SHA256:kGYIbfFJhcdvCLftFuJDgGbRwbesMSd1+cHtMFRBOvg
The key's randomart image is:
+---[RSA 2048]----+
| ..o*o=. +.++. |
| .*+*o* o.=.. |
| +. BO B..o= |
| o+.O =.... |
| OS+ .E |
| . o o |
| o |
| |
| |
+----[SHA256]-----+

添加到AUR

  登录刚刚注册的AUR用户,点击我的帐户。把刚刚生成的aur_rsa.pub文件的内容粘贴到 SSH Public Key 的框框里面。然后更新。

修改SSH配置

  如果不修改SSH配置文件的话,SSH是找不到刚刚新建的密钥的。
  编辑~/.ssh/config文件。

1
2
3
4
5
6
# AUR
Host aur
HostName aur.archlinux.org
Port 22
User aur
IdentityFile ~/.ssh/aur_rsa #私钥路径

  这样写就像是别名一样,之后可以用 aur 代替 HostName 的 aur.archlinux.org 。

提交PKGBUILD

创建仓库

  克隆不存在的仓库会自动创建此仓库。

1
git clone git://aur/package_name.git

  这时当前目录会多出一个以软件包名命名的目录,接着把PKGBUILD之类的文件放到里面并cd进去。

提交或更新

1
2
3
4
5
makepkg --printsrcinfo > .SRCINFO     #生成.SRCINFO
git add PKGBUILD .SRCINFO #添加文件
git commit -m '更新信息' #提交文件到本地库
git push #推送到AUR

  .SRCINFO是记录软件包元数据的文件,AUR工具和网站后端需要。并且每次提交或是更新前都需要生成。

大功告成

  这样的话一个软件包就提交完成了。(当初为了这个包在网上查来查去查了好久
  更新的包叫kde-thumbnailer-epub,是dolphin用来显示ePub文件缩略图的软件。喜欢看书的我怎么能容忍ePub没有封面呢。

阿卡林~