Ludovic Courtès
ab6a279abb
system: Make accounts and groups at activation time.
...
* 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->gexp, user-account->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 (<user-account>)[gid]: Rename to...
[group]: ... this.
[supplementary-groups]: New field.
[uid, password]: Default to #f.
(<user-group>)[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.
2014-05-11 22:41:58 +02:00
Ludovic Courtès
696893801c
system: Add 'sudo' to the setuid programs, and handle /etc/sudoers.
...
* gnu/system.scm (<operating-system>)[groups]: Change default to just
the 'root' group.
[sudoers]: New field.
(etc-directory): Add #:sudoers parameter. Add 'sudoers' to the
file union.
(operating-system-etc-directory): Pass #:sudoers to 'etc-directory'.
(%setuid-programs): Add 'sudo'.
(%sudoers-specification): New variable.
* gnu/system/linux.scm (base-pam-services): Add 'sudo'.
* build-aux/hydra/demo-os.scm: Add 'groups' field; add 'guest' to the
'wheel' group.
2014-05-01 22:31:36 +02:00
Ludovic Courtès
09e028f45f
system: Add support for setuid binaries.
...
* gnu/system.scm (<operating-system>)[pam-services, setuid-programs]:
New fields.
(etc-directory)[bashrc]: Prepend /run/setuid-programs to $PATH.
(operating-system-etc-directory): Honor
'operating-system-pam-services'.
(%setuid-programs): New variable.
(operating-system-boot-script): Add (guix build utils) to the set of
imported modules. Call 'activate-setuid-programs' in boot script.
* gnu/system/linux.scm (base-pam-services): New procedure.
* guix/build/activation.scm (%setuid-directory): New variable.
(activate-setuid-programs): New procedure.
* build-aux/hydra/demo-os.scm: Add 'pam-services' field.
2014-04-30 23:16:23 +02:00
Ludovic Courtès
616d9e1d2c
hydra: Specify the image size of the QEMU image.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs): Specify
#:disk-image-size.
2014-04-11 19:08:25 +02:00
Ludovic Courtès
e5c88dd739
hydra: Make demo OS smaller.
...
* build-aux/hydra/demo-os.scm: Replace Emacs with Zile. Enable
auto-login as "guest". This is the configuration used for the Guix
0.6 VM image.
2014-04-09 20:54:10 +02:00
Ludovic Courtès
0ec6237b2e
hydra: qemu-jobs: Return a derivation file name, not a derivation.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs)[->alist]: Return the
derivation file name, not the derivation.
2014-04-06 21:18:13 +02:00
Ludovic Courtès
1b282ea849
hydra: Change 'qemu-jobs' to return name/thunk pairs.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs)[->job]: Change the cdr to a
thunk.
2014-04-05 22:57:06 +02:00
Ludovic Courtès
731b996255
hydra: Add 'qemu-image' job.
...
* build-aux/hydra/demo-os.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): New procedure.
(hydra-jobs): Use it.
* guix/scripts/system.scm (read-operating-system): Export.
2014-04-05 22:40:16 +02:00
Ludovic Courtès
1971737f2b
hydra: Hard-code target systems.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Define locally,
independently of ARGUMENTS. This matches the new Hydra convention,
where using a 'system' input is deprecated.
2014-03-25 18:57:07 +01:00
Ludovic Courtès
d452b595f9
hydra: Fix typo in core package list.
...
* build-aux/hydra/gnu-system.scm: Use (gnu packages gcc).
(%core-packages): Remove nonexistent 'gcc'; add GCC-4.8 and GCC-4.7.
2014-03-25 13:57:51 +01:00
Ludovic Courtès
e795890212
hydra: Remove cross-builds from i686-linux to mips64el-linux-gnuabi64.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Define
'from-32-to-64?'. Filter out %CROSS-TARGETS that match.
2014-03-25 13:55:56 +01:00
Ludovic Courtès
707c8b2ca7
hydra: Build GCC and glibc, not their '-final' variant.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Replace GCC-FINAL and
GLIBC-FINAL with GCC and GLIBC.
2014-03-25 13:40:27 +01:00
Ludovic Courtès
829ecd002e
Merge branch 'master' into core-updates
...
Conflicts:
gnu/packages/libwebsockets.scm
2014-02-27 23:49:30 +01:00
Ludovic Courtès
65f7c35d02
hydra: Set the default absolute build timeout to 20h.
...
* build-aux/hydra/gnu-system.scm (package->alist): Add 'timeout' item.
2014-02-27 22:24:02 +01:00
Ludovic Courtès
200a97e64f
Merge branch 'master' into core-updates
2014-01-25 17:07:21 +01:00
Ludovic Courtès
a8bcd6eb6f
hydra: Add debugging for the Guix job set.
...
* build-aux/hydra/guix.scm: Set '%load-verbosely'.
2014-01-18 14:41:58 +01:00
Ludovic Courtès
1731596792
hydra: Add GCC, Binutils, and libc to the core package set.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Add GCC-FINAL,
GLIBC-FINAL, and BINUTILS.
2014-01-11 11:47:38 +01:00
Ludovic Courtès
dfb74e50b7
hydra: Add zlib, gzip, and xz to the core package set.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Add zlib, gzip, and xz.
2013-12-10 13:56:26 +01:00
Ludovic Courtès
a2b154d7cb
hydra: Adjust to gettext package rename.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Change 'gettext' to
'gnu-gettext'.
2013-11-20 23:55:38 +01:00
Ludovic Courtès
72d9148fbf
hydra: Pass the directory name of the Nix checkout.
...
* build-aux/hydra/guix.scm (hydra-jobs): Extract the 'file-name' item
from NIX-CHECKOUT, and pass that to 'tarball-package'.
2013-09-18 23:07:45 +02:00
Ludovic Courtès
1210c32ecc
hydra: Fix typo.
...
* build-aux/hydra/guix.scm (tarball-package): Unquote 'nix-checkout'.
2013-09-18 20:58:49 +02:00
Ludovic Courtès
97d010b7f8
hydra: Add missing import.
...
* build-aux/hydra/gnu-system.scm, build-aux/hydra/guix.scm: Use (guix
derivations).
2013-09-18 20:49:47 +02:00
Ludovic Courtès
3301f17970
hydra: Return the .drv file names, not the <derivation> objects.
...
* build-aux/hydra/gnu-system.scm (package->alist): Call
'derivation-file-name' on the result of 'package-derivation'.
* build-aux/hydra/guix.scm (package->alist): Likewise.
2013-09-18 19:37:50 +02:00
Ludovic Courtès
37c0ce3d27
hydra: Point the Git submodule to our local copy.
...
* build-aux/hydra/guix.scm (tarball-package): Add 'nix-checkout'
parameter. Replace 'patch-bootstrap-script' phase by
'set-nix-module'.
(hydra-jobs): Get the 'nix' value from ARGUMENTS, and pass it to
'tarball-package'.
2013-09-18 19:00:13 +02:00
Ludovic Courtès
6bf25b7b05
hydra: Support a 'subset' argument.
...
* build-aux/hydra/gnu-system.scm (%core-packages): New variable.
(%packages-to-cross-build): Make an alias for %CORE-PACKAGES.
(hydra-jobs): Check for the 'subset' argument, and honor it for values
"all" and "core".
2013-09-08 12:10:25 +02:00
Ludovic Courtès
0280ef2203
hydra: Add Graphviz as an input to the "tarball" job.
...
* build-aux/hydra/guix.scm (tarball-package): Add GRAPHVIZ to
`native-inputs'.
2013-09-03 22:21:48 +02:00
Ludovic Courtès
7eed1d0438
hydra: Add Git as an input to the "tarball" job.
...
* build-aux/hydra/guix.scm (tarball-package): Add `native-inputs' field.
2013-09-03 22:07:21 +02:00
Ludovic Courtès
ef4eca529b
hydra: Comment out all Git invocations in `bootstrap'.
...
* build-aux/hydra/guix.scm (tarball-package): Comment out all `git'
invocations.
2013-08-25 20:37:59 +02:00
Ludovic Courtès
d29aa3b5a3
hydra: Add missing import.
...
* build-aux/hydra/guix.scm: Use (srfi srfi-26).
2013-08-25 18:58:15 +02:00
Ludovic Courtès
6ad507ae54
hydra: Return a symbol/thunk pair.
...
* build-aux/hydra/guix.scm (hydra-jobs): Return a symbol/thunk pair.
2013-08-25 16:48:10 +02:00
Ludovic Courtès
f29f066439
hydra: Extract the actual file name from the Guix checkout.
...
* build-aux/hydra/guix.scm (hydra-jobs): Extract the `file-name' part of
CHECKOUT.
2013-08-24 18:24:17 +02:00
Ludovic Courtès
59e6ae6cf1
hydra: Add job to run "make distcheck" on Guix.
...
* build-aux/hydra/guix.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2013-08-24 17:30:32 +02:00
Ludovic Courtès
4ec09bb410
hydra: Fix typo.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use `cons', not `append'.
2013-07-16 15:27:15 +02:00
Ludovic Courtès
77bed84246
hydra: Build for all the specified systems.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs): Pick all the `system'
keys in ARGUMENTS.
[cross-jobs]: Turn into a procedure, with a `system' parameter.
Build packages for all of SYSTEMS and %CROSS-TARGETS.
2013-07-16 13:42:34 +02:00
Ludovic Courtès
195e81aa52
hydra: Distinguish between jobs for different system types.
...
* build-aux/hydra/gnu-system.scm (package-job, package-cross-job):
Append `.SYSTEM' to the job name.
2013-07-16 09:59:25 +02:00
Ludovic Courtès
4b7f3407e9
hydra: Honor the `system' argument.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs): Really look up the
`system' symbol in ARGUMENTS.
2013-07-16 09:47:48 +02:00
Ludovic Courtès
58ab9f9b8e
build: Add "mips64el-linux-gnuabi64" as a cross build target.
...
* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Add
%bootstrap-tarballs.
(%cross-targets): Add "mips64el-linux-gnuabi64".
2013-06-26 22:41:09 +02:00
Ludovic Courtès
9306d350b2
build: Build the bootstrap tarballs on Hydra.
...
* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Uncomment
the bootstrap tarball packages.
2013-06-25 23:45:34 +02:00
Ludovic Courtès
f3211ef386
build: Move Hydra recipe to build-aux/hydra.
...
* hydra.scm: Rename to...
* build-aux/hydra/gnu-system.scm: ... this.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
2013-06-20 23:41:31 +02:00