summary refs log tree commit diff
path: root/nixos
Commit message (Collapse)AuthorAge
* transmission service: fix libcap lib output referenceJoachim Fasting2016-05-07
| | | | After 7382afac40c23841e5d6a491bd4a9412d766ecab
* apparmor-suid module: fix libcap lib output referenceJoachim Fasting2016-05-07
| | | | After 7382afac40c23841e5d6a491bd4a9412d766ecab
* ec2/create-amis.sh: specify the approriate size on snapshotsobadz2016-05-07
| | | | Should help with #15148
* dnscrypt-proxy service: fix libcap output referenceJoachim Fasting2016-05-07
| | | | | After 7382afac40c23841e5d6a491bd4a9412d766ecab shared objects are in `libcap.lib`
* Merge pull request #15243 from sindikat/patch-1Joachim Fasting2016-05-07
|\ | | | | update docs for services.dictd.* config options
| * update docs for services.dictd.* config optionsMirzhan Irkegulov2016-05-05
| | | | | | added types for both options and an example for services.dictd.DBs
* | initrd-ssh service: fix buildNikolay Amiantov2016-05-07
| |
* | ejabberd service: add image thumbnailing supportNikolay Amiantov2016-05-07
| |
* | nixos/tests/boot-stage1: Add myself to maintainersaszlig2016-05-06
| | | | | | | | | | | | | | | | | | | | | | | | As @edolstra pointed out that the kernel module might be painful to maintain. I strongly disagree because it's only a small module and it's good to have such a canary in the tests no matter how the bootup process looks like, so I'm going the masochistic route and try to maintain it. If it *really* becomes too much maintenance burden, we can still drop or disable kcanary. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | nixos/release-combined: Add boot-stage1 testaszlig2016-05-06
| | | | | | | | | | | | | | | | We don't want to push out a channel update whenever this test fails, because that might have unexpected and confused side effects and it *really* means that stage 1 of our boot up is broken. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | nixos/tests: Add a test for boot stage 1aszlig2016-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have a small regression test for #15226 within the swraid installer test. Unfortunately, we only check there whether the md kthread got signalled but not whether other rampaging processes are still alive that *should* have been killed. So in order to do this we provide multiple canary processes which are checked after the system has booted up: * canary1: It's a simple forking daemon which just sleeps until it's going to be killed. Of course we expect this process to not be alive anymore after boot up. * canary2: Similar to canary1, but tries to mimick a kthread to make sure that it's going to be properly killed at the end of stage 1. * canary3: Like canary2, but this time using a @ in front of its command name to actually prevent it from being killed. * kcanary: This one is a real kthread and it runs until killed, which shouldn't be the case. Tested with and without 67223ee and everything works as expected, at least on my machine. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | nixos/tests/installer/swraid: Check for safemodeaszlig2016-05-06
| | | | | | | | | | | | | | | | This is a regression test for #15226, so that the test will fail once we accidentally kill one or more of the md kthreads (aka: if safe mode is enabled). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | nixos/stage-1: Don't kill kernel threadsaszlig2016-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, pkill doesn't distinguish between kernel and user space processes, so we need to make sure we don't accidentally kill kernel threads. Normally, a kernel thread ignores all signals, but there are a few that do. A quick grep on the kernel source tree (as of kernel 4.6.0) shows the following source files which use allow_signal(): drivers/isdn/mISDN/l1oip_core.c drivers/md/md.c drivers/misc/mic/cosm/cosm_scif_server.c drivers/misc/mic/cosm_client/cosm_scif_client.c drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c drivers/staging/rtl8188eu/core/rtw_cmd.c drivers/staging/rtl8712/rtl8712_cmd.c drivers/target/iscsi/iscsi_target.c drivers/target/iscsi/iscsi_target_login.c drivers/target/iscsi/iscsi_target_nego.c drivers/usb/atm/usbatm.c drivers/usb/gadget/function/f_mass_storage.c fs/jffs2/background.c fs/lockd/clntlock.c fs/lockd/svc.c fs/nfs/nfs4state.c fs/nfsd/nfssvc.c While not all of these are necessarily kthreads and some functionality may still be unimpeded, it's still quite harmful and can cause unexpected side-effects, especially because some of these kthreads are storage-related (which we obviously don't want to kill during bootup). During discussion at #15226, @dezgeg suggested the following implementation: for pid in $(pgrep -v -f '@'); do if [ "$(cat /proc/$pid/cmdline)" != "" ]; then kill -9 "$pid" fi done This has a few downsides: * User space processes which use an empty string in their command line won't be killed. * It results in errors during bootup because some shell-related processes are already terminated (maybe it's pgrep itself, haven't checked). * The @ is searched within the full command line, not just at the beginning of the string. Of course, we already had this until now, so it's not a problem of his implementation. I posted an alternative implementation which doesn't suffer from the first point, but even that one wasn't sufficient: for pid in $(pgrep -v -f '^@'); do readlink "/proc/$pid/exe" &> /dev/null || continue echo "$pid" done | xargs kill -9 This one spawns a subshell, which would be included in the processes to kill and actually kills itself during the process. So what we have now is even checking whether the shell process itself is in the list to kill and avoids killing it just to be sure. Also, we don't spawn a subshell anymore and use /proc/$pid/exe to distinguish between user space and kernel processes like in the comments of the following StackOverflow answer: http://stackoverflow.com/a/12231039 We don't need to take care of terminating processes, because what we actually want IS to terminate the processes. The only point where this (and any previous) approach falls short if we have processes that act like fork bombs, because they might spawn additional processes between the pgrep and the killing. We can only address this with process/control groups and this still won't save us because the root user can escape from that as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Fixes: #15226
* | Fixing nfsd service, wait on local-fs.Lluís Batlle i Rossell2016-05-06
| | | | | | | | | | Otherwise, mountd was started exporting directories before local-fs was ready, and it failed to start nfsd on missing fs.
* | tested job: fix evaluation of chromium testsVladimír Čunát2016-05-06
| | | | | | | | | | It's a bit inconsistent now, but I want mainly unblock the channel. /cc maintainer @aszlig.
* | nixos: remove redundant services.dovecot2.package optionPeter Simons2016-05-06
| | | | | | | | | | | | | | | | | | | | | | Instead of using this option, please modify the dovecot package by means of an override. For example: nixpkgs.config.packageOverrides = super: { dovecot = super.dovecot.override { withPgSQL = true; }; }; Closes https://github.com/NixOS/nixpkgs/issues/14097.
* | Merge branch 'pr/14911'zimbatm2016-05-05
|\ \
| * | open-vm-tools: fixes host VMware errorsJoaquim Pedro França Simão2016-05-05
| | |
* | | Merge pull request #14957 from dezgeg/gummiboot-testzimbatm2016-05-05
|\ \ \ | |_|/ |/| | NixOS installer tests: Add a test using Gummiboot
| * | NixOS installer tests: Add a test using GummibootTuomas Tynkkynen2016-04-24
| | | | | | | | | | | | Issue #14956
* | | factorio: module fixesEric Litak2016-05-05
| | |
* | | Merge pull request #15018 from ericsagnes/pkg-fix/phpJoachim Fasting2016-05-05
|\ \ \ | | | | | | | | php: add default php.ini
| * | | php: add default php.iniEric Sagnes2016-04-29
| | | |
* | | | Merge pull request #15228 from rnhmjoj/masterJoachim Fasting2016-05-05
|\ \ \ \ | | | | | | | | | | unclutter: switch to user service and add options
| * | | | unclutter: switch to user service and add optionsrnhmjoj2016-05-04
| | | | |
* | | | | release-combined.nix: More Chromium test evaluation fixesTuomas Tynkkynen2016-05-05
| | | | | | | | | | | | | | | | | | | | Follow-up to f35e9386bd7e.
* | | | | nixos/tests/containers: Remove unused module argaszlig2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just removing the system argument because it doesn't exist (it's actually config.nixpkgs.system, which we're already using). We won't get an error anyway if we're not actually using it, so this is just an aesthetics fix. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | | | | nixos/tests/containers-imperative: Fix testaszlig2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that we always have everything available within the store of the VM, so let's evaluate/build the test container fully on the host system and propagate all dependencies to the VM. This way, even if there are additional default dependencies that come with containers in the future we should be on the safe side as these dependencies should now be included for the test as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @kampfschlaefer, @edolstra
* | | | | nixos/tests/chromium: Re-add map for all channelsaszlig2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts f2d24b98408b48c2179b131fa4c3700dc41f5b52. Instead of disabling the channels via removing the channel mapping from the tests themselves, let's just explicitly reference the stable test in release.nix. That way it's still possible to run the beta and dev tests via something like "nix-build nixos/tests/chromium.nix -A beta" and achieve the same effect of not building beta and dev versions on Hydra. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | | | | chromium: Disable Hydra builds of -dev and -betaEelco Dolstra2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not the job of Nixpkgs to distribute beta versions of upstream packages. More importantly, building these delays channel updates by several hours, which is bad for our security fix turnaround time.
* | | | | Merge pull request #15200 from Pleune/fix/bspwm-java-noreparentingJoachim Fasting2016-05-04
|\ \ \ \ \ | | | | | | | | | | | | bspwm: add _JAVA_AWT_WM_NONREPARENTING=1
| * | | | | bspwm: add _JAVA_AWT_WM_NONREPARENTING=1Mitchell Pleune2016-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bspwm is not in java's internal list of non-reparrenting window managers. See https://awesomewm.org/wiki/Problems_with_Java
* | | | | | grsecurity: support disabling TCP simultaneous connectJoachim Fasting2016-05-04
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Defaults to OFF because disabling TCP simultaneous connect breaks some legitimate use cases, notably WebRTC [1], but it's nice to provide the option for deployments where those features are unneeded anyway. This is an alternative to https://github.com/NixOS/nixpkgs/pull/4937 [1]: http://article.gmane.org/gmane.linux.documentation/9425
* | | | | jenkins service: improve curl call in postStartBjørn Forsman2016-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Perform HTTP HEAD request instead of full GET (lighter weight) * Don't log output of curl to the journal (it's noise/debug) * Use explicit http:// URL scheme * Reduce poll interval from 10s to 2s (respond to state changes quicker). Probably not relevant on boot (lots of services compete for the CPU), but online service restarts/reloads should be quicker. * Pass --fail to curl (should be more robust against false positives) * Use 4 space indent for shell code.
* | | | | jenkins service: remove unneeded (and brittle) part of postStartBjørn Forsman2016-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current postStart code holds Jenkins off the "started" state until Jenkins becomes idle. But it should be enough to wait until Jenkins start handling HTTP requests to consider it "started". More reasons why the current approach is bad and we should remove it, from @coreyoconnor in https://github.com/NixOS/nixpkgs/issues/14991#issuecomment-216572571: 1. Repeatedly curling for a specific human-readable string to determine "Active" is fragile. For instance, what happens when jenkins is localized? 2. The time jenkins takes to initializes is variable. This (at least used to) depend on the number of jobs and any plugin upgrades requested. 3. Jenkins can be requested to restart from the UI. Which will not affect the status of the service. This means that the service being "active" does not imply jenkins is initialized. Downstream services cannot assume jenkins is initialized if the service is active. Might as well accept that and remove the initialized test from service startup. Fixes #14991.
* | | | | nixos/tests/netboot: Fix evaluation erroraszlig2016-05-03
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression introduced by dfe608c8a2ecfdf0ab2838a967440207250a0b95. The commit turns the two arguments into one attrset argument so we need to adapt that to use the new calling convention. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* | | | Merge #15105: nixos manual: rephrase indented stringsVladimír Čunát2016-05-02
|\ \ \ \
| * | | | Manual: rephrase definition for indented stringsiarizc Leuname2016-04-30
| | | | | | | | | | | | | | | | | | | | Closes #15076
* | | | | grsecurity module: fix grsec-lock unit orderingJoachim Fasting2016-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | Requirement without ordering implies parallel execution; it is crucial that sysctl tunables are finalized before the lock is engaged, however.
* | | | | Merge pull request #14700: olinks for NixOS manualaszlig2016-05-02
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to use <olink> tags inside NixOS options to reference sections from the manual. I've originally introduced it in #14476 to reference the Taskserver specific documentation from the options reference but as suggested by @nbp, this was done as a separate pull request to ensure greater visibility rather than being "hidden" in the Taskserver branch. The build time for the manual is around 30s on my machine without this change and 34s with this change, so it shouldn't have a very big impact on the build time of the manual. Olinks between the options reference and the manual now will look like this: "More instructions about NixOS in conjuction with Taskserver can be found in the NixOS manual at Chapter 15, Taskserver." More documentation about olinks can be found here: http://www.sagehill.net/docbookxsl/Olinking.html Acked-by: Eelco Dolstra <eelco.dolstra@logicblox.com>
| * | | | | nixos/doc: Allow refs from options to the manualaszlig2016-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My first attempt to do this was to just use a conditional <refsection/> in order to not create exact references in the manpage but create the reference in the HTML manual, as suggested by @edolstra on IRC. Later I went on to use <olink/> to reference sections of the manual, but in order to do that, we need to overhaul how we generate the manual and manpages. So, that's where we are now: There is a new derivation called "manual-olinkdb", which is the olinkdb for the HTML manual, which in turn creates the olinkdb.xml file and the manual.db. The former contains the targetdoc references and the latter the specific targetptr elements. The reason why I included the olinkdb.xml verbatim is that first of all the DTD is dependent on the Docbook XSL sources and the references within the olinkdb.xml entities are relative to the current directory. So using a store path for that would end up searching for the manual.db directly in /nix/store/manual.db. Unfortunately, the <olinks/> that end up in the output file are relative, so for example if you're clicking on one of these within the PDF, the URL is searched in the current directory. However, the sections from the olink's text are still valid, so we could use an alternative URL for that in the future. The manual doesn't contain any links, so even referencing the relative URL shouldn't do any harm. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @edolstra
* | | | | | Merge pull request #15094 from jraygauthier/jrg/brscan4_init_rebasedArseniy Seroka2016-05-01
|\ \ \ \ \ \ | | | | | | | | | | | | | | brscan4: init at 0.4.3-3
| * | | | | | brscan4: init at 0.4.3-3Raymond Gauthier2016-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A sane backend for recent brother scanners. Depends on the presence of etc files generated by the nixos module of the same name. Supports network scanner specification through the nixos module.
* | | | | | | Remove now useless proprietary Copy.com client and serviceTobias Geerinckx-Rice2016-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <https://techlib.barracuda.com/Copy/FAQ> SaaS.
* | | | | | | Merge pull request #14741 from cruegge/dbus-activation-environmentThomas Tuegel2016-05-01
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | xsession: Update DBus activation environment
| * | | | | | | xsession: make updating DBus environment optionalChristoph Ruegge2016-04-25
| | | | | | | |
| * | | | | | | xsession: Update DBus activation environmentChristoph Ruegge2016-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `dbus-launch` is executed early in the script, before desktop managers had a chance to setup the environment. If DBus activation is used, applications launched by this may therefore lack necessary environment variables. This patch sends the complete environment to DBus after launching the desktop manager.
* | | | | | | | Merge pull request #14992 from avnik/rspamdFranz Pletz2016-05-01
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Rspamd/Rmilter update
| * | | | | | | | rspamd: configurable bindSocket and bindUISocketAlexander V. Nikolaev2016-04-28
| | | | | | | | |
| * | | | | | | | rmilter: correct paths to socketsAlexander V. Nikolaev2016-04-28
| | | | | | | | |