diff options
| -rw-r--r-- | Makefile.am | 6 | ||||
| -rw-r--r-- | doc/guix.texi | 30 | ||||
| -rw-r--r-- | etc/guix-daemon.conf.in | 2 | ||||
| -rw-r--r-- | etc/guix-daemon.service.in | 4 | ||||
| -rwxr-xr-x | etc/guix-install.sh | 21 | ||||
| -rw-r--r-- | etc/guix-publish.conf.in | 2 | ||||
| -rw-r--r-- | etc/guix-publish.service.in | 4 |
7 files changed, 37 insertions, 32 deletions
diff --git a/Makefile.am b/Makefile.am index 70ec2e52ef2..69e66fad75d 100644 --- a/Makefile.am +++ b/Makefile.am | |||
| @@ -601,13 +601,11 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ | |||
| 601 | --enable-daemon \ | 601 | --enable-daemon \ |
| 602 | ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" | 602 | ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" |
| 603 | 603 | ||
| 604 | # The self-contained tarball. Add 'glibc-utf8-locales' along with glibc just | 604 | # The self-contained tarball. |
| 605 | # so 'etc/profile' defines 'GUIX_LOCPATH' pointing to a valid set of locales. | ||
| 606 | guix-binary.%.tar.xz: | 605 | guix-binary.%.tar.xz: |
| 607 | $(AM_V_GEN)GUIX_PACKAGE_PATH= \ | 606 | $(AM_V_GEN)GUIX_PACKAGE_PATH= \ |
| 608 | tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ | 607 | tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ |
| 609 | -s "$*" --localstatedir guix glibc-utf8-locales \ | 608 | -s "$*" --localstatedir --profile-name=current-guix guix` ; \ |
| 610 | -e '(@@ (gnu packages commencement) glibc-final)'` ; \ | ||
| 611 | cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" | 609 | cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" |
| 612 | 610 | ||
| 613 | 611 | ||
diff --git a/doc/guix.texi b/doc/guix.texi index 594aca731a7..e783c163652 100644 --- a/doc/guix.texi +++ b/doc/guix.texi | |||
| @@ -499,18 +499,20 @@ archive content is independent of its creation time, thus making it | |||
| 499 | reproducible. | 499 | reproducible. |
| 500 | 500 | ||
| 501 | @item | 501 | @item |
| 502 | Make @code{root}'s profile available under @file{~root/.guix-profile}: | 502 | Make the profile available under @file{~root/.config/guix/current}, which is |
| 503 | where @command{guix pull} will install updates (@pxref{Invoking guix pull}): | ||
| 503 | 504 | ||
| 504 | @example | 505 | @example |
| 505 | # ln -sf /var/guix/profiles/per-user/root/guix-profile \ | 506 | # mkdir -p ~root/.config/guix |
| 506 | ~root/.guix-profile | 507 | # ln -sf /var/guix/profiles/per-user/root/current-guix \ |
| 508 | ~root/.config/guix/current | ||
| 507 | @end example | 509 | @end example |
| 508 | 510 | ||
| 509 | Source @file{etc/profile} to augment @code{PATH} and other relevant | 511 | Source @file{etc/profile} to augment @code{PATH} and other relevant |
| 510 | environment variables: | 512 | environment variables: |
| 511 | 513 | ||
| 512 | @example | 514 | @example |
| 513 | # GUIX_PROFILE="`echo ~root`/.guix-profile" ; \ | 515 | # GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \ |
| 514 | source $GUIX_PROFILE/etc/profile | 516 | source $GUIX_PROFILE/etc/profile |
| 515 | @end example | 517 | @end example |
| 516 | 518 | ||
| @@ -532,8 +534,8 @@ with these commands: | |||
| 532 | @c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html | 534 | @c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html |
| 533 | 535 | ||
| 534 | @example | 536 | @example |
| 535 | # cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \ | 537 | # cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \ |
| 536 | /etc/systemd/system/ | 538 | /etc/systemd/system/ |
| 537 | # systemctl start guix-daemon && systemctl enable guix-daemon | 539 | # systemctl start guix-daemon && systemctl enable guix-daemon |
| 538 | @end example | 540 | @end example |
| 539 | 541 | ||
| @@ -541,14 +543,16 @@ If your host distro uses the Upstart init system: | |||
| 541 | 543 | ||
| 542 | @example | 544 | @example |
| 543 | # initctl reload-configuration | 545 | # initctl reload-configuration |
| 544 | # cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/ | 546 | # cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \ |
| 547 | /etc/init/ | ||
| 545 | # start guix-daemon | 548 | # start guix-daemon |
| 546 | @end example | 549 | @end example |
| 547 | 550 | ||
| 548 | Otherwise, you can still start the daemon manually with: | 551 | Otherwise, you can still start the daemon manually with: |
| 549 | 552 | ||
| 550 | @example | 553 | @example |
| 551 | # ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild | 554 | # ~root/.config/guix/current/bin/guix-daemon \ |
| 555 | --build-users-group=guixbuild | ||
| 552 | @end example | 556 | @end example |
| 553 | 557 | ||
| 554 | @item | 558 | @item |
| @@ -558,7 +562,7 @@ for instance with: | |||
| 558 | @example | 562 | @example |
| 559 | # mkdir -p /usr/local/bin | 563 | # mkdir -p /usr/local/bin |
| 560 | # cd /usr/local/bin | 564 | # cd /usr/local/bin |
| 561 | # ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix | 565 | # ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix |
| 562 | @end example | 566 | @end example |
| 563 | 567 | ||
| 564 | It is also a good idea to make the Info version of this manual available | 568 | It is also a good idea to make the Info version of this manual available |
| @@ -567,7 +571,7 @@ there: | |||
| 567 | @example | 571 | @example |
| 568 | # mkdir -p /usr/local/share/info | 572 | # mkdir -p /usr/local/share/info |
| 569 | # cd /usr/local/share/info | 573 | # cd /usr/local/share/info |
| 570 | # for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ; | 574 | # for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ; |
| 571 | do ln -s $i ; done | 575 | do ln -s $i ; done |
| 572 | @end example | 576 | @end example |
| 573 | 577 | ||
| @@ -582,7 +586,8 @@ To use substitutes from @code{hydra.gnu.org} or one of its mirrors | |||
| 582 | (@pxref{Substitutes}), authorize them: | 586 | (@pxref{Substitutes}), authorize them: |
| 583 | 587 | ||
| 584 | @example | 588 | @example |
| 585 | # guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub | 589 | # guix archive --authorize < \ |
| 590 | ~root/.config/guix/current/share/guix/hydra.gnu.org.pub | ||
| 586 | @end example | 591 | @end example |
| 587 | 592 | ||
| 588 | @item | 593 | @item |
| @@ -616,7 +621,8 @@ make guix-binary.@var{system}.tar.xz | |||
| 616 | ... which, in turn, runs: | 621 | ... which, in turn, runs: |
| 617 | 622 | ||
| 618 | @example | 623 | @example |
| 619 | guix pack -s @var{system} --localstatedir guix | 624 | guix pack -s @var{system} --localstatedir \ |
| 625 | --profile-name=current-guix guix | ||
| 620 | @end example | 626 | @end example |
| 621 | 627 | ||
| 622 | @xref{Invoking guix pack}, for more info on this handy tool. | 628 | @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 74706055f8f..755192d5556 100644 --- a/etc/guix-daemon.conf.in +++ b/etc/guix-daemon.conf.in | |||
| @@ -7,4 +7,4 @@ start on runlevel [2345] | |||
| 7 | 7 | ||
| 8 | stop on runlevel [016] | 8 | stop on runlevel [016] |
| 9 | 9 | ||
| 10 | exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild | 10 | 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 988cf90c008..99ec7c48f8c 100644 --- a/etc/guix-daemon.service.in +++ b/etc/guix-daemon.service.in | |||
| @@ -6,8 +6,8 @@ | |||
| 6 | Description=Build daemon for GNU Guix | 6 | Description=Build daemon for GNU Guix |
| 7 | 7 | ||
| 8 | [Service] | 8 | [Service] |
| 9 | ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild | 9 | ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild |
| 10 | Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale | 10 | Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale |
| 11 | RemainAfterExit=yes | 11 | RemainAfterExit=yes |
| 12 | StandardOutput=syslog | 12 | StandardOutput=syslog |
| 13 | StandardError=syslog | 13 | StandardError=syslog |
diff --git a/etc/guix-install.sh b/etc/guix-install.sh index ca6874ba0f6..6a01e597237 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh | |||
| @@ -269,12 +269,13 @@ sys_create_store() | |||
| 269 | fi | 269 | fi |
| 270 | 270 | ||
| 271 | _msg "${INF}Linking the root user's profile" | 271 | _msg "${INF}Linking the root user's profile" |
| 272 | ln -sf /var/guix/profiles/per-user/root/guix-profile \ | 272 | mkdir -p "${ROOT_HOME}/.config/guix" |
| 273 | "${ROOT_HOME}/.guix-profile" | 273 | ln -sf /var/guix/profiles/per-user/root/current-guix \ |
| 274 | "${ROOT_HOME}/.config/guix/current" | ||
| 274 | 275 | ||
| 275 | GUIX_PROFILE="${ROOT_HOME}/.guix-profile" | 276 | GUIX_PROFILE="${ROOT_HOME}/.config/guix/current" |
| 276 | source "${GUIX_PROFILE}/etc/profile" | 277 | source "${GUIX_PROFILE}/etc/profile" |
| 277 | _msg "${PAS}activated root profile at /root/.guix-profile" | 278 | _msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current" |
| 278 | } | 279 | } |
| 279 | 280 | ||
| 280 | sys_create_build_user() | 281 | sys_create_build_user() |
| @@ -317,18 +318,18 @@ sys_enable_guix_daemon() | |||
| 317 | 318 | ||
| 318 | info_path="/usr/local/share/info" | 319 | info_path="/usr/local/share/info" |
| 319 | local_bin="/usr/local/bin" | 320 | local_bin="/usr/local/bin" |
| 320 | var_guix="/var/guix/profiles/per-user/root/guix-profile" | 321 | var_guix="/var/guix/profiles/per-user/root/current-guix" |
| 321 | 322 | ||
| 322 | case "$INIT_SYS" in | 323 | case "$INIT_SYS" in |
| 323 | upstart) | 324 | upstart) |
| 324 | { initctl reload-configuration; | 325 | { initctl reload-configuration; |
| 325 | cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \ | 326 | cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \ |
| 326 | /etc/init/ && | 327 | /etc/init/ && |
| 327 | start guix-daemon; } && | 328 | start guix-daemon; } && |
| 328 | _msg "${PAS}enabled Guix daemon via upstart" | 329 | _msg "${PAS}enabled Guix daemon via upstart" |
| 329 | ;; | 330 | ;; |
| 330 | systemd) | 331 | systemd) |
| 331 | { cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \ | 332 | { cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \ |
| 332 | /etc/systemd/system/; | 333 | /etc/systemd/system/; |
| 333 | chmod 664 /etc/systemd/system/guix-daemon.service; | 334 | chmod 664 /etc/systemd/system/guix-daemon.service; |
| 334 | systemctl daemon-reload && | 335 | systemctl daemon-reload && |
| @@ -338,7 +339,7 @@ sys_enable_guix_daemon() | |||
| 338 | ;; | 339 | ;; |
| 339 | NA|*) | 340 | NA|*) |
| 340 | _msg "${ERR}unsupported init system; run the daemon manually:" | 341 | _msg "${ERR}unsupported init system; run the daemon manually:" |
| 341 | echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild" | 342 | echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild" |
| 342 | ;; | 343 | ;; |
| 343 | esac | 344 | esac |
| 344 | 345 | ||
| @@ -358,9 +359,9 @@ sys_authorize_build_farms() | |||
| 358 | while true; do | 359 | while true; do |
| 359 | read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn | 360 | read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn |
| 360 | case $yn in | 361 | case $yn in |
| 361 | [Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" && | 362 | [Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" && |
| 362 | _msg "${PAS}Authorized public key for hydra.gnu.org"; | 363 | _msg "${PAS}Authorized public key for hydra.gnu.org"; |
| 363 | guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" && | 364 | guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/berlin.guixsd.org.pub" && |
| 364 | _msg "${PAS}Authorized public key for berlin.guixsd.org"; | 365 | _msg "${PAS}Authorized public key for berlin.guixsd.org"; |
| 365 | break;; | 366 | break;; |
| 366 | [Nn]*) _msg "${INF}Skipped authorizing build farm public keys" | 367 | [Nn]*) _msg "${INF}Skipped authorizing build farm public keys" |
diff --git a/etc/guix-publish.conf.in b/etc/guix-publish.conf.in index 241c5945595..7b319f66ae5 100644 --- a/etc/guix-publish.conf.in +++ b/etc/guix-publish.conf.in | |||
| @@ -9,4 +9,4 @@ stop on runlevel [016] | |||
| 9 | 9 | ||
| 10 | task | 10 | task |
| 11 | 11 | ||
| 12 | exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 | 12 | 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 8aaf09e3cdc..0526f979943 100644 --- a/etc/guix-publish.service.in +++ b/etc/guix-publish.service.in | |||
| @@ -6,8 +6,8 @@ | |||
| 6 | Description=Publish the GNU Guix store | 6 | Description=Publish the GNU Guix store |
| 7 | 7 | ||
| 8 | [Service] | 8 | [Service] |
| 9 | ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 | 9 | ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181 |
| 10 | Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale | 10 | Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale |
| 11 | RemainAfterExit=yes | 11 | RemainAfterExit=yes |
| 12 | StandardOutput=syslog | 12 | StandardOutput=syslog |
| 13 | StandardError=syslog | 13 | StandardError=syslog |
