为第三方软件包设置编译 vserver
![]() 在此通知移除之前,请勿按照此处的说明操作。 |
目标: 创建一个构建服务器,用于编译第三方软件包(非主 aports 树中的软件包),可用于非官方仓库。一个用例可以是构建为一组软件包提供一组自定义默认配置的软件包(使快速部署类似服务器更容易)。此服务器不会构建常规 aports,仅构建自定义软件包。
准备构建服务器
首先,按照 设置编译 vserver 的步骤操作。
自定义构建服务器
首先,我们将把此服务器用作构建箱和镜像,因此我们需要安装 lighttpd。
apk add lighttpd
接下来,通过编辑 /etc/lighttpd/lighttpd.conf 中的以下行,将 buildozer 软件包目录设置为 lighttpd 根目录。
var.basedir = "/home/buildozer" server.document-root = var.basedir + "/packages"
创建一个软链接以同时共享 distfiles 目录。
ln -s /var/cache/distfiles /home/buildozer/packages/distfiles
从此构建箱上传到 rsync.alpinelinux.org 将不起作用,因此请注释掉 /usr/local/bin/update-repos 中的第 133 行。
移动旧的 aports 目录,创建一个新的 aports 目录,将其初始化为 git 目录,设置其“上游”源。
mv /home/buildozer/aports /home/buildozer/aports.old mkdir /home/buildozer/aports.new cd /home/buildozer/aports.old cp Makefile aport.lua makeall.sh rebuild-alpine.sh /home/buildozer/aports.new mkdir -p /home/buildozer/aports.new/main mkdir -p /home/buildozer/aports.new/testing cd /home/buildozer/aports.new git init git commit -a git clone --bare /home/buildozer/aports.new /home/buildozer/aports.git git clone /home/buildozer/aports.git /home/buildozer/aports
在主仓库中创建一个新的测试软件包并测试构建。
cd /home/buildozer/aports/main newapkbuild testing
编辑 /home/buildozer/aports/main/testing/APKBUILD,放入一些虚假信息以便软件包可以构建,然后使用您在基础文档中创建的 sircbot 控件进行测试。