-
Notifications
You must be signed in to change notification settings - Fork 299
[EN] lilac FAQ
lilac log is stored at /home/lilydjwg/.lilac/
on the archlinuxcn build machine. There are two types of log available:
-
build.log
: The full-sized result log of packaging. You can get the status, timestamp and the duration of each single package job from this log. -
log/<TIMESTAMP>
: These log files contain elaborate information of the lilac packaging job. It contains detailed error log, the result of dependency resolution, etc. These files are named in timestamp format. For example a file named 2018-11-10T09:13:01 stands for a the log of a set of packaging job which starts at 2018-11-10 09:13:01 (UTC+8).
Many packages fail to be built because of inconsistent PKGBUILD/lilac configuration. If maintainer doesn't manually fix the configuration error, repackaging these packages is not only useless, but also a waste of resource of build machine. Therefore lilac won't rebuild a failed package until a new commit of the package is pushed to repo. For maintainers, you need to manually update the package (e.g bump pkgrel, modify lilac.py) to trigger a rebuild. Then your package will be built in the next lilac job cycle.
You need to use a customized pre-build
function, You can modify PKGBUID in the pre_build
with sed
or lilac built-in edit_file
function as recommended by archlinuxcn community.
Examples can be found with command git grep edit_file
. lines
is used for scanning in the PKGBUILD, and print
is used for writing to PKGBUILD. Refer to archlinuxcn/repo for more information.
It's not recommended to run the full lilac build on your local machine. However, you can run lilac for a single package job locally. Instructions on configure the lilac can be found at archlinuxcn/lilac. The following are some precautions:
-
single_main
accepts the first argument asbuild_prefix
which default sets tomakepkg
. If you want to use other build prefixes such asextra-x86_64-build
. You need to explicitly pass the argument tosingle_main
-
single_main
won't perform any dependency resolution, thus if dependency are declared in lilac.py / lilac.yaml, your package will fail the local build.