summaryrefslogtreecommitdiff
path: root/gnu/build/accounts.scm
AgeCommit message (Collapse)Author
2019-06-05accounts: Call 'fdatasync' when writing databases.Ludovic Courtès
* gnu/build/accounts.scm (catch-ENOSYS): New macro. (database-writer): Call 'fdatasync'.
2019-06-05accounts: Close database before renaming it.Ludovic Courtès
Fixes <https://bugs.gnu.org/35996>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * gnu/build/accounts.scm (database-writer): Move 'close-port' call before 'rename-file'.
2019-06-05activation: Lock /etc/.pwd.lock before accessing databases.Ludovic Courtès
Suggested by Florian Pelz <pelzflorian@pelzflorian.de> in <http://bugs.gnu.org/35996>. * gnu/build/accounts.scm (%password-lock-file): New variable. * gnu/build/activation.scm (activate-users+groups): Wrap calls to 'user+group-databases', 'write-group', etc. into 'with-file-lock'.
2019-04-26accounts: Always honor the configured user account shell.Ludovic Courtès
Starting from commit 0ae735bcc8ff7fdc89d67b492bdee9091ee19e86, Guix System would preserve the user shell across reconfigure and reboot. This was done so as to allow for the use of 'chsh'. This proved to be a misguided decision. This commit goes back to considering user shells as config and not "state." * gnu/build/accounts.scm (allocate-passwd): Do not use shell from PREVIOUS.
2019-03-07Add (gnu build accounts).Ludovic Courtès
* gnu/build/accounts.scm, tests/accounts.scm: New files. * Makefile.am (SCM_TESTS): Add tests/accounts.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Add build/accounts.scm.