在硬盘上设置构建环境

来自 Alpine Linux

系统磁盘模式安装 Alpine Linux,即传统的或经典的硬盘安装,用作构建环境。配置桌面,以便在需要时,开发系统也可以用作日常使用。

如果现有的 Alpine Linux 安装是稳定版本,升级到 edge 分支以用作构建环境。

替代方案是在另一个系统内部使用 chroot 或某种形式的虚拟化来设置一个干净的 Alpine Linux 构建环境。主机系统也可以是 Alpine Linux,或者可以是其他系统。

升级到 edge 分支

从稳定版本升级 Alpine Linux 到滚动开发版本edge,基本上需要与升级到最新版本相同的步骤。

关键的区别在于,在编辑 /etc/apk/repositories 文件时,其中所有引用的仓库版本(例如 v3.21latest-stable)都需要指向 edge

当使用 edge 分支时,如果需要的软件包仅在 testing 仓库中可用,则可以添加 testing 仓库。

注意: 请记住,testing 仓库中的软件包没有支持。


/etc/apk/repositories 的内容

#/media/cdrom/apks http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community http://dl-cdn.alpinelinux.org/alpine/edge/testing

升级到 edge 分支后,可以使用以下命令检查当前安装的 edge 版本

$ cat /etc/alpine-release

并参考附加到发布版本的构建日期。

警告: 不要同时启用 stable 和 edge 仓库。这可能会破坏你的系统。请使用 edge stable。如果你混合使用 stable 和 edge 仓库,后果自负。


设置你的系统和账户

alpine-sdk 是一个元软件包,它包含用于构建新软件包的最必要的软件包。同时安装和配置提升权限的方法,例如 sudo 或 doas,以及编辑器,例如 vi、nano、micro。

# apk add alpine-sdk

现在是创建一个供你工作的普通用户账户的好时机。为了以后更方便,最好将此用户添加到 wheel 组;现在可以使用 sudo 或 doas 完成需要超级用户权限的操作。

aports 树在 git 中,所以在克隆它之前,让我们配置 git。

配置你的全局 git 配置

在 git 中配置你的姓名和电子邮件地址。此姓名和电子邮件地址将显示在你所有的提交中

$ git config --global user.name "你的全名" $ git config --global user.email "你的@email.地址"

使用git config没有--global可以让你为特定的 git 仓库配置其他细节。

参考使用 git 进行开发以掌握 Git 操作的基础知识。

配置 abuild

系统和用户都需要配置 Abuild。

根据需求编辑文件 /etc/abuild.conf。大部分默认设置可以保留不动,除非你正在为自定义平台开发,在这种情况下,文件中的注释应该会引导你。需要编辑的一个字段是 PACKAGER,这样你就可以为你创建的软件包获得荣誉(或责备)。

为了使用 abuild 命令,执行 abuild 的用户必须是 abuild 组的成员

# addgroup <你的用户名> abuild

注意: 记住注销并重新登录,组更改才能生效。

对于 abuild,需要公钥/私钥 rsa 密钥对。abuild 软件包中的 abuild-keygen 命令生成并配置安全密钥。

$ doas abuild-keygen -a -i

abuild-keygen 选项

  • -a 在 abuild.conf 中设置 PACKAGER_PRIVKEY=<生成的密钥>
  • -i 使用 sudo 将公钥安装到 /etc/apk/keys 中
  • -h 显示此帮助
  • -n 非交互式。使用默认值
  • -q 静默模式


贡献

继续创建新软件包创建并提交 Alpine Linux 的补丁