about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2013-12-14 22:54:27 -0800
committerMichael Raskin <7c6f434c@mail.ru>2013-12-14 22:54:27 -0800
commit1bc96da130d1f680cf4a9b641e4ae436d5be2a00 (patch)
tree05e386a0ab114cc398c5829037116a098e6912cc /pkgs/tools
parentb2223ebf693f78c938867f25ad25628d52a84c2c (diff)
parentc2f385cf4acd1dadca8a780935a99c0ea0d8fba3 (diff)
downloadnixlib-1bc96da130d1f680cf4a9b641e4ae436d5be2a00.tar
nixlib-1bc96da130d1f680cf4a9b641e4ae436d5be2a00.tar.gz
nixlib-1bc96da130d1f680cf4a9b641e4ae436d5be2a00.tar.bz2
nixlib-1bc96da130d1f680cf4a9b641e4ae436d5be2a00.tar.lz
nixlib-1bc96da130d1f680cf4a9b641e4ae436d5be2a00.tar.xz
nixlib-1bc96da130d1f680cf4a9b641e4ae436d5be2a00.tar.zst
nixlib-1bc96da130d1f680cf4a9b641e4ae436d5be2a00.zip
Merge pull request #1372 from offlinehacker/pkgs/dhcpcd/dhcpcd_lxc_fix
dhcpcd: make dhcpcd work in linux containers
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix2
-rw-r--r--pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch12
2 files changed, 14 insertions, 0 deletions
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 9b3b6238420c..ad0b62d19f81 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1i7fv1l0n7q1mnia7g0789ch63x5zhwk5gsrwvs78dv2f2kmvcd3";
   };
 
+  patches = [ ./lxc_ro_promote_secondaries.patch ];
+
   configureFlags = "--sysconfdir=/etc";
 
   makeFlags = "PREFIX=\${out}";
diff --git a/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch b/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch
new file mode 100644
index 000000000000..066ea67db9ee
--- /dev/null
+++ b/pkgs/tools/networking/dhcpcd/lxc_ro_promote_secondaries.patch
@@ -0,0 +1,12 @@
+diff -rupN dhcpcd-6.1.0-old/if-linux.c dhcpcd-6.1.0/if-linux.c
+--- dhcpcd-6.1.0-old/if-linux.c	2013-09-20 12:27:24.000000000 +0200
++++ dhcpcd-6.1.0/if-linux.c	2013-12-13 09:50:24.183694744 +0100
+@@ -86,7 +86,7 @@ if_init(struct interface *iface)
+ 
+ 	fp = fopen(path, "w");
+ 	if (fp == NULL)
+-		return errno == ENOENT ? 0 : -1;
++		return (errno == ENOENT || errno == EROFS) ? 0 : -1;
+ 	n = fprintf(fp, "1");
+ 	fclose(fp);
+ 	return n == -1 ? -1 : 0;