Ccache 3.2's new temp handling kills shared cache by disregarding the umask setting, forcing 0600 perms on the cache-private ccache.conf as well as the per-subdir stats files. Attempting to build with a different user then fails with ccache: error: <cache-path>/ccache.conf: Permission denied. Particularly frustrating is the fact that even with SGID (and even SUID) set on the directory as recommended in the manpage and with the recommended 002 umask set in /etc/ccache.conf, even after manually changing the file perms and ownership back to the appropriate user/group and 0664, at the next run ccache rewrites them once again to incorrect ownership, 0600 perms, breaking itself once again. Note that it's not just ccache.conf. The stats files are also affected. This affects gentoo rather heavily as if portage is configured both to enable ccache (not the default but widely used) and for userprivs (the default instead of root), as soon as ccache 3.2 is merged, nothing else can be built, with failure normally at the configure step due to broken compiler. https://bugs.gentoo.org/show_bug.cgi?id=529998 See particularly comment 11, which implicates the new tmpfile handling (long link): https://git.samba.org/?p=ccache.git;a=blobdiff;f=conf.c;h=92c70c0648d5f5339fc28c889107f32f61c4bbb9;hp=56adb484ecd4079906e50aef03f930c5d98f7b79;hb=fc61ca9a9232f26ee3f714d4b8738d916f6948ff;hpb=f49770a4b142e82a3cf1f5e1da158f69e0447972
This is affects .manifest files in the cache. The commits of interest are: * https://git.samba.org/?p=ccache.git;a=commit;h=a07f46a3b0f7e452d50690b831bb4c99fbc6650f * https://git.samba.org/?p=ccache.git;a=commit;h=fc61ca9a9232f26ee3f714d4b8738d916f6948ff
Fixed in 5c5ead0337f0d90be8fe58b09a63ef6527fd316c on 3.2-maint.
Included in v3.2.1.