openSUSE / obs-build

OBS build script, can be used with OBS or stand alone
GNU General Public License v2.0
130 stars 181 forks source link

Add support for setting the ccache archive size #970

Closed dcermak closed 5 months ago

adrianschroeter commented 5 months ago

This defines a default limit of 5GB. This would disable it for nodejs-electron in Factory. Not sure if we want this? @DimStar77 @AdamMajer Do you have an opinion?

@dcermak What is your rational, where do you think it should be disabled by default?

Note, it won't be possible to overwrite this again in OBS.

dcermak commented 5 months ago

@dcermak What is your rational, where do you think it should be disabled by default?

Huh, I thought this would just use the default of 5GB if unset?

Note, it won't be possible to overwrite this again in OBS.

I don't really mind that. I just wanted to have this feature when building a very large C/C++ package locally that would fill the ccache and then wouldn't benefit that much from having a cache.

AdamMajer commented 5 months ago
> cat .ccache/ccache.conf 
max_size = 5.0G

I don't remember setting this. Looking at TFM (ccache manpage)

max_size (CCACHE_MAXSIZE) This option specifies the maximum size of the cache. Use 0 for no limit. The default value is 5G. Available suffixes: k, M, G, T (decimal) and Ki, Mi, Gi, Ti (binary). The default suffix is G. See also CACHE SIZE MANAGEMENT.

SIZE MANAGEMENT By default, ccache has a 5 GB limit on the total size of files in the cache and no limit on the number of files. You can set different limits using the command line options -M/--max-size and -F/--max-files. Use the -s/--show-stats option to see the cache size and the currently configured limits (in addition to other various statistics).

Cleanup can be triggered in two different ways: automatic and manual.

which means this PR is unnecessary and ccache is accidentally overflowing for nodejs-electron already

adrianschroeter commented 5 months ago

k, closing it

dcermak commented 5 months ago

I beg to object, this is still useful for local builds.