User:Encode/XDG 软件包构建

来自 Alpine Linux
此材料正在制作中...

我在本地自定义了一些软件包,如果您计划进行开发,您可能还需要做更多的事情(例如:`/etc/abuild.conf` 中的 "PACKAGER")。
(上次由 Encode 于 2023 年 1 月 11 日编辑。)

Todo: 使用专用用户。
abuild-keygen 应该将密钥放在 ${XDG_DATA_HOME}/abuild 中。


前提条件

安装 alpine-sdkabuild-rootbld 软件包;第一个是引入大多数基本软件包的元软件包,第二个用于在干净的 chroot 中构建

# apk add alpine-sdk abuild-rootbld

将软件包构建用户添加到 abuild 组以使用 $ abuild rootbld

# addgroup USER abuild

~/.profile 中,您将需要

Contents of ~/.profile

... export ABUILD_USERDIR="${XDG_CONFIG_HOME:=$HOME/.config}"/abuild ...
Note: 您需要注销/重新登录才能使这些生效。

创建目录以保存源代码并配置安全密钥

$ mkdir ~/src $ abuild-keygen -a -i

当它显示“Enter file in which to save the key:...”时,您应该看到

 [/home/USER/$XDG_CONFIG_HOME/abuild/....rsa]

按 Enter 键。输入您的密码以安装到 /etc/apk/keys/ 中。

更改构建的软件包的存放位置

Contents of /etc/abuild.conf

... REPODEST="${XDG_DATA_HOME:=$HOME/.local/share}/abuild/" ...

获取最新的 APKBUILD 文件

这将把它们克隆到 ~/src/aports

$ cd ~/src/ $ git clone 'https://git.alpinelinux.org/aports'

构建软件包

更改到软件包的目录

$ cd ~/src/aports/REPO/PACKAGE

根据需要编辑 APKBUILD 并更新校验和

$ abuild checksum

构建软件包并安装 本地 软件包

$ abuild rootbld # apk add -uX "${XDG_DATA_HOME}"/abuild/community/ PACKAGE

参见