Nikita Karetnikov <[email protected]> skribis: >> Such changes should be done in ‘core-updates’, not ‘master’, because >> they entail a full rebuild. > > Oh, I'm sorry. But could you explain why? I'm puzzled because the > commit doesn't remove anything.
guix/build/utils.scm is used by every build script; same for gnu/build/gnu-build-system.scm. So if you change something there, everything has to be rebuilt. The purpose of ‘core-updates’ is to have a staging area for changes that require full rebuilds, so that users don’t end up rebuild everything every other day. ;-) > Could you provide a list of files that shouldn't be changed in 'master'? > I guess that 'gnu/packages/base.scm', 'gnu/packages/make-bootstrap.scm', > and 'guix/build' shouldn't be touched. Anything else? make-bootstrap.scm can actually be changed at will. base.scm can be changed too, as long as the derivations it defines remain unchanged (for instance, you can add comments, change ‘hello’, but not glibc.) If in doubt, try ‘guix build coreutils -n’ after making your change to see if it entails a full rebuild. Ludo’.
