summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorEelco Dolstra2004-07-31 17:29:10 +0000
committerEelco Dolstra2004-07-31 17:29:10 +0000
commitb9b9e8b29ec0851aadf8d74c571aaaf1e358d62b (patch)
tree3ebbeecc1301ec1b9b4d70ec56dfb85434bfd65a /pkgs/misc
parent55b631730040da81147fdb55e9814c06f960bfa1 (diff)
* UML 2.4.24-2 is less buggy.
svn path=/nixpkgs/trunk/; revision=1209
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/uml/default.nix14
-rw-r--r--pkgs/misc/uml/no-aio.patch77
2 files changed, 81 insertions, 10 deletions
diff --git a/pkgs/misc/uml/default.nix b/pkgs/misc/uml/default.nix
index c4b1a4c86ac3..0f86d5074276 100644
--- a/pkgs/misc/uml/default.nix
+++ b/pkgs/misc/uml/default.nix
@@ -3,17 +3,21 @@
 assert patch != null && perl != null && m4 != null;
 
 stdenv.mkDerivation {
-  name = "uml-2.4.25-1";
+  name = "uml-2.4.24-2";
   builder = ./builder.sh;
   src = fetchurl {
-    url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.25.tar.bz2;
-    md5 = "5fc8e9f43fa44ac29ddf9a9980af57d8";
+    url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.24.tar.bz2;
+    md5 = "1e055c42921b2396a559d84df4c3d9aa";
+#    url = ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2;
+#    md5 = "88d7aefa03c92739cb70298a0b486e2c";
   };
   umlPatch = fetchurl {
-    url = http://heanet.dl.sourceforge.net/sourceforge/user-mode-linux/uml-patch-2.4.25-1.bz2;
-    md5 = "aacbb7b19ec7599119313a31328e1912";
+    url = http://heanet.dl.sourceforge.net/sourceforge/user-mode-linux/uml-patch-2.4.24-2.bz2;
+    md5 = "f2aeb4d44f5734d63e98e6d66cc256de";
   };
   noAioPatch = ./no-aio.patch;
+#  hostfsPatch = ./hostfs.patch;
+#  hostfsAccessPatch = ./hostfs-access.patch;
   config = ./config;
   buildInputs = [patch perl m4];
 }
diff --git a/pkgs/misc/uml/no-aio.patch b/pkgs/misc/uml/no-aio.patch
index 294e61b6affb..6a961cec8370 100644
--- a/pkgs/misc/uml/no-aio.patch
+++ b/pkgs/misc/uml/no-aio.patch
@@ -1,6 +1,74 @@
-diff -rc linux-orig/arch/um/os-Linux/Makefile linux-2.4.25/arch/um/os-Linux/Makefile
-*** linux-orig/arch/um/os-Linux/Makefile	2004-07-29 21:39:41.000000000 +0200
---- linux-2.4.25/arch/um/os-Linux/Makefile	2004-07-29 21:56:51.000000000 +0200
+diff -rc linux-orig/arch/um/os-Linux/aio.c linux-2.4.24/arch/um/os-Linux/aio.c
+*** linux-orig/arch/um/os-Linux/aio.c	2004-07-29 23:32:53.000000000 +0200
+--- linux-2.4.24/arch/um/os-Linux/aio.c	2004-07-30 12:39:46.000000000 +0200
+***************
+*** 9,15 ****
+--- 9,17 ----
+  #include <errno.h>
+  #include <sched.h>
+  #include <sys/syscall.h>
++ #if defined(HAVE_AIO_ABI)
+  #include <linux/aio_abi.h>
++ #endif
+  #include "os.h"
+  #include "helper.h"
+  #include "aio.h"
+***************
+*** 245,250 ****
+--- 247,253 ----
+  	return(0);
+  }
+  
++ #if defined(HAVE_AIO_ABI)
+  static int init_aio_26(void)
+  {
+  	unsigned long stack;
+***************
+*** 282,287 ****
+--- 285,297 ----
+  		return(init_aio_24());
+  	else return(init_aio_26());
+  }
++ #else
++ static int init_aio(void)
++ {
++ 	printk("Compiled without 2.6 AIO support\n");
++ 	return(init_aio_24());
++ }
++ #endif
+  
+  __initcall(init_aio);
+  
+***************
+*** 313,318 ****
+--- 323,329 ----
+  	return(err);
+  }
+  
++ #if defined(HAVE_AIO_ABI)
+  int submit_aio_26(enum aio_type type, int io_fd, char *buf, int len, 
+  		  unsigned long long offset, int reply_fd, void *data)
+  {
+***************
+*** 345,350 ****
+--- 356,368 ----
+  				     data));
+  	}
+  }
++ #else
++ int submit_aio(enum aio_type type, int io_fd, char *buf, int len, 
++ 	       unsigned long long offset, int reply_fd, void *data)
++ {
++ 	return(submit_aio_24(type, io_fd, buf, len, offset, reply_fd, data));
++ }
++ #endif
+  
+  /*
+   * Overrides for Emacs so that we follow Linus's tabbing style.
+Only in linux-2.4.24/arch/um/os-Linux: aio.c~
+diff -rc linux-orig/arch/um/os-Linux/Makefile linux-2.4.24/arch/um/os-Linux/Makefile
+*** linux-orig/arch/um/os-Linux/Makefile	2004-07-29 23:32:53.000000000 +0200
+--- linux-2.4.24/arch/um/os-Linux/Makefile	2004-07-29 23:33:15.000000000 +0200
 ***************
 *** 7,16 ****
   
@@ -13,11 +81,10 @@ diff -rc linux-orig/arch/um/os-Linux/Makefile linux-2.4.25/arch/um/os-Linux/Make
   CFLAGS_aio.o = $(HAVE_AIO_ABI) $(HAVE_AIO_LIBC)
   
   include $(TOPDIR)/Rules.make
---- 7,15 ----
+--- 7,14 ----
   
   obj-y = aio.o file.o process.o time.o tty.o
   
-! # Removed impure check for AIO feature in glibc.
 ! HAVE_AIO_ABI = 
 ! HAVE_AIO_LIBC = 
   CFLAGS_aio.o = $(HAVE_AIO_ABI) $(HAVE_AIO_LIBC)