summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-10-21 22:22:13 +0200
committerLudovic Courtès <ludo@gnu.org>2018-11-23 15:42:01 +0100
commite9926f80c6553fde50ce1fcfd38d6370f841efd2 (patch)
tree438660d072ddb5f534995b256807a047e9ee187a
parent08f410834bffbe1e55633a0a4c87caba69d7fa92 (diff)
downloadgnu-guix-e9926f80c6553fde50ce1fcfd38d6370f841efd2.tar
gnu-guix-e9926f80c6553fde50ce1fcfd38d6370f841efd2.tar.gz
build: Binary tarball now populates the "current-guix" profile.
* Makefile.am (guix-binary.%.tar.xz): Pass '--profile-name=current-guix'. Remove glibc and glibc-utf8-locales. * doc/guix.texi (Binary Installation): Update accordingly. * etc/guix-install.sh * etc/guix-install.sh (sys_create_store, sys_enable_guix_daemon) (sys_authorize_build_farms): Likewise. * etc/guix-publish.conf.in, etc/guix-publish.service.in, etc/guix-daemon.conf.in, etc/guix-daemon.service.in: Update file names accordingly.
-rw-r--r--Makefile.am6
-rw-r--r--doc/guix.texi30
-rw-r--r--etc/guix-daemon.conf.in2
-rw-r--r--etc/guix-daemon.service.in4
-rwxr-xr-xetc/guix-install.sh21
-rw-r--r--etc/guix-publish.conf.in2
-rw-r--r--etc/guix-publish.service.in4
7 files changed, 37 insertions, 32 deletions
diff --git a/Makefile.am b/Makefile.am
index 70ec2e52ef..69e66fad75 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -601,13 +601,11 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-daemon \
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
-# The self-contained tarball. Add 'glibc-utf8-locales' along with glibc just
-# so 'etc/profile' defines 'GUIX_LOCPATH' pointing to a valid set of locales.
+# The self-contained tarball.
guix-binary.%.tar.xz:
$(AM_V_GEN)GUIX_PACKAGE_PATH= \
tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \
- -s "$*" --localstatedir guix glibc-utf8-locales \
- -e '(@@ (gnu packages commencement) glibc-final)'` ; \
+ -s "$*" --localstatedir --profile-name=current-guix guix` ; \
cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
diff --git a/doc/guix.texi b/doc/guix.texi
index 594aca731a..e783c16365 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -499,18 +499,20 @@ archive content is independent of its creation time, thus making it
reproducible.
@item
-Make @code{root}'s profile available under @file{~root/.guix-profile}:
+Make the profile available under @file{~root/.config/guix/current}, which is
+where @command{guix pull} will install updates (@pxref{Invoking guix pull}):
@example
-# ln -sf /var/guix/profiles/per-user/root/guix-profile \
- ~root/.guix-profile
+# mkdir -p ~root/.config/guix
+# ln -sf /var/guix/profiles/per-user/root/current-guix \
+ ~root/.config/guix/current
@end example
Source @file{etc/profile} to augment @code{PATH} and other relevant
environment variables:
@example
-# GUIX_PROFILE="`echo ~root`/.guix-profile" ; \
+# GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \
source $GUIX_PROFILE/etc/profile
@end example
@@ -532,8 +534,8 @@ with these commands:
@c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html
@example
-# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \
- /etc/systemd/system/
+# cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \
+ /etc/systemd/system/
# systemctl start guix-daemon && systemctl enable guix-daemon
@end example
@@ -541,14 +543,16 @@ If your host distro uses the Upstart init system:
@example
# initctl reload-configuration
-# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
+# cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \
+ /etc/init/
# start guix-daemon
@end example
Otherwise, you can still start the daemon manually with:
@example
-# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
+# ~root/.config/guix/current/bin/guix-daemon \
+ --build-users-group=guixbuild
@end example
@item
@@ -558,7 +562,7 @@ for instance with:
@example
# mkdir -p /usr/local/bin
# cd /usr/local/bin
-# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix
+# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
@end example
It is also a good idea to make the Info version of this manual available
@@ -567,7 +571,7 @@ there:
@example
# mkdir -p /usr/local/share/info
# cd /usr/local/share/info
-# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ;
+# for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ;
do ln -s $i ; done
@end example
@@ -582,7 +586,8 @@ To use substitutes from @code{hydra.gnu.org} or one of its mirrors
(@pxref{Substitutes}), authorize them:
@example
-# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub
+# guix archive --authorize < \
+ ~root/.config/guix/current/share/guix/hydra.gnu.org.pub
@end example
@item
@@ -616,7 +621,8 @@ make guix-binary.@var{system}.tar.xz
... which, in turn, runs:
@example
-guix pack -s @var{system} --localstatedir guix
+guix pack -s @var{system} --localstatedir \
+ --profile-name=current-guix guix
@end example
@xref{Invoking guix pack}, for more info on this handy tool.
diff --git a/etc/guix-daemon.conf.in b/etc/guix-daemon.conf.in
index 74706055f8..755192d555 100644
--- a/etc/guix-daemon.conf.in
+++ b/etc/guix-daemon.conf.in
@@ -7,4 +7,4 @@ start on runlevel [2345]
stop on runlevel [016]
-exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild
+exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in
index 988cf90c00..99ec7c48f8 100644
--- a/etc/guix-daemon.service.in
+++ b/etc/guix-daemon.service.in
@@ -6,8 +6,8 @@
Description=Build daemon for GNU Guix
[Service]
-ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild
-Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
+ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
+Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index ca6874ba0f..6a01e59723 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -269,12 +269,13 @@ sys_create_store()
fi
_msg "${INF}Linking the root user's profile"
- ln -sf /var/guix/profiles/per-user/root/guix-profile \
- "${ROOT_HOME}/.guix-profile"
+ mkdir -p "${ROOT_HOME}/.config/guix"
+ ln -sf /var/guix/profiles/per-user/root/current-guix \
+ "${ROOT_HOME}/.config/guix/current"
- GUIX_PROFILE="${ROOT_HOME}/.guix-profile"
+ GUIX_PROFILE="${ROOT_HOME}/.config/guix/current"
source "${GUIX_PROFILE}/etc/profile"
- _msg "${PAS}activated root profile at /root/.guix-profile"
+ _msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current"
}
sys_create_build_user()
@@ -317,18 +318,18 @@ sys_enable_guix_daemon()
info_path="/usr/local/share/info"
local_bin="/usr/local/bin"
- var_guix="/var/guix/profiles/per-user/root/guix-profile"
+ var_guix="/var/guix/profiles/per-user/root/current-guix"
case "$INIT_SYS" in
upstart)
{ initctl reload-configuration;
- cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \
+ cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
/etc/init/ &&
start guix-daemon; } &&
_msg "${PAS}enabled Guix daemon via upstart"
;;
systemd)
- { cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \
+ { cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \
/etc/systemd/system/;
chmod 664 /etc/systemd/system/guix-daemon.service;
systemctl daemon-reload &&
@@ -338,7 +339,7 @@ sys_enable_guix_daemon()
;;
NA|*)
_msg "${ERR}unsupported init system; run the daemon manually:"
- echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild"
+ echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
;;
esac
@@ -358,9 +359,9 @@ sys_authorize_build_farms()
while true; do
read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn
case $yn in
- [Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" &&
+ [Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" &&
_msg "${PAS}Authorized public key for hydra.gnu.org";
- guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" &&
+ guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/berlin.guixsd.org.pub" &&
_msg "${PAS}Authorized public key for berlin.guixsd.org";
break;;
[Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
diff --git a/etc/guix-publish.conf.in b/etc/guix-publish.conf.in
index 241c594559..7b319f66ae 100644
--- a/etc/guix-publish.conf.in
+++ b/etc/guix-publish.conf.in
@@ -9,4 +9,4 @@ stop on runlevel [016]
task
-exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181
+exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in
index 8aaf09e3cd..0526f97994 100644
--- a/etc/guix-publish.service.in
+++ b/etc/guix-publish.service.in
@@ -6,8 +6,8 @@
Description=Publish the GNU Guix store
[Service]
-ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181
-Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
+ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
+Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog