Bug#666525: trying to disable ccache locally, failing

Joel Rosdahl joel at debian.org
Sat Aug 31 16:42:01 UTC 2013


Hi,

> ccache seems to ignore the request [...] Is there some ccache subtlety
I'm missing?

ccache doesn't ignore the request, it just happens to make sure that the
ccache directory exists before reacting to CCACHE_DISABLE (or
CCACHE_READONLY)... Looks like it has been that way since day one (well,
day two, actually:
http://gitweb.samba.org/?p=ccache.git;a=commit;h=10920460b5b00b77316602eb4e7c998a80464a88
).

I've fixed the bug now (upstream), but there's no workaround in currently
released ccache versions, I'm afraid.

-- Joel


On 30 August 2013 00:03, Yann Dirson <ydirson at free.fr> wrote:

> By tuning the stap script to SIGSTOP the offending process, we can get
> a much better view of the situation - here using pstree:
>
> pbuilder,4611 /usr/sbin/pbuilder --build --buildresult .. --debbuildopts
>  --debbuildopts -i ../cssc_1.3.0-1.dsc
>   └─pbuilder-buildp,4612 /usr/lib/pbuilder/pbuilder-buildpackage
> --buildresult .. --debbuildopts  --debbuildopts -i ../cssc_1.3.0-1.dsc
>       └─pbuilder-satisf,5767 /usr/lib/pbuilder/pbuilder-satisfydepends
> --control ../cssc_1.3.0-1.dsc --chroot /work/pbuilder/build//4612
> --internal-chrootexec chroot /work/pbuilder/build//4612  --binary-all
>           └─pbuilder-satisf,5768 /usr/lib/pbuilder/pbuilder-satisfydepends
> --control ../cssc_1.3.0-1.dsc --chroot /work/pbuilder/build//4612
> --internal-chrootexec chroot /work/pbuilder/build//4612  --binary-all
>               └─dpkg-architectu,5769 /usr/bin/dpkg-architecture
> -qDEB_HOST_ARCH
>                   └─sh,5770 -c ${CC:-gcc} -dumpmachine
>                       └─gcc,5771 -dumpmachine
>
> A quick test can be done of reqesting disabling of ccache while calling
> dpkg-architecture.
>
> Test:
>
> --- /usr/lib/pbuilder/pbuilder-satisfydepends.orig      2013-08-29
> 23:34:32.000000000 +0200
> +++ /usr/lib/pbuilder/pbuilder-satisfydepends   2013-08-29
> 23:36:23.000000000 +0200
> @@ -59,7 +59,7 @@
>
>  function checkbuilddep_internal () {
>  # Use this function to fulfill the dependency (almost)
> -    local ARCH=$($CHROOTEXEC dpkg-architecture -qDEB_HOST_ARCH)
> +    local ARCH=$($CHROOTEXEC env CCACHE_DISABLE=1 dpkg-architecture
> -qDEB_HOST_ARCH)
>      local BUILD_DEP_DEB_DIR
>      local BUILD_DEP_DEB_CONTROL
>      local DEPENDS
>
> For some reason, the stap script still traps a mkdir done as root,
> while I can check through /proc that dpkg-architecture and gcc do have
> CCACHE_DISABLE=1 in their env.
>
> Another try: if ccache ignores the disable request, maybe we can ask
> it not to touch the cache ?
>
> --- /usr/lib/pbuilder/pbuilder-satisfydepends.orig      2013-08-29
> 23:34:32.000000000 +0200
> +++ /usr/lib/pbuilder/pbuilder-satisfydepends   2013-08-29
> 23:56:48.000000000 +0200
> @@ -59,7 +59,7 @@
>
>  function checkbuilddep_internal () {
>  # Use this function to fulfill the dependency (almost)
> -    local ARCH=$($CHROOTEXEC dpkg-architecture -qDEB_HOST_ARCH)
> +    local ARCH=$($CHROOTEXEC env CCACHE_READONLY=1
> CCACHE_TEMPDIR=${TMPDIR:-/tmp} dpkg-architecture -qDEB_HOST_ARCH)
>      local BUILD_DEP_DEB_DIR
>      local BUILD_DEP_DEB_CONTROL
>      local DEPENDS
>
> ... but similarly, ccache seems to ignore the request, which can be
> seen in the processes' env.
>
>
> Is there some ccache subtlety I'm missing ?  Could ccache maints lend a
> hand here ?
>
> Best regards,
> --
> Yann
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pbuilder-maint/attachments/20130831/47c0d4a7/attachment.html>


More information about the Pbuilder-maint mailing list