When I install something from yay, I get following options:
Packages to cleanBuild?
[N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
Does anyone has an explanation about the options or could share a link?
Besides some people asking the same question, I couldn’t find any documentation about what each of these options do and which ones are recommended.
“Clean building’” something means it will be recompiled although it’s in theory not necessary, because the source code didn’t change. The sources don’t exist in a vacuum tho, there could be changes e.g. to compilers that lead to changes (like new optimizations) in the compiled code, despite the source code itself not changing. This can also be a remedy to faulty build rules / makefiles / the things that describe how stuff needs to be compiled. Also for corrupted files, because the files are obtained from the online repo again.
yay gives you the option to cleanbuild stuff on every upgrade. Unless you encounter problems, “None” will always be fine to choose. This safes you the time (and disk wear) it takes to rebuild everything.
I don’t really know what ‘I’ and ‘No’ do that distinguishes them from ‘A’ in meaningful way tbh.
Yay keeps a cache of packages to help building go a bit faster. Sometimes it can cause issues if things have changed that the cached build system can’t detect. Clean build removes the cached files and re-downloads everything to install. None means don’t clean build, all means all listed packages that need upgrading. don’t know about installed vs installed I never used those flags. The numbers correspond to the number by the package if you want to only select specific ones.
I’ll add to what was said by others, but about [I] and [No]
When building there is a cache. Sometimes you remove make dependencies, which removes the program but keeps a copy in cache. (There are other ways to remove a program and still keep it in cache)
[I] means it will clen build all installed packages and use the cache for those that are not installed but were present.
[No] means it will leave installed packages untouched but will rebuild those that are in cache before reinstalling them.
Hope that solves it. And as said before - in 99.99% cases None is good enough.