It is sometimes desirable to update the guix
package itself (the
package defined in (gnu packages package-management)
), for example to
make new daemon features available for use by the guix-service-type
service type. In order to simplify this task, the following command can be
used:
make update-guix-package
The update-guix-package
make target will use the last known
commit corresponding to HEAD
in your Guix checkout, compute
the hash of the Guix sources corresponding to that commit and update the
commit
, revision
and hash of the guix
package
definition.
To validate that the updated guix
package hashes are correct and that
it can be built successfully, the following command can be run from the
directory of your Guix checkout:
./pre-inst-env guix build guix
To guard against accidentally updating the guix
package to a commit
that others can’t refer to, a check is made that the commit used has already
been pushed to the Savannah-hosted Guix git repository.
This check can be disabled, at your own peril, by setting the
GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT
environment variable. When this
variable is set, the updated package source is also added to the store.
This is used as part of the release process of Guix.