-
Notifications
You must be signed in to change notification settings - Fork 299
lilac 常见问题
Jiachen Yang edited this page Jan 4, 2019
·
7 revisions
在社区编译机上 lilac 的日志存放目录为 /home/lilydjwg/.lilac
. 共有两种日志可以查看:
-
build.log
: 全量的打包结果日志, 信息为某一个包打包是否成功, 时间戳,以及打包用时. -
log/<TIMESTAMP>
: 每一次 lilac 运行的详细打包日志,有详细的错误信息, dependency resolve 结果等. 文件名由时间戳表示 如: 2018-11-10T09:13:01 表示 UTC+8 2018-11-10 09:13:01 执行的打包任务的日志信息
因打包失败的主要原因为 maintainer 的配置有误, 而重新打包浪费编译机资源且大多是无用功, 因而 lilac 目前在包没有更新的时候, 即使该包上次打包失败了, 也不会进行 repackage, 这时候需要 maintainer 对包进行更新, 如 bump pkgrel, 修改 lilac.py 等操作后进行提交, lilac 就会在下一次打包作业运行时进行打包.
你需要编写 pre_build
函数, 在 pre_build
里对 PKGBUILD 进行修改, 可以通过 sed
或者推荐使用 lilac 内置的 edit_file
功能.
具体例子可以在 repo 内通过 git grep edit_file
来查看,通过使用 lines
对 PKGBUILD 按行读入, 后通过 print
函数写入 PKGBUILD, 详见 archlinuxcn/repo 内.
不建议在本机上运行全量的 lilac, 可以在本机运行 lilac 对单个包进行调试,配置 lilac 的方式见 archlinuxcn/lilac. 以下是一些注意事项:
-
single_main
不会读取配置的build_prefix
,single_main
默认的第一个参数是makepkg
, 如果想要使用其他如extra-x86_64-build
则需要传递build_prefix
参数给single_main
. -
single_main
不会做 dependency resolution, 因而如果要测试的包在 lilac.py / lilac.yaml 里指定了 dependency 的话是无法构建的.
以打包者账户 ssh
到 build.archlinuxcn.org 上,可以 sudo cleanup-package-files <pkgbase>
方式确认 lilac 历史打包过程中缓存着的文件,确认后可以 sudo cleanup-package-files --real <pkgbase>
方式删除那些文件.