<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix.git/guix/build/activation.scm, branch master</title>
<subtitle>Personal branch of https://git.savannah.gnu.org/cgit/guix.git/ for implementing 'guix deploy'.
</subtitle>
<id>https://git.jakob.space/guix.git/atom?h=master</id>
<link rel='self' href='https://git.jakob.space/guix.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/'/>
<updated>2014-09-03T13:43:07Z</updated>
<entry>
<title>Move operating system helpers from (guix build …) to (gnu build …).</title>
<updated>2014-09-03T13:43:07Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-09-03T08:47:05Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=548f7a8fa2a4745d0e35e175e201513857440991'/>
<id>urn:sha1:548f7a8fa2a4745d0e35e175e201513857440991</id>
<content type='text'>
* guix/build/activation.scm, guix/build/install.scm,
  guix/build/linux-initrd.scm, guix/build/vm.scm: Move to...
* gnu/build: ... here.
* Makefile.am (MODULES): Remove the above guix/build/ files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files
  here.
* gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm,
  gnu/system/linux-initrd.scm, gnu/system/vm.scm,
  guix/scripts/system.scm: Adjust to the new module names.
</content>
</entry>
<entry>
<title>system: Add the 'system?' field for user groups.</title>
<updated>2014-07-24T22:12:35Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-07-24T22:12:35Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=c8fa34265d6612c99fe80adfaa66edaddd4d5b0c'/>
<id>urn:sha1:c8fa34265d6612c99fe80adfaa66edaddd4d5b0c</id>
<content type='text'>
Suggested by Mark H. Weaver.

* gnu/system/shadow.scm (&lt;user-group&gt;)[system?]: New field.
  (%base-groups): Introduce 'system-group' macro, and use it.
* gnu/system.scm (user-group-&gt;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.
</content>
</entry>
<entry>
<title>system: Add a 'system?' field to user accounts.</title>
<updated>2014-06-27T17:06:08Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-06-27T16:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=459dd9eaf2ded3bd5676af7e62892db2c7880758'/>
<id>urn:sha1:459dd9eaf2ded3bd5676af7e62892db2c7880758</id>
<content type='text'>
* gnu/system/shadow.scm (&lt;user-account&gt;)[system?]: New field.
* gnu/system.scm (user-account-&gt;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.
</content>
</entry>
<entry>
<title>activation: Preserve /etc/groups upon reboots.</title>
<updated>2014-06-26T22:12:40Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-06-26T21:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f01efec09a1eaa5308493eee830e827caf494eb4'/>
<id>urn:sha1:f01efec09a1eaa5308493eee830e827caf494eb4</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>activation: Only create groups that do not exist yet.</title>
<updated>2014-06-04T21:08:09Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-06-04T21:08:09Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=e2fcc23a3a562b9efa55530f442bba4bd0436d4f'/>
<id>urn:sha1:e2fcc23a3a562b9efa55530f442bba4bd0436d4f</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>system: Separate the activation script from the boot script.</title>
<updated>2014-05-24T16:10:05Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-05-24T13:51:57Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=484a2b3a5ac7337e5d3b8773f6ce8c356b72742b'/>
<id>urn:sha1:484a2b3a5ac7337e5d3b8773f6ce8c356b72742b</id>
<content type='text'>
* 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.
</content>
</entry>
<entry>
<title>system: Make /run/current-system at activation time.</title>
<updated>2014-05-17T22:04:01Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-05-17T15:39:30Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=b4140694aca6a717ec130e3788b9d877d1b1e534'/>
<id>urn:sha1:b4140694aca6a717ec130e3788b9d877d1b1e534</id>
<content type='text'>
* 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.
</content>
</entry>
<entry>
<title>activation: Silence warning from 'useradd'.</title>
<updated>2014-05-14T17:07:04Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-05-14T17:05:21Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=f3b692acdd6da6c6a660f3d1b8de79e7f6ca25c7'/>
<id>urn:sha1:f3b692acdd6da6c6a660f3d1b8de79e7f6ca25c7</id>
<content type='text'>
* guix/build/activation.scm (add-user): Don't pass '--create-home' when
  HOME already exists.
</content>
</entry>
<entry>
<title>system: Make accounts and groups at activation time.</title>
<updated>2014-05-11T20:41:58Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-05-11T20:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=ab6a279abbfa39b1e1bec0e363744d241972f844'/>
<id>urn:sha1:ab6a279abbfa39b1e1bec0e363744d241972f844</id>
<content type='text'>
* gnu/services/base.scm (guix-build-accounts): Remove #:gid parameter;
  add #:group.  Remove 'password' and 'gid' fields in 'user-account'
  form, and add 'group'.
  (guix-service): Remove #:build-user-gid parameter.  Remove 'id' field
  in 'user-group' form.
* gnu/system.scm (etc-directory): Remove #:groups and #:accounts.  No
  longer produce files "passwd", "shadow", and "group".  Adjust caller
  accordingly.
  (%root-account): New variable.
  (operating-system-accounts): Add 'users' variable.  Add %ROOT-ACCOUNT
  only of 'operating-system-users' doesn't already contain a root
  account.
  (user-group-&gt;gexp, user-account-&gt;gexp): New procedures.
  (operating-system-boot-script): Add calls to 'setenv' and
  'activate-users+groups' in gexp.
* gnu/system/linux.scm (base-pam-services): Add PAM services for
  "user{add,del,mode}" and "group{add,del,mod}".
* gnu/system/shadow.scm (&lt;user-account&gt;)[gid]: Rename to...
  [group]: ... this.
  [supplementary-groups]: New field.
  [uid, password]: Default to #f.
  (&lt;user-group&gt;)[id]: Default to #f.
  (group-file, passwd-file): Remove.
* gnu/system/vm.scm (operating-system-default-contents)[user-directories]:
  Remove.  Add "/home" to the directives.
* guix/build/activation.scm (add-group, add-user,
  activate-users+groups): New procedures.
</content>
</entry>
<entry>
<title>activation: Fix deletion of setuid programs.</title>
<updated>2014-05-03T22:18:46Z</updated>
<author>
<name>Ludovic Courtès</name>
</author>
<published>2014-05-03T22:18:46Z</published>
<link rel='alternate' type='text/html' href='https://git.jakob.space/guix.git/commit/?id=ad896f23a5fac38294e7515587c0c5bda02e9a59'/>
<id>urn:sha1:ad896f23a5fac38294e7515587c0c5bda02e9a59</id>
<content type='text'>
* guix/build/activation.scm (activate-setuid-programs): When
  %SETUID-DIRECTORY exists, pass the right file names to 'delete-file'.
</content>
</entry>
</feed>
