Commit graph

1776 commits

Author SHA1 Message Date
Eelco Dolstra 486714bfcc * Make the coverage report more concise.
svn path=/nixos/trunk/; revision=16926
2009-09-02 09:38:16 +00:00
Eelco Dolstra 0ca8c84618 svn path=/nixos/trunk/; revision=16924 2009-09-02 08:42:43 +00:00
Eelco Dolstra 137c5c65bd * Added a timeout for starting the VM. TODO: handle SIGCHLD from
qemu.
* Do the subversion test on i686-linux.  

svn path=/nixos/trunk/; revision=16923
2009-09-02 08:36:30 +00:00
Eelco Dolstra b1aa227cbd * Use -no-reboot, otherwise kernel panics cause QEMU to get into an
infinite loop trying to start the machine.

svn path=/nixos/trunk/; revision=16922
2009-09-02 07:52:36 +00:00
Eelco Dolstra 37134cf3af svn path=/nixos/trunk/; revision=16921 2009-09-02 06:45:50 +00:00
Eelco Dolstra e7acca2ba3 * Cleanup the kernel coverage analysis.
svn path=/nixos/trunk/; revision=16919
2009-09-01 22:50:46 +00:00
Eelco Dolstra 4d8d704fba * Run the subversion.nix test with coverage analysis on the kernel.
svn path=/nixos/trunk/; revision=16917
2009-09-01 22:22:45 +00:00
Eelco Dolstra 2c5599f59b * Urgh, cleanSource doesn't work on paths in the store. Looks like a
bug.

svn path=/nixos/trunk/; revision=16905
2009-08-31 15:12:42 +00:00
Eelco Dolstra 9359bf11d5 * Build the Subversion test in Hydra (as a regression test for NixOS).
* Pass the location to the services tree around instead of requiring
  it to be in ../services.

svn path=/nixos/trunk/; revision=16901
2009-08-31 14:56:19 +00:00
Eelco Dolstra a2945a2eb2 svn path=/nixos/trunk/; revision=16900 2009-08-31 14:26:31 +00:00
Eelco Dolstra 27a8e656bc * Stuff for automatic and manual testing of NixOS VMs.
lib/build-vms.nix contains a function `buildVirtualNetwork' that
  takes a specification of a network of machines (as an attribute set
  of NixOS machine configurations) and builds a script that starts
  each configuration in a separate QEMU/KVM VM and connects them
  together in a virtual network.  This script can be run manually to
  test the VMs interactively.  There is also a function `runTests'
  that starts and runs the virtual network in a derivation, and
  then executes a test specification that tells the VMs to do certain
  things (i.e., letting one VM send an HTTP request to a webserver on
  another VM).  The tests are written in Perl (for now).

  tests/subversion.nix shows a simple example, namely a network of two
  machines: a webserver that runs the Subversion subservice, and a
  client.  Apache, Subversion and a few other packages are built with
  coverage analysis instrumentation.  For instance,

    $ nix-build tests/subversion.nix -A vms
    $ ./result/bin/run-vms

  starts two QEMU/KVM instances.  When they have finished booting, the
  webserver can be accessed from the host through
  http://localhost:8081/.

  It also has a small test suite:

    $ nix-build tests/subversion.nix -A report

  This runs the VMs in a derivation, runs the tests, and then produces
  a distributed code coverage analysis report (i.e. it shows the
  combined coverage on both machines).

  The Perl test driver program is in lib/test-driver.  It executes
  commands on the guest machines by connecting to a root shell running
  on port 514 (provided by modules/testing/test-instrumentation.nix).

  The VMs are connected together in a virtual network using QEMU's
  multicast feature.  This isn't very secure.  At the very least,
  other processes on the same machine can listen to or send packets on
  the virtual network.  On the plus side, we don't need to be root to
  set up a multicast virtual network, so we can do it from a
  derivation.  Maybe we can use VDE instead.

  (Moved from the vario repository.)

svn path=/nixos/trunk/; revision=16899
2009-08-31 14:25:12 +00:00
Eelco Dolstra a7001d34d7 * Oops, didn't want to commit that.
svn path=/nixos/trunk/; revision=16898
2009-08-31 13:46:56 +00:00
Eelco Dolstra 921b838149 * test -> tests.
svn path=/nixos/trunk/; revision=16897
2009-08-31 13:40:57 +00:00
Sander van der Burg 4a0be54df0 Added subversion python modules to the PYTHONPATH
svn path=/nixos/trunk/; revision=16895
2009-08-30 19:45:15 +00:00
Sander van der Burg 8fd9fa36c4 Added an initial Trac subservice. Trac projects still have to be created by using the trac-admin tool
svn path=/nixos/trunk/; revision=16894
2009-08-30 19:11:47 +00:00
Eelco Dolstra 7f8272dd70 * Make the host filesystem writable for non-root. This is a temporary
hack to enable non-root processes to write coverage data.

svn path=/nixos/trunk/; revision=16891
2009-08-29 14:14:42 +00:00
Marc Weber 39e12e13c4 cupsd: add bindirCmds so that you can test other backends easier.
svn path=/nixos/trunk/; revision=16879
2009-08-27 23:16:09 +00:00
Eelco Dolstra 2892aed712 * lib/eval-config.nix: combined "configuration" and "extraModules"
into one argument "modules".
* release.nix: fixed the manual job.
* ISO generation: break an infinite recursion.  Don't know why this
  suddenly happens.  Probably because of the nixpkgs.config change,
  but I don't see why.  Maybe the option evaluation is too strict.

svn path=/nixos/trunk/; revision=16878
2009-08-27 11:57:43 +00:00
Eelco Dolstra 6f1b1aefde * Added an option `nixpkgs.config' that allows the Nixpkgs options to
be set from the NixOS configuration.  For instance, you can say

    nixpkgs.config.firefox.enableGeckoMediaPlayer = true;

    environment.systemPackages = [ pkgs.firefox ];

  but the more interesting application is to apply global overrides to
  Nixpkgs throughout NixOS, e.g.

    nixpkgs.config.packageOverrides = pkgs:
      { glibc = pkgs.glibc27;
        gcc = pkgs.gcc42;
      };

  would build the whole system with Glibc 2.7 and GCC 4.2.  (There are
  some issues with "useFromStdenv" in all-packages.nix that need to be
  fixed for packages in the stdenv bootstrap though.)

  The implementation of this option is kind of evil though due to the
  need to prevent a circularity between the evaluation of
  nixpkgs.config and the "pkgs" module argument.

svn path=/nixos/trunk/; revision=16866
2009-08-26 16:52:38 +00:00
Eelco Dolstra ff146aee08 svn path=/nixos/trunk/; revision=16843 2009-08-24 22:09:19 +00:00
Eelco Dolstra 8e6ad840f2 * Modularised the xinetd service. tftp has been factored out into a
separate module, which just declares a configuration value that
  causes the xinetd module to add it to xinetd.conf.  Also Nixified
  the service declarations to abstract over the inetd implementation.
  
* Renamed the services.xinetd.tftpd options to services.tftpd.  The
  fact that the tftpd module uses xinetd is an implementation detail.

* xinetd: use -dontfork to let Upstart monitor it, and use -syslog to
  get error messages at startup.

svn path=/nixos/trunk/; revision=16803
2009-08-21 13:05:45 +00:00
Eelco Dolstra fb730174a1 * Style change. Tried to have the kde4 module set a default for
services.xserver.desktopManager.default (so that the user doesn't
  have to) but it doesn't work yet.

svn path=/nixos/trunk/; revision=16800
2009-08-21 10:13:27 +00:00
Eelco Dolstra 4d72704d77 svn path=/nixos/trunk/; revision=16799 2009-08-21 09:11:33 +00:00
Eelco Dolstra f1035de47c * For the generation of manual / manpages, don't evaluate the option
declarations again (because we already have them).  This cuts
  evaluation time from 7.2s to 4.9s.

svn path=/nixos/trunk/; revision=16798
2009-08-21 09:08:55 +00:00
Eelco Dolstra b48a1c394b * Since atd forks into the background, it wasn't properly monitored by
Upstart.

svn path=/nixos/trunk/; revision=16795
2009-08-21 00:02:45 +00:00
Eelco Dolstra 44fb2e4ecd * Allow adding additional kernel parameters.
svn path=/nixos/trunk/; revision=16792
2009-08-20 23:20:19 +00:00
Eelco Dolstra ea6f6f3e41 * Remove empty directory.
svn path=/nixos/trunk/; revision=16787
2009-08-20 14:58:02 +00:00
Lluís Batlle i Rossell 8e3cf49667 removing an upstart-jobs reminiscency.
svn path=/nixos/trunk/; revision=16786
2009-08-19 20:29:58 +00:00
Lluís Batlle i Rossell 8db9b2ca54 Fixing a typo in nfs-kernel.nix (export -> exports)
svn path=/nixos/trunk/; revision=16785
2009-08-19 20:20:57 +00:00
Lluís Batlle i Rossell f250f69ee8 Adding xinetd with a possible tftpd server.
svn path=/nixos/trunk/; revision=16784
2009-08-19 20:20:51 +00:00
Lluís Batlle i Rossell 4e646bf39c Openchrome driver in xserver
svn path=/nixos/trunk/; revision=16783
2009-08-19 20:20:44 +00:00
Michael Raskin 769dc2f7e6 Write an explanation for a rule edit needed by LiveCD
svn path=/nixos/trunk/; revision=16774
2009-08-19 17:24:33 +00:00
Eelco Dolstra 11c603c3fb * Fix booting from CD. 60-persistent-storage.rules requires some
variables set by 60-cdrom_id.rules.

svn path=/nixos/trunk/; revision=16773
2009-08-19 16:48:28 +00:00
Nicolas Pierron 923f58794a Add --rollback option to nixos-rebuild.
svn path=/nixos/trunk/; revision=16771
2009-08-19 15:04:19 +00:00
Nicolas Pierron ce030d6c35 inherit eval to access option declarations from outside programs.
svn path=/nixos/trunk/; revision=16770
2009-08-19 15:04:11 +00:00
Nicolas Pierron 5980d130c9 Check sshd.permitRootLogin values.
svn path=/nixos/trunk/; revision=16769
2009-08-19 15:04:05 +00:00
Sander van der Burg 8b229a45c3 Removed the rm -rf command and replaced symlink operations by ln -sfn so that the state of tomcat can be retained \(unless somebody messes it up manually of course\)
svn path=/nixos/trunk/; revision=16757
2009-08-18 11:50:32 +00:00
Eelco Dolstra 447c1ac34a * SLiM / ConsoleKit compatibility hack.
svn path=/nixos/trunk/; revision=16744
2009-08-17 01:35:48 +00:00
Eelco Dolstra 7ab616f659 * Added support for ConsoleKit.
* Let ConsoleKit track the current logins instead of pam_console.
  Udev now takes care of setting the device permissions to the active
  user.  This works much better, since pam_console wouldn't apply
  permissions to new (hot-plugged) devices.  Also, the udev+ConsoleKit
  approach supports user switching.  (We don't have that for X yet,
  but it already works for logins on virtual consoles: if you switch
  between different users on differents VCs with Alt+Fn, the device
  ownership will be changed automatically.)

svn path=/nixos/trunk/; revision=16743
2009-08-17 01:16:38 +00:00
Eelco Dolstra ac24c7834d * A module for policy-kit (not enabled yet).
svn path=/nixos/trunk/; revision=16738
2009-08-16 21:48:46 +00:00
Eelco Dolstra 7dbf523ddc * dbus: enable support for system services (these are programs that
the bus daemon can start on demand).  ConsoleKit and PolicyKit need
  this.  This requires a setuid wrapper for dbus-daemon-launch-helper,
  as well as a "messagebus" group.

svn path=/nixos/trunk/; revision=16736
2009-08-16 21:46:26 +00:00
Eelco Dolstra 26439de75b * security.setuidPrograms: don't set the default in the "default"
mkOption argument, because then we lose them if somebody sets
  security.setuidPrograms somewhere else.  (Shouldn't "default" be
  merged as well?)

svn path=/nixos/trunk/; revision=16734
2009-08-16 21:11:04 +00:00
Eelco Dolstra dba1964122 * setuid-wrappers: support setting the mode. For instance, some
programs require that the mode is 4550 so that execution of the
  setuid program can be restricted to members of a group.
* setuid-wrappers: remove a race condition in the creation of the
  wrappers if the ownership or mode was different than root:root and
  4555.
* setuid-wrappers: allow the full path of the wrapped program to be
  specified, rather than looking it up in $PATH.

svn path=/nixos/trunk/; revision=16733
2009-08-16 17:24:59 +00:00
Eelco Dolstra f31e2718b7 * Print an error if the exec fails.
svn path=/nixos/trunk/; revision=16732
2009-08-16 16:46:00 +00:00
Eelco Dolstra 3b931f7861 * We still need /etc/pam.d/other to keep usermod happy.
svn path=/nixos/trunk/; revision=16731
2009-08-16 15:46:24 +00:00
Eelco Dolstra 2884c9a836 * Style change.
svn path=/nixos/trunk/; revision=16730
2009-08-16 14:54:31 +00:00
Eelco Dolstra 39bffdb34c * Make the generation of /etc/pam.d more declarative. There now is an
option security.pam.services containing the list of PAM services.
  For instance, the SLiM module simply declares:

    security.pam.services = [ { name = "slim"; localLogin = true; } ];

svn path=/nixos/trunk/; revision=16729
2009-08-16 14:49:14 +00:00
Eelco Dolstra 88c505c9e0 * make-etc.sh: fixed the duplicate entry check.
* Inlined make-etc.nix since it's a trivial function.

svn path=/nixos/trunk/; revision=16728
2009-08-16 13:14:33 +00:00
Eelco Dolstra 9493ecc2a4 * Use the hal-info package.
svn path=/nixos/trunk/; revision=16693
2009-08-11 21:16:59 +00:00
Eelco Dolstra dc093b57dd * Updates to the udev service: support persistant CD-ROM / network
interface names, use udev's own firmware loader, and dropped the
  sndMode option (udev puts all audio devices in the "audio" group, so
  users can be added to that group if necessary).

svn path=/nixos/trunk/; revision=16692
2009-08-11 21:16:15 +00:00