Install s/ccache only when needed, note in README
It is better to not preinstall sccache/ccache in the chroot as mentioned in the README.
This commit is contained in:
parent
0b91176586
commit
a040785bd6
2 changed files with 18 additions and 1 deletions
15
README.md
15
README.md
|
@ -63,6 +63,17 @@ GiB somehow).
|
||||||
the build will fail if the limit is reached. If set to false, then the build
|
the build will fail if the limit is reached. If set to false, then the build
|
||||||
will continue even if the limit is reached.
|
will continue even if the limit is reached.
|
||||||
|
|
||||||
|
## Soft-lock if `sccache` is preinstalled in chroot
|
||||||
|
|
||||||
|
Apparently, some packages automatically use ccache/sccache if it is installed in
|
||||||
|
the chroot, and in some cases, causes a soft-lock during a build. It is
|
||||||
|
recommended to not have ccache/sccache preinstalled in the chroot and to just
|
||||||
|
let the aur-helper-script install it when necessary.
|
||||||
|
|
||||||
|
For example, when building `tenacity-git` with sccache preinstalled, the build
|
||||||
|
will hang after the final build step. Apparently, killing the running `sccache`
|
||||||
|
process stops the soft-lock in this case.
|
||||||
|
|
||||||
# Setting up the AUR Helper
|
# Setting up the AUR Helper
|
||||||
|
|
||||||
The AUR Helper requires several things:
|
The AUR Helper requires several things:
|
||||||
|
@ -86,7 +97,9 @@ The `python-toml` package is required for the Python script to run.
|
||||||
|
|
||||||
Use `/usr/bin/mkarchroot` to create your CHROOT in a directory.
|
Use `/usr/bin/mkarchroot` to create your CHROOT in a directory.
|
||||||
|
|
||||||
mkarchroot $HOME/mychroot/root base base-devel ccache sccache cmake ninja
|
mkarchroot $HOME/mychroot/root base base-devel cmake ninja
|
||||||
|
|
||||||
|
As noted earlier, it is better to NOT preinstall `ccache` and `sccache`.
|
||||||
|
|
||||||
You must refer to the CHROOT as `$HOME/mychroot` if you used the same name as in
|
You must refer to the CHROOT as `$HOME/mychroot` if you used the same name as in
|
||||||
the previous example.
|
the previous example.
|
||||||
|
|
|
@ -1381,6 +1381,10 @@ def update_pkg_list(
|
||||||
"--holdver",
|
"--holdver",
|
||||||
]
|
]
|
||||||
failure = False
|
failure = False
|
||||||
|
if "ccache_dir" in pkg_state[pkg]:
|
||||||
|
pkg_state[pkg]["other_deps"].append("ccache")
|
||||||
|
elif "sccache_dir" in pkg_state[pkg]:
|
||||||
|
pkg_state[pkg]["other_deps"].append("sccache")
|
||||||
for dep in pkg_state[pkg]["other_deps"]:
|
for dep in pkg_state[pkg]["other_deps"]:
|
||||||
prefetch_result = prefetch_dependency(dep, other_state)
|
prefetch_result = prefetch_dependency(dep, other_state)
|
||||||
if prefetch_result != "fetched":
|
if prefetch_result != "fetched":
|
||||||
|
|
Loading…
Reference in a new issue