Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(Cache): Add support for $MATHLIB_CACHE_DIR #21480

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Julian
Copy link
Collaborator

@Julian Julian commented Feb 5, 2025

This allows someone to explicitly put just Mathlib's own cache in some specific location without needing to entirely affect any program using XDG_CACHE_HOME.

When unset we fallback to the same logic as before.


Open in Gitpod

@Julian Julian changed the title chore(Cache): Add support for %MATHLIB_CACHE_DIR chore(Cache): Add support for $MATHLIB_CACHE_DIR Feb 5, 2025
This allows someone to explicitly put just Mathlib's own cache in some
specific location without needing to entirely affect any program using
XDG_CACHE_HOME.

When unset we fallback to the same logic as before.
@Julian Julian force-pushed the mathlib-cache-dir branch from 2016bb3 to c89a963 Compare February 5, 2025 20:20
Copy link

github-actions bot commented Feb 5, 2025

PR summary c89a9635c1

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

No declarations were harmed in the making of this PR! 🐙

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@adomani
Copy link
Collaborator

adomani commented Feb 5, 2025

What happens if, by mistake, XDG_CACHE_HOME and MATHLIB_CACHE_DIR are set to the same value? Should this be noticed and possibly "remedied"? E.g., the fall-back happens if the variable is unset or set to the same value as XDG_CACHE_HOME? It seems like it would be a little more lenient!

@Julian
Copy link
Collaborator Author

Julian commented Feb 5, 2025

What happens if, by mistake, XDG_CACHE_HOME and MATHLIB_CACHE_DIR are set to the same value? Should this be noticed and possibly "remedied"? E.g., the fall-back happens if the variable is unset or set to the same value as XDG_CACHE_HOME? It seems like it would be a little more lenient!

My immediate reaction is that while I think it is very common for programs to have both a program-specific envvar and also to then fallback to XDG (see my giant list here of just programs I use...), I don't know of any which have that which perform the check you mention. I'm not saying it's not possible someone doing it is making a mistake, but I guess it feels weird to check for to me for reasons I can't quite articulate -- usually for this sort of thing I think you "trust" that someone setting an envvar has double checked and really means to do what they're trying to do (and so it'd be odd to prevent them from doing it in the program if in theory it's possible they mean what they say).

I'm happy to add it though if you'd like, I don't think anyone really will ever be negatively affected by it in practice.

@adomani
Copy link
Collaborator

adomani commented Feb 5, 2025

I had no idea that there even was a notion of an XDG variable! I'm happy to follow the standard practice. Besides, I will certainly not be setting these variables on my computer, so for me it is fall-back anyway!

@Julian
Copy link
Collaborator Author

Julian commented Feb 5, 2025

Yeah, XDG is a (Linux) specification for directory hierarchies which lives here: https://specifications.freedesktop.org/basedir-spec/latest/ and which is followed by lots of programs on your computer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants