Commit Graph

3324 Commits

Author SHA1 Message Date
lewo
0e28092a56
Merge pull request #62773 from danieldk/docker-shared-layer-test
nixos/tests/docker-tools: check layer sharing with buildLayeredImage
2019-06-08 09:01:11 +02:00
Vladimír Čunát
8f5edef47e
Merge branch 'staging-next' (PR #62209) 2019-06-07 08:07:10 +02:00
Daniël de Kok
3b0d5b5ed3 nixos/tests/docker-tools: check layer sharing with buildLayeredImage
Adapted from grahamc's blog post on layered Docker images in Nix:

https://grahamc.com/blog/nix-and-layered-docker-images
2019-06-06 15:03:08 +02:00
Daniël de Kok
d7f3186b48 dockerTools.buildLayeredImage: restore layer sharing
PR #58431 added /nix/store to each layer.tar. However, the timestamp was
not explicitly set while adding /nix and /nix/store to the archive. This
resulted in different SHA256 hashes of layer.tar between image builds.

This change sets time and owner when tar'ing /nix/store.
2019-06-06 07:40:20 +02:00
Vladimír Čunát
576af17187
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1523575
2019-06-05 11:06:44 +02:00
Danylo Hlynskyi
f29b88df44
Merge pull request #53991 from arianvp/fix-initrd
build-support/make-initrd:  Don't derive derivation name from file name
2019-06-05 01:22:49 +02:00
Vladimír Čunát
c4724fb7bc
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1523028
2019-06-03 10:01:25 +02:00
Nikolay Amiantov
06f27dc2e9 chrootenv: propagate nested chrootenv /host
To avoid symlink loops to /host in nested chrootenvs we need to remove
one level of indirection. This is also what's generally expected of
/host contents.
2019-05-30 15:34:01 +03:00
Nikolay Amiantov
7664ffbbaf chrootenv: small improvements
* Remove unused argument from pivot_root;
* Factor out tmpdir creation into a separate function;
* Remove unused fstype from bind mount;
* Use unlink instead of a treewalk to remove empty temporary directory.
2019-05-30 15:34:01 +03:00
Nikolay Amiantov
e0d3bc292c chrootenv: make stackable
The problem with stacking chrootenv before was that CLONE_NEWUSER cannot
be used when a child uses chroot. So instead of that we use pivot_root
which replaces root in the whole namespace. This requires our new root
to be an actual fs so we mount tmpfs.
2019-05-30 15:33:30 +03:00
Arian van Putten
b086b342bb build-support/make-initrd: Don't derive derivation name from file name
not all valid file names are valid derivation names. This can cause
troubles when, for example, trying to place systemd template unit
files, which contain an '@' in their name,  in an initrd.

Fixes #53987
2019-05-29 16:07:05 +02:00
Frederik Rietdijk
b95dfb09b8 Merge staging into staging-next 2019-05-29 10:39:52 +02:00
Silvan Mosberger
b4e16b6c30
Merge pull request #62112 from Lassulus/writers-check
build-support/writers: actually run checks
2019-05-28 12:07:22 +02:00
Frederik Rietdijk
3685108787 Merge staging-next into staging 2019-05-28 08:32:57 +02:00
lassulus
9746fae577 build-support/writers: actually run checks 2019-05-28 07:51:46 +02:00
Silvan Mosberger
b6a959b59e
Merge pull request #62040 from abbradar/chrootenv-extend
buildFHSUserEnv: extend PATH and LD_LIBRARY_PATH
2019-05-27 17:56:04 +02:00
Las
50c215df4a
Fix chrootenv segfaulting on exit
glibc 2.27 (and possibly other versions) can't handle an `nopenfd` value larger than 2^19 in `ntfw`, which is problematic if you've set the maximum number of fds per process to a value higher than that.
2019-05-26 17:19:06 +02:00
Vladimír Čunát
b4ae841b23
Merge branch 'staging-next' into staging 2019-05-26 09:48:55 +02:00
Nikolay Amiantov
668f8a12f7 buildFHSUserEnv: extend PATH and LD_LIBRARY_PATH
This allows one to run applications from PATH and override libraries for
applications inside chrootenv. Useful for development environments.
2019-05-25 11:37:01 +03:00
Dmitry Kalinkin
44f05df20b
Merge pull request #60877 from veprbl/pr/nuke-refs-quotemeta-fix
nukeReferences: fix for store paths with special characters
2019-05-23 17:07:18 -04:00
Dmitry Kalinkin
44b551c0c0
addOpenGLRunpath: only apply to ELF files
Fixes libglvnd build
2019-05-23 16:52:45 -04:00
Florian Klink
2ed6903da5
libglvnd, ocl-icd, vulkan-loader: Add /run/opengl-driver(-32) to RUNPATH. (#60985)
libglvnd, ocl-icd, vulkan-loader: Add /run/opengl-driver(-32) to RUNPATH.
2019-05-22 23:36:01 +02:00
Nikolay Amiantov
2874e849d9 addOpenGLRunpath: Add new hook for setting RUNPATH.
This hook allows to add NixOS driver libraries path to given ELF
objects' RUNPATH. We use it instead of settings RUNPATH manually
everywhere. It must be invoked in postFixup so that RUNPATH stripping
does not remove the path.

It puts the path first instead of last so that system-wide drivers
are always preferred.
2019-05-22 18:19:55 +02:00
Robin Gloster
6cf583cf2f
Merge pull request #60406 from JohnAZoidberg/remove-isnull
treewide: Remove usage of isNull
2019-05-18 09:36:24 +00:00
Frederik Rietdijk
d4464ff8fe Merge master into staging-next 2019-05-16 08:17:55 +02:00
Alexandre Peyroux
9760c3e7ec vmTools: update debian-9.4 repositories to debian-9.8 Release.xz urls 2019-05-14 21:06:12 +02:00
Frederik Rietdijk
8abe5ee07e Merge master into staging-next 2019-05-14 10:23:13 +02:00
lewo
42ee7cdf9d
Merge pull request #61089 from nlewo/pr-fix-layer-order
dockerTools: Fix Docker layers order
2019-05-13 15:27:43 +02:00
Frederik Rietdijk
ef0dbef7f1 Merge master into staging-next 2019-05-12 19:59:09 +02:00
Alyssa Ross
5c36a8d556
Merge pull request #61052 from deliciouslytyped/patch-2
trivial-builders: add writeShellScript and minor cleaning
2019-05-12 17:43:35 +00:00
deliciouslytyped
103ab24e94 trivial-builders: add writeShellScript and minor cleaning
Add writeShellScript
Small whitespace additions
Fix "Example:" docstring sections for some of the writeScript functions to use the correct function
2019-05-12 19:40:01 +02:00
Vladimír Čunát
0fb181b8ce
Merge #59422: patchutils: 0.3.3 -> 0.3.4, keep 0.3.3 for fetchpatch 2019-05-12 15:17:10 +02:00
Vladimír Čunát
e07c5ec107
fetchpatch: explain why we use 0.3.3 2019-05-12 15:16:45 +02:00
Antoine Eiche
a5a5820048 dockerTools: Fix the layer order
The layer order was not correct when a parent image was used: parent
image layers were above the new created layer.

This commits simplifies the code related to layer ordering. In
particular, layers in `layer-list` are ordered from bottom-most to
top-most. This is also the order of layers in the `rootfs.diff_ids`
attribute of the image configuration.
2019-05-07 16:52:25 +02:00
Antoine Eiche
5ef1223f30 nixos/tests/docker-tools: verify order of layers in stacked images 2019-05-07 16:52:13 +02:00
Jan Tojnar
e99ff9b98d
networkmanager: Stop using libredirect for building introspection (#60909)
networkmanager: Stop using libredirect for building introspection
2019-05-05 16:10:38 +02:00
Frederik Rietdijk
193b899af2 Merge master into staging-next 2019-05-04 17:34:04 +02:00
Jan Tojnar
a0c6efb9fd
libredirect: remove dlopen support
While it might be useful in some cases, there are too many caveats to be worth it.
When libredirect intercepts dlopen call and calls the original function, the dynamic
loader will use libredirect.so's DT_RUNPATH entry instead of the one from the ELF file
the dlopen call originated from. That means that when program tries to dlopen a library
that it expects to find on its RPATH, the call will fail.
This broke Sublime Text for just that reason.
2019-05-04 05:53:18 +02:00
Andreas Rammhold
46f84adc0c
nix-prefetch-git: add -h as shortcut for --help to improve quality of life
Especially as a new user it is a much better experience to receive a
proper help response to `-h`. Currently passing `-h` will cause some
runtime error with the `git remote` error help being shown. Not very
helpful.

It doesn't hurt to be a bit more user friendly in this case.
2019-05-03 23:56:40 +02:00
Dmitry Kalinkin
fdada4a45f
nukeReferences: fix for store paths with special characters (like '+' or '.')
This introduces extra escaping for $NIX_STORE that gets interpolated
into a PCRE. The escaping is performed using a standard Perl function
"quotemeta" (see "perldoc -f quotemeta" for reference). The same value
is also used in sed regex which uses POSIX basic regular expressions
instead of PCRE, so it needs fewer characters to be escaped. It should
not cause much problem to not change sed invocation, but I replace it
with equivalent Perl expression (actually the behavior is changed to not
output a newline character after the matched output).
2019-05-03 12:56:44 -04:00
Frederik Rietdijk
3462fe27d9 Merge staging-next into staging 2019-04-30 15:52:19 +02:00
Daniel Schaefer
786f02f7a4 treewide: Remove usage of isNull
isNull "is deprecated; just write e == null instead" says the Nix manual
2019-04-29 14:05:50 +02:00
Frederik Rietdijk
2f936f85d8 Merge master into staging-next 2019-04-29 13:46:20 +02:00
Will Dietz
7bd31a322f Revert "appimageTools: small simplification"
This reverts commit 1c06590fa9.
2019-04-28 09:41:31 -05:00
Frederik Rietdijk
042a01efbf Merge staging-next into staging 2019-04-27 07:02:02 +02:00
Frederik Rietdijk
883232c00d Merge master into staging-next 2019-04-27 07:01:38 +02:00
Matthew Bauer
23c520d95e cc-wrapper: only set -march when platform.gcc.arch is specified
We want to make sure this value is explicitly set. Infering it for
every arch leads to annoying failures like:

https://hydra.nixos.org/build/92583832/

Perhaps we can enable it in the future with some smarter handling of
cc-wrapper.sh.
2019-04-26 22:30:45 -04:00
Matthew Bauer
87944c3125
Merge pull request #56744 from matthewbauer/macos-10-12
Update macOS to 10.12
2019-04-26 22:20:03 -04:00
Matthew Bauer
a1533dfc41 patch-shebangs: fix dev detection
$output = $outputDev is the right condition. ${!outputDev} is only
useful if you want a path.
2019-04-26 21:54:48 -04:00
Matthew Bauer
61bc03c017 Revert "Revert "patch-shebangs: respect cross compilation""
This reverts commit 9c4b11e9a0.
2019-04-26 21:54:48 -04:00