Currently there are two calls to curl in the reloadScript, neither which
check for errors. If something is misconfigured (like wrong authToken),
the only trace that something wrong happened is this log message:
Asking Jenkins to reload config
<h1>Bad Message 400</h1><pre>reason: Illegal character VCHAR='<'</pre>
The service isn't marked as failed, so it's easy to miss.
Fix it by passing --fail to curl.
While at it:
* Add $curl_opts and $jenkins_url variables to keep the curl command
lines DRY.
* Add --show-error to curl to show short error message explanation when
things go wrong (like HTTP 401 error).
* Lower-case the $CRUMB variable as upper case is for exported environment
variables.
The new behaviour, when having wrong accessToken:
Asking Jenkins to reload config
curl: (22) The requested URL returned error: 401
And the service is clearly marked as failed in `systemctl --failed`.
This ensures that RPATH entries like "/foo/build/bar" doesn't trigger a
match when TMPDIR is "/build/bar". (I've had this problem with a
prebuilt package.)
Instead of explicitly depending on libelf, use
kernel.moduleBuildDependencies which was introduced in 1e77d0b975
("kernel 4.14 require libelf to compile modules.").
Fixes this:
$ nix-build -A linuxPackages.lttng-modules
[...]
/nix/store/...-linux-4.14.48-dev/lib/modules/4.14.48/source/Makefile:948: \
*** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfu
(Linux 4.16+ has other issues, so mark as broken.)
However, none of the exporters I tried actually _worked_, but now
shutter at least returns an error to the user (pop-up UI element)
instead of silently hanging and only leaving messages on stdout/stderr
about the missing deps.
AFAICS, this changes the failure of Screenshot->Export functionality
from a packaging bug to an application bug (upstream).
Because it improves out-of-the-box user experience a lot (IMHO).
(zsh completion is already on by default.)
Remove "programs.bash.enableCompletion = true" from
nixos-generate-config.pl, which feels superflous now.
Pass the -L flag to curl to make it follow redirects. This fixes an
issue I found when setting up reverse proxy for Jenkins. Without this
fix, the returned HTTP code was stuck at 302, making postStart fail the
service (it expects 200 or 403).
This aligns the package name more with the attrname.
This is a re-application of the idea behind 7405af72e6
("qt: make package names of "full" variants appear as such"), which
seems to have been lost on the way.
A CACHEDIR.TAG file indicates that the contents can be automatically
re-generated. This is not really true for Nix store paths. (Well _Nix_
can recreate them, but that's different.)
I noticed this issue as I was restoring full system backup that "for
some reason" always missed /nix/store/*-fc-cache (found by `nix-store
--verify --repair`). Turns out I was excluding caches from my backup...
Fixes build failure since recent merge of staging branch:
$ nix-build -A qmmp
[...]
AutoMoc error
-------------
Included moc files with the same name will be generated from different sources.
Consider to
- not include the "moc_<NAME>.cpp" file
- add a directory prefix to a "<NAME>.moc" include (e.g "sub/<NAME>.moc")
- rename the source file(s)
Include conflicts
-----------------
"moc_hotkeymanager.cpp" included in
- "/tmp/nix-build-qmmp-1.1.10.drv-0/qmmp-1.1.10/src/plugins/General/hotkey/hotkeymanager_win.cpp"
- "/tmp/nix-build-qmmp-1.1.10.drv-0/qmmp-1.1.10/src/plugins/General/hotkey/hotkeymanager_x11.cpp"
would be generated from
- "/tmp/nix-build-qmmp-1.1.10.drv-0/qmmp-1.1.10/src/plugins/General/hotkey/hotkeymanager.h"
- "/tmp/nix-build-qmmp-1.1.10.drv-0/qmmp-1.1.10/src/plugins/General/hotkey/hotkeymanager.h"
make[2]: *** [src/plugins/General/hotkey/CMakeFiles/hotkey_autogen.dir/build.make:58: src/plugins/General/hotkey/CMakeFiles/hotkey_autogen] Error 1
This makes the commonHook option work also for (read-only) Nix store
paths. Currently it fails on the second activation, because the
destination is read-only.
Looking at upstream git repo (git://github.com/Yubico/pam-u2f.git) the
docs initially said the path was ~/.yubico/u2f_keys, but it was later
changed to ~/.config/Yubico/u2f_keys (in 2015).
I have run pam_u2f.so with "debug" option and observed that the correct
path indeed is ~/.config/Yubico/u2f_keys.
"batch" is a shell script so invoking it via setuid wrapper never worked
anyway. (The kernel drops perms on executables with shebang.) A previous
nixpkgs commit made "batch" invoke the NixOS setuid "at" wrapper to gain
needed privileges.
Thanks to @yesbox for noticing.
-s, --script: never prompts for user intervention
Sometimes the NixOS installer tests fail when they invoke parted, e.g.
https://hydra.nixos.org/build/62513826/nixlog/1. But instead of exiting
right there, the tests hang until the Nix builder times out (and kills
the build). With this change the tests would instead fail immediately,
which is preferred.
While at it, use "parted --script" treewide, so nobody gets build
timeout due to parted error (or misuse). (Only nixos/ use it, and only
non-interactive.)
A few instances already use the short option "-s", convert them to long
option "--short".
The output of ./configure shows all modules/plugins, both enabled and
disabled. With this info we can finally build the _complete_ list of
modules. We were missing these:
mod_authn_gssapi
mod_authn_ldap
mod_geoip
(I hit this as I was building lighttpd with ldap support and the NixOS
module said ldap was unsupported, due to these missing entries in
allKnownModules.)