summaryrefslogtreecommitdiff
path: root/gnu/build/accounts.scm
Commit message (Collapse)AuthorAge
* accounts: Delete duplicate entries.Ludovic Courtès2019-08-28
| | | | | | | | | | When adding multiple instances of a service requiring some user account/group, we could end up with multiple entries for that account or group in /etc/passwd or /etc/group. * gnu/build/accounts.scm (database-writer)[write-entries]: Add call to 'delete-duplicates'. * tests/accounts.scm ("write-passwd with duplicate entry"): New test.
* accounts: Use 'fsync' instead of 'fdatasync'.Ludovic Courtès2019-06-27
| | | | | * gnu/build/accounts.scm (catch-ENOSYS): Remove. (database-writer): Use 'fsync' instead of 'fdatasync'.
* accounts: Call 'fdatasync' when writing databases.Ludovic Courtès2019-06-05
| | | | | * gnu/build/accounts.scm (catch-ENOSYS): New macro. (database-writer): Call 'fdatasync'.
* accounts: Close database before renaming it.Ludovic Courtès2019-06-05
| | | | | | | | 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'.
* activation: Lock /etc/.pwd.lock before accessing databases.Ludovic Courtès2019-06-05
| | | | | | | | | 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'.
* accounts: Always honor the configured user account shell.Ludovic Courtès2019-04-26
| | | | | | | | | | | | 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.
* Add (gnu build accounts).Ludovic Courtès2019-03-07
* 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.