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


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to