]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
install-deps: save and restore user's XDG_CACHE_HOME 56513/head
authorluo rixin <luorixin@huawei.com>
Tue, 16 Apr 2024 07:18:06 +0000 (15:18 +0800)
committerluo rixin <luorixin@huawei.com>
Thu, 18 Apr 2024 01:05:39 +0000 (09:05 +0800)
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>
install-deps.sh

index 0a3511466606d22a2b426712eba45e8f1d63a127..6ef59158111403a8edbf2b60eedef9c284ddda1c 100755 (executable)
@@ -541,6 +541,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
     #
@@ -551,6 +554,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