mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
kernel/memoize: allow customizing memoize's default TTL of 3600 seconds; allow customizing kernel TTL via KERNEL_GIT_CACHE_TTL
This commit is contained in:
@@ -73,11 +73,17 @@ function artifact_kernel_prepare_version() {
|
||||
|
||||
declare -A GIT_INFO_KERNEL=([GIT_SOURCE]="${KERNELSOURCE}" [GIT_REF]="${KERNELBRANCH}")
|
||||
|
||||
declare -i kernel_git_cache_ttl_seconds=3600 # by default
|
||||
if [[ "${KERNEL_GIT_CACHE_TTL}" != "" ]]; then
|
||||
kernel_git_cache_ttl_seconds="${KERNEL_GIT_CACHE_TTL}"
|
||||
display_alert "Setting kernel git cache TTL to" "${kernel_git_cache_ttl_seconds}" "warn" # @TODO: info?
|
||||
fi
|
||||
|
||||
if [[ "${KERNEL_SKIP_MAKEFILE_VERSION:-"no"}" == "yes" ]]; then
|
||||
display_alert "Skipping Makefile version for kernel" "due to KERNEL_SKIP_MAKEFILE_VERSION=yes" "info"
|
||||
run_memoized GIT_INFO_KERNEL "git2info" memoized_git_ref_to_info
|
||||
memoize_cache_ttl=$kernel_git_cache_ttl_seconds run_memoized GIT_INFO_KERNEL "git2info" memoized_git_ref_to_info
|
||||
else
|
||||
run_memoized GIT_INFO_KERNEL "git2info" memoized_git_ref_to_info "include_makefile_body"
|
||||
memoize_cache_ttl=$kernel_git_cache_ttl_seconds run_memoized GIT_INFO_KERNEL "git2info" memoized_git_ref_to_info "include_makefile_body"
|
||||
fi
|
||||
debug_dict GIT_INFO_KERNEL
|
||||
|
||||
|
||||
@@ -40,6 +40,8 @@ function run_memoized() {
|
||||
mkdir -p "${disk_cache_dir}"
|
||||
declare disk_cache_file="${disk_cache_dir}/${MEMO_DICT[MEMO_INPUT_HASH]}"
|
||||
|
||||
declare -i memoize_cache_ttl=${memoize_cache_ttl:-3600} # 1 hour default; can be overriden from outer scope
|
||||
|
||||
# Lock...
|
||||
exec {lock_fd}> "${disk_cache_file}.lock" || exit_with_error "failed to lock"
|
||||
flock "${lock_fd}" || exit_with_error "flock() failed"
|
||||
@@ -48,8 +50,8 @@ function run_memoized() {
|
||||
if [[ -f "${disk_cache_file}" ]]; then
|
||||
declare disk_cache_file_mtime_seconds
|
||||
disk_cache_file_mtime_seconds="$(stat -c %Y "${disk_cache_file}")"
|
||||
# if disk_cache_file is older than 1 hour, delete it and continue.
|
||||
if [[ "${disk_cache_file_mtime_seconds}" -lt "$(($(date +%s) - 3600))" ]]; then
|
||||
# if disk_cache_file is older than the ttl, delete it and continue.
|
||||
if [[ "${disk_cache_file_mtime_seconds}" -lt "$(($(date +%s) - memoize_cache_ttl))" ]]; then
|
||||
display_alert "Deleting stale cache file" "${disk_cache_file}" "debug"
|
||||
rm -f "${disk_cache_file}"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user