diff --git a/cpio-2.10-close_files_after_copy.patch b/cpio-2.10-close_files_after_copy.patch
deleted file mode 100644
index be033b2..0000000
--- a/cpio-2.10-close_files_after_copy.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Index: src/copyin.c
-===================================================================
---- src/copyin.c.orig
-+++ src/copyin.c
-@@ -1565,6 +1565,19 @@ process_copy_in ()
-   if (dot_flag)
-     fputc ('\n', stderr);
- 
-+  if (tty_in)
-+    {
-+      fclose(tty_in);
-+    }
-+  if (tty_out)
-+    {
-+      fclose(tty_out);
-+    }
-+  if (rename_in)
-+    {
-+      fclose(rename_in);
-+    }
-+
-   if (append_flag)
-     return;
- 
diff --git a/cpio-2.10-mt.patch b/cpio-2.10-mt.patch
index 1adbf7f..a55a500 100644
--- a/cpio-2.10-mt.patch
+++ b/cpio-2.10-mt.patch
@@ -1,8 +1,6 @@
-Index: doc/mt.1
-===================================================================
---- doc/mt.1.orig
+--- doc/mt.1
 +++ doc/mt.1
-@@ -76,9 +76,6 @@ Absolute space to file number
+@@ -76,9 +76,6 @@
  .IR count .
  Equivalent to rewind followed by fsf
  .IR count .
@@ -12,7 +10,7 @@ Index: doc/mt.1
  .IP eom
  Space to the end of the recorded media on the tape
  (for appending files onto tapes).
-@@ -93,6 +90,69 @@ Rewind the tape, then wind it to the end
+@@ -93,6 +90,69 @@
  then rewind it again.
  .IP erase
  Erase the tape.
@@ -82,11 +80,9 @@ Index: doc/mt.1
  .PP
  .B mt
  exits with a status of 0 if the operation succeeded, 1 if the
-Index: lib/system.h
-===================================================================
---- lib/system.h.orig
+--- lib/system.h
 +++ lib/system.h
-@@ -431,10 +431,11 @@ char *getenv ();
+@@ -431,10 +431,11 @@
  
  #if HAVE_LOCALE_H
  # include <locale.h>
@@ -99,24 +95,21 @@ Index: lib/system.h
  
  #include <time.h>
  #ifdef TIME_WITH_SYS_TIME
-Index: src/Makefile.am
-===================================================================
---- src/Makefile.am.orig
+--- src/Makefile.am
 +++ src/Makefile.am
 @@ -18,7 +18,7 @@
  
- INCLUDES=-I. -I.. -I$(top_srcdir)/gnu -I$(top_builddir)/gnu  -I$(top_srcdir)/lib -I$(top_builddir)/lib
+ INCLUDES=-I. -I.. -I$(top_srcdir)/lib 
  
 -bin_PROGRAMS=cpio @CPIO_MT_PROG@
 +bin_PROGRAMS=cpio mt
  EXTRA_PROGRAMS=mt
  
  cpio_SOURCES = \
-Index: src/copyin.c
-===================================================================
---- src/copyin.c.orig
+
+--- src/copyin.c
 +++ src/copyin.c
-@@ -771,7 +771,7 @@ copyin_link(struct cpio_file_stat *file_
+@@ -768,7 +768,7 @@
  static void
  copyin_file (struct cpio_file_stat* file_hdr, int in_file_des)
  {
@@ -125,15 +118,15 @@ Index: src/copyin.c
  
    if (!to_stdout_option
        && try_existing_file (file_hdr, in_file_des, &existing_dir) < 0)
-@@ -1360,6 +1360,7 @@ process_copy_in ()
+@@ -1355,6 +1355,7 @@
    int in_file_des;		/* Input file descriptor.  */
    char skip_file;		/* Flag for use with patterns.  */
    int i;			/* Loop index variable.  */
 +  int lastpattern = 0;
  
-   newdir_umask = umask (0);     /* Reset umask to preserve modes of
+   umask (0);                    /* Reset umask to preserve modes of
  				   created files  */
-@@ -1468,8 +1469,10 @@ process_copy_in ()
+@@ -1463,8 +1464,10 @@
  	  for (i = 0; i < num_patterns
  	       && skip_file == copy_matching_files; i++)
  	    {
@@ -145,9 +138,7 @@ Index: src/copyin.c
  	    }
  	}
  
-Index: src/mt.c
-===================================================================
---- src/mt.c.orig
+--- src/mt.c
 +++ src/mt.c
 @@ -17,6 +17,10 @@
     02110-1301 USA
@@ -160,7 +151,7 @@ Index: src/mt.c
  
  /* If -f is not given, the environment variable TAPE is used;
     if that is not set, a default device defined in sys/mtio.h is used.
-@@ -51,9 +55,51 @@
+@@ -51,6 +55,48 @@
     retension	Rewind the tape, then wind it to the end of the reel,
  		then rewind it again.
     erase	Erase the tape.
@@ -206,13 +197,10 @@ Index: src/mt.c
 +		is disabled.  Otherwise, compression is enabled.
  
     David MacKenzie <djm@gnu.ai.mit.edu> */
- 
-+#include <configmake.h>
 +
- #include <system.h>
++#include <configmake.h>
  
- #include <stdio.h>
-@@ -105,6 +151,85 @@ int atoi ();
+@@ -105,6 +151,85 @@
  void exit ();
  #endif
  
@@ -298,7 +286,7 @@ Index: src/mt.c
  char *opnames[] =
  {
    "eof", "weof", "fsf", "bsf", "fsr", "bsr",
-@@ -114,6 +239,8 @@ char *opnames[] =
+@@ -114,6 +197,8 @@
  #endif
  #ifdef MTEOM
    "eom",
@@ -307,7 +295,7 @@ Index: src/mt.c
  #endif
  #ifdef MTRETEN
    "retension",
-@@ -128,6 +255,39 @@ char *opnames[] =
+@@ -128,6 +213,39 @@
  #ifdef MTSEEK
    "seek",
  #endif
@@ -347,7 +335,7 @@ Index: src/mt.c
    NULL
  };
  
-@@ -141,6 +301,8 @@ short operations[] =
+@@ -141,6 +259,8 @@
  #endif
  #ifdef MTEOM
    MTEOM,
@@ -356,7 +344,7 @@ Index: src/mt.c
  #endif
  #ifdef MTRETEN
    MTRETEN,
-@@ -155,9 +317,69 @@ short operations[] =
+@@ -155,9 +275,69 @@
  #ifdef MTSEEK
    MTSEEK,
  #endif
@@ -426,7 +414,7 @@ Index: src/mt.c
  struct option longopts[] =
  {
    {"file", 1, NULL, 'f'},
-@@ -200,10 +422,22 @@ void
+@@ -200,10 +380,22 @@
  print_status (char *dev, int desc)
  {
    struct mtget status;
@@ -449,7 +437,7 @@ Index: src/mt.c
    printf ("drive type = %d\n", (int) status.mt_type);
  #if defined(hpux) || defined(__hpux)
    printf ("drive status (high) = %d\n", (int) status.mt_dsreg1);
-@@ -217,7 +451,177 @@ print_status (char *dev, int desc)
+@@ -217,7 +409,177 @@
    printf ("file number = %d\n", (int) status.mt_fileno);
    printf ("block number = %d\n", (int) status.mt_blkno);
  #endif
@@ -627,7 +615,7 @@ Index: src/mt.c
  
  void
  usage (FILE *fp,int status)
-@@ -276,7 +680,7 @@ main (int argc, char **argv)
+@@ -276,7 +638,7 @@
    if (optind == argc)
      usage (stderr, 1);
  
@@ -636,7 +624,7 @@ Index: src/mt.c
    if (i < 0)
      {
        argmatch_invalid ("tape operation", argv[optind], i);
-@@ -308,10 +712,29 @@ main (int argc, char **argv)
+@@ -308,10 +670,29 @@
  #endif
      }
  
@@ -666,7 +654,7 @@ Index: src/mt.c
  	)
      tapedesc = rmtopen (tapedev, O_WRONLY, 0, rsh_command_option);
    else
-@@ -320,6 +743,17 @@ main (int argc, char **argv)
+@@ -320,6 +701,17 @@
      error (1, errno, _("%s: rmtopen failed"), tapedev);
    check_type (tapedev, tapedesc);
  
@@ -684,7 +672,7 @@ Index: src/mt.c
    if (operation == MTASF)
      {
        perform_operation (tapedev, tapedesc, MTREW, 1);
-@@ -328,6 +762,7 @@ main (int argc, char **argv)
+@@ -328,6 +720,7 @@
    perform_operation (tapedev, tapedesc, operation, count);
    if (operation == MTNOP)
      print_status (tapedev, tapedesc);
diff --git a/cpio-2.10-use_new_ascii_format.patch b/cpio-2.10-use_new_ascii_format.patch
index 76d9b8c..68e99dc 100644
--- a/cpio-2.10-use_new_ascii_format.patch
+++ b/cpio-2.10-use_new_ascii_format.patch
@@ -1,8 +1,6 @@
-Index: doc/cpio.info
-===================================================================
---- doc/cpio.info.orig
-+++ doc/cpio.info
-@@ -266,7 +266,8 @@ File: cpio.info,  Node: Options,  Prev:
+--- doc/cpio.info
++++ doc/cpio.info	2005/04/25 12:11:02
+@@ -262,7 +262,8 @@
       Set the I/O block size to BLOCK-SIZE * 512 bytes.
  
  `-c'
@@ -10,13 +8,11 @@ Index: doc/cpio.info
 +     Identical to "-H newc", use the new (SVR4) portable format.
 +     If you wish the old portable (ASCII) archive format, use "-H odc" instead.
  
- `-C IO-SIZE'
- `--io-size=IO-SIZE'
-Index: src/main.c
-===================================================================
---- src/main.c.orig
+ `-C IO-SIZE, --io-size=IO-SIZE'
+      Set the I/O block size to IO-SIZE bytes.
+--- src/main.c
 +++ src/main.c
-@@ -339,6 +339,7 @@ parse_opt (int key, char *arg, struct ar
+@@ -337,6 +337,7 @@
      case 'c':		/* Use the old portable ASCII format.  */
        if (archive_format != arf_unknown)
  	error (0, EXIT_FAILURE, _("Archive format multiply defined"));
diff --git a/cpio-2.10-use_sbin_rmt.patch b/cpio-2.10-use_sbin_rmt.patch
index 6ee951a..552ba7b 100644
--- a/cpio-2.10-use_sbin_rmt.patch
+++ b/cpio-2.10-use_sbin_rmt.patch
@@ -1,17 +1,15 @@
-Index: lib/rtapelib.c
-===================================================================
---- lib/rtapelib.c.orig
-+++ lib/rtapelib.c
+--- lib/rtapelib.c
++++ lib/rtapelib.c	2005/04/25 12:16:06
 @@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software Foundation,
-    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  
 -/* The man page rmt(8) for /etc/rmt documents the remote mag tape protocol
 +/* The man page rmt(8) for /sbin/rmt documents the remote mag tape protocol
     which rdump and rrestore use.  Unfortunately, the man page is *WRONG*.
     The author of the routines I'm including originally wrote his code just
     based on the man page, and it didn't work, so he went to the rdump source
-@@ -267,7 +267,7 @@ get_status_off (int handle)
+@@ -265,7 +265,7 @@
  
  #if WITH_REXEC
  
diff --git a/cpio.changes b/cpio.changes
index a13e6c9..a5da146 100644
--- a/cpio.changes
+++ b/cpio.changes
@@ -1,14 +1,3 @@
--------------------------------------------------------------------
-Tue Nov  3 19:09:11 UTC 2009 - coolo@novell.com
-
-- updated patches to apply with fuzz=0
-
--------------------------------------------------------------------
-Fri Oct 16 22:41:38 CEST 2009 - rschweikert@novell.com
-
-- close files after copy (bnc#543132)
-  (cpio-2.10-close_files_after_copy.patch)
-
 -------------------------------------------------------------------
 Mon Aug 10 16:53:33 CEST 2009 - mseben@novell.com
 
diff --git a/cpio.spec b/cpio.spec
index 3b6189d..b9d1f41 100644
--- a/cpio.spec
+++ b/cpio.spec
@@ -41,8 +41,6 @@ Patch17:        %{name}-%{version}-dev_number.patch
 Patch18:        %{name}-%{version}-default_tape_dev.patch
 #PATCH-FIX-UPSTREAM include_fatal_c.patch fix undefined ref in mt build
 Patch19:        %{name}-%{version}-include_fatal_c.patch
-#PATCH-FIX-UPSTREAM cpio-2.10-close_files_after_copy.patch
-Patch20:        %{name}-%{version}-close_files_after_copy.patch
 PreReq:         %install_info_prereq
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       %{name}-lang = %{version}
@@ -79,7 +77,6 @@ Authors:
 %patch17
 %patch18
 %patch19
-%patch20
 #chmod 755 .
 #chmod u+w *
 #chmod a+r *