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 <ydir...@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 > >