[[zh:lilac 常见问题]] == Q: How can I access the full lilac packaging log? == lilac log is stored at <code>/home/lilydjwg/.lilac/</code> on the archlinuxcn build machine. There are two types of log available: * <code>build.log</code>: The full-sized result log of packaging. You can get the status, timestamp and the duration of each single package job from this log. * <code>log/<TIMESTAMP></code>: 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). == Q: My package failed to build, Why doesn't lilac retry it? == 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 modify PKGBUILD, lilac.py or lilac.yaml) to trigger a rebuild. Then your package will be built in the next lilac job cycle. If there is nothing to modify (e.g building is failing due to temporary network failure), you can trigger lilac to rebuild using the following way. == Q: How to manually trigger lilac to rebuild my package == You can add a <code>manual: </code> field under the <code>update_on: </code> update conditions in <code>lilac.yaml</code>, or change the parameter value of an existing <code>manual: </code> field. There can be multiple update conditions defined under <code>update_on: </code>, and you can list <code>manual: </code> under all other update conditions. == Q: How can I make changes to PKGBUILD from the upstream(e.g AUR) before the package phase? == You need to use a customized <code>pre-build</code> function, You can modify PKGBUID in the <code>pre_build</code> with <code>sed</code> or lilac built-in <code>edit_file</code> function as recommended by archlinuxcn community. Examples can be found with command <code>git grep edit_file</code>. <code>lines</code> is used for scanning in the PKGBUILD, and <code>print</code> is used for writing to PKGBUILD. Refer to archlinuxcn/repo for more information. == Q: Can I run lilac locally on my machine? == 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 [https://github.com/archlinuxcn/lilac/blob/master/usage.rst archlinuxcn/lilac]. The following are some precautions: * <code>single_main</code> accepts the first argument as <code>build_prefix</code> which default sets to <code>makepkg</code>. If you want to use other build prefixes such as <code>extra-x86_64-build</code>. You need to explicitly pass the argument to <code>single_main</code> * <code>single_main</code> won't perform any dependency resolution, thus if dependency are declared in lilac.py / lilac.yaml, your package will fail the local build. == Q: lilac send me a build log saying building was fail due to source file checksum mismatch. Both source files and checksums are updated and it might be due to lilac is caching the old file. How can I delete the cached files? == Please <code>ssh build.archlinuxcn.org</code> and run command <code>sudo cleanup-package-files <pkgbase></code> to check the list of cached source files by lilac. After the confirmation you can remove those cached files by <code>sudo cleanup-package-files --real <pkgbase></code> command.