]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
install-deps: save and restore user's XDG_CACHE_HOME 56992/head
authorluo rixin <luorixin@huawei.com>
Tue, 16 Apr 2024 07:18:06 +0000 (15:18 +0800)
committerluo rixin <luorixin@huawei.com>
Fri, 19 Apr 2024 02:47:31 +0000 (02:47 +0000)
Since ccache 4.0, ccache use $XDG_CACHE_HOME/ccache to keep compile cache
if XDG_CACHE_HOME is set. In this case $XDG_CACHE_HOME is overwrite,
ccache will use $XDG_CACHE_HOME/ccache(ccache will create the dir if not exsit) to
store compile cache, but $XDG_CACHE_HOME will be removed next round running,
leading to ccache contests are always removed. So save and restore user's XDG_CACHE_HOME.

Fixes: https://tracker.ceph.com/issues/65175
Signed-off-by: luo rixin <luorixin@huawei.com>
(cherry picked from commit a17342147d4411211ecf646730987d2633dabb6e)

install-deps.sh

index fdd144baf7c3066b87cf3706c069bc11de8dd800..cfb64457d2789a9c346c2057fefb3ceab4f7177e 100755 (executable)
@@ -588,6 +588,9 @@ fi
 if $for_make_check; then
     mkdir -p install-deps-cache
     top_srcdir=$(pwd)
+    if [ -n "$XDG_CACHE_HOME" ]; then
+        ORIGINAL_XDG_CACHE_HOME=$XDG_CACHE_HOME
+    fi
     export XDG_CACHE_HOME=$top_srcdir/install-deps-cache
     wip_wheelhouse=wheelhouse-wip
     #
@@ -598,6 +601,11 @@ if $for_make_check; then
     done
     rm -rf $top_srcdir/install-deps-python3
     rm -rf $XDG_CACHE_HOME
+    if [ -n "$ORIGINAL_XDG_CACHE_HOME" ]; then
+        XDG_CACHE_HOME=$ORIGINAL_XDG_CACHE_HOME
+    else
+        unset XDG_CACHE_HOME
+    fi
     type git > /dev/null || (echo "Dashboard uses git to pull dependencies." ; false)
 fi