~ruther/guix-local

ref: 77b0ac905d461cee8585d00a0b82caacc99780ad guix-local/gnu/build/activation.scm -rw-r--r-- 10.6 KiB
e2b464b7 — Ludovic Courtès 11 years ago
activation: Ensure existing user accounts have the right settings.

* gnu/build/activation.scm (modify-user, ensure-user): New procedures.
  (activate-users+groups): Systematically call 'ensure-user'.
9fac9e3b — Mark H Weaver 11 years ago
Merge branch 'master' into core-updates

Conflicts:
	gnu-system.am
6d49355d — Ludovic Courtès 11 years ago
activation: Honor $GUIX_NEW_SYSTEM for use by 'guix system reconfigure'.

* gnu/build/activation.scm (activate-current-system): Honor
  $GUIX_NEW_SYSTEM by default.
* guix/scripts/system.scm (switch-to-system): Set $GUIX_NEW_SYSTEM
  before loading SCRIPT.
66ea98e3 — Mark H Weaver 11 years ago
Merge branch 'master' into core-updates

Conflicts:
	gnu/packages/image.scm
ee7bae3b — Ludovic Courtès 11 years ago
activation: Set the permissions of /etc/sudoers to 440.

* gnu/build/activation.scm (activate-etc): Move 'rm-f' to a local
  'define'.  When TARGET is "sudoers", make it 440.
ee248b6a — Ludovic Courtès 11 years ago
activation: Make the /bin/sh symlink at activation time.

* gnu/build/install.scm (directives): Remove "/bin/sh".
* gnu/build/activation.scm (activate-/bin/sh): New procedure.
* gnu/system.scm (operating-system-activation-script): Use it.
c6a0536d — Ludovic Courtès 11 years ago
activation: Make sure /etc/sudoers & co. are regular files.

Before that, 'sudo' would exit with:

  sudo: /etc/sudoers is not a regular file
  sudo: no valid sudoers sources found, quitting

* gnu/build/activation.scm (activate-etc): Check if SOURCE matches
  'file-is-directory?'.  If not, use 'copy-file' instead of 'symlink'.
286cacad — Ludovic Courtès 11 years ago
activation: Remove outdated comment.

* gnu/build/activation.scm (activate-etc): Remove outdated comment.
095f4deb — Ludovic Courtès 11 years ago
activation: Factorize the link-or-copy trick.

* gnu/build/activation.scm (link-or-copy): New procedure.
  (activate-setuid-programs): Use it.
e759c0a3 — Mark H Weaver 11 years ago
Merge branch 'master' into core-updates
33690ffd — Mark H Weaver 11 years ago
Merge branch 'master' into core-updates
c8fa3426 — Ludovic Courtès 11 years ago
system: Add the 'system?' field for user groups.

Suggested by Mark H. Weaver.

* gnu/system/shadow.scm (<user-group>)[system?]: New field.
  (%base-groups): Introduce 'system-group' macro, and use it.
* gnu/system.scm (user-group->gexp): Pass the 'system?' field.
* guix/build/activation.scm (add-group): Add #:system? and honor it.
  (activate-users+groups): Handle the 'system?' field.
* gnu/system/file-systems.scm (%tty-gid): Choose an ID below 1000.
* doc/guix.texi (User Accounts): Document the 'system?' field.
459dd9ea — Ludovic Courtès 11 years ago
system: Add a 'system?' field to user accounts.

* gnu/system/shadow.scm (<user-account>)[system?]: New field.
* gnu/system.scm (user-account->gexp): Add it.
* guix/build/activation.scm (add-user): Add #:system? parameter and
  honor it.
  (activate-users+groups): Handle the 'system?' part of user tuples.
  Pass it to 'add-user'.  Don't create PROFILE-DIR when SYSTEM? is
  true.
* gnu/services/dbus.scm (dbus-service): Add 'system?' field for
  "messagebus" account.
* gnu/services/base.scm (guix-build-accounts): Likewise.
* gnu/services/avahi.scm (avahi-service): Likewise.
f01efec0 — Ludovic Courtès 11 years ago
activation: Preserve /etc/groups upon reboots.

This is a followup to e2fcc23.  The /etc/group file would be cleared
when booting.

* guix/build/activation.scm (activate-users+groups)[touch]: Rewrite so
  it does not wipe out FILE's contents.
872c69d0 — Ludovic Courtès 11 years ago
Merge branch 'master' into core-updates
e2fcc23a — Ludovic Courtès 11 years ago
activation: Only create groups that do not exist yet.

Before that the effect would be to re-create groups at each boot, and
thus remove any members of the groups.

* guix/build/activation.scm (activate-users+groups): Call 'add-group'
  only when (getgrname name) fails.
af018f5e — Ludovic Courtès 12 years ago
Merge branch 'master' into core-updates
484a2b3a — Ludovic Courtès 12 years ago
system: Separate the activation script from the boot script.

* gnu/system.scm (operating-system-activation-script): New procedure,
  containing most of the former 'operating-system-boot-script'.
  (operating-system-boot-script): Call it, and 'primitive-load' its
  result.
* guix/build/activation.scm (%booted-system): Remove.
  (activate-current-system): Remove #:boot? parameter and related code.
b4140694 — Ludovic Courtès 12 years ago
system: Make /run/current-system at activation time.

* gnu/system.scm (etc-directory): Change default value of #:profile.
  Change contents of SHELLS.  Use /run/current-system/profile/{s,}bin in
  BASHRC.
  (operating-system-boot-script)[%modules]: Add (guix build
  linux-initrd).  Add call to 'activate-current-system' in gexp.
  (operating-system-initrd-file, operating-system-grub.cfg): New
  procedures.
  (operating-system-derivation): Don't build grub.cfg here and remove it
  from the file union.
* gnu/system/vm.scm (qemu-image): Remove #:populate.
  (operating-system-build-gid, operating-system-default-contents):
  Remove.
  (system-qemu-image): Remove call to
  'operating-system-default-contents'.  Use 'operating-system-grub.cfg'
  to get grub.cfg.  Add GRUB.CFG to #:inputs.
  (system-qemu-image/shared-store): Likewise, but don't add GRUB.CFG to
  #:inputs.
  (system-qemu-image/shared-store-script): Pass --system kernel option.
* guix/build/activation.scm (%booted-system, %current-system): New
  variables.
  (boot-time-system, activate-current-system): New procedures.
* guix/build/install.scm (evaluate-populate-directive): Add case
  for ('directory name uid gid mode).
  (directives, populate-root-file-system): New procedures.
* guix/build/vm.scm (initialize-hard-disk): Replace calls to
  'evaluate-populate-directive' by a call to
  'populate-root-file-system'.
* gnu/services/dmd.scm (dmd-configuration-file): Use
  /run/current-system/profile/bin.
* gnu/services/xorg.scm (slim-service): Likewise.
f3b692ac — Ludovic Courtès 12 years ago
activation: Silence warning from 'useradd'.

* guix/build/activation.scm (add-user): Don't pass '--create-home' when
  HOME already exists.
Next