cvs commit: patches/cpio cpio-2.5-fixes-1.patch

jim at linuxfromscratch.org jim at linuxfromscratch.org
Sun Oct 5 14:44:50 PDT 2003


jim         03/10/05 15:44:50

  Added:       cpio     cpio-2.5-fixes-1.patch
  Log:
  Added: cpio-2.5-fixes-1.patch
  
  Revision  Changes    Path
  1.1                  patches/cpio/cpio-2.5-fixes-1.patch
  
  Index: cpio-2.5-fixes-1.patch
  ===================================================================
  Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
  Date: 2003-09-26
  Initial Package Version: 2.5
  Origin: Mandrake CVS
  Description: Fixes Glibc Error
  	     Fixes Man Page Install
  	     Corrects error counter
   
  diff -Naur cpio-2.5.orig/Makefile.in cpio-2.5/Makefile.in
  --- cpio-2.5.orig/Makefile.in	2002-06-13 04:19:58.000000000 +0000
  +++ cpio-2.5/Makefile.in	2003-09-26 22:23:06.000000000 +0000
  @@ -81,7 +81,8 @@
   infodir = @infodir@
   
   # Where to put the Unix-style manual pages.
  -mandir = @mandir@/man1
  +mandir = @mandir@
  +man1dir = $(mandir)/man1
   # Extension (not including `.') for the Unix-style manual page filenames.
   manext = 1
   
  @@ -126,16 +127,16 @@
   	$(INSTALL_PROGRAM) cpio $(bindir)/$(binprefix)cpio
   	test ! -f mt || $(INSTALL_PROGRAM) mt $(bindir)/$(binprefix)mt
   	-test ! -f rmt || $(INSTALL_PROGRAM) rmt $(libexecdir)/rmt
  -	-$(INSTALL_DATA) $(srcdir)/cpio.1 $(mandir)/$(manprefix)cpio.$(manext)
  -	-test ! -f mt || $(INSTALL_DATA) $(srcdir)/mt.1 $(mandir)/$(manprefix)mt.$(manext)
  +	-$(INSTALL_DATA) $(srcdir)/cpio.1 $(man1dir)/$(manprefix)cpio.$(manext)
  +	-test ! -f mt || $(INSTALL_DATA) $(srcdir)/mt.1 $(man1dir)/$(manprefix)mt.$(manext)
   
   installdirs:
  -	$(srcdir)/mkinstalldirs $(bindir) $(libexecdir) $(mandir) $(infodir)
  +	$(srcdir)/mkinstalldirs $(bindir) $(libexecdir) $(man1dir) $(infodir)
   
   uninstall::
   	cd $(bindir); rm -f $(binprefix)cpio $(binprefix)mt
   	-rm -f $(libexecdir)/rmt
  -	cd $(mandir); rm -f $(manprefix)cpio.$(manext) $(manprefix)mt.$(manext)
  +	cd $(man1dir); rm -f $(manprefix)cpio.$(manext) $(manprefix)mt.$(manext)
   
   check:
   	@echo No tests are supplied.
  diff -Naur cpio-2.5.orig/error.c cpio-2.5/error.c
  --- cpio-2.5.orig/error.c	2001-12-06 04:52:45.000000000 +0000
  +++ cpio-2.5/error.c	2003-09-26 22:24:00.000000000 +0000
  @@ -46,6 +46,10 @@
   /* This variable is incremented each time `error' is called.  */
   unsigned int error_message_count;
   
  +/* This variable is incremented each time `error' is called and
  +   errnum is not zero.  */
  +unsigned int error_count;
  +
   /* If NULL, error will flush stdout, then print on stderr the program
      name, a colon and a space.  Otherwise, error will call this
      function without parameters instead.  */
  @@ -122,7 +126,10 @@
     ++error_message_count;
   
     if (errnum)
  -    fprintf (stderr, ": %s", strerror (errnum));
  +    {
  +      fprintf (stderr, ": %s", strerror (errnum));
  +      error_count++;
  +    }
     putc ('\n', stderr);
     fflush (stderr);
     if (status)
  diff -Naur cpio-2.5.orig/extern.h cpio-2.5/extern.h
  --- cpio-2.5.orig/extern.h	2001-12-07 01:00:45.000000000 +0000
  +++ cpio-2.5/extern.h	2003-09-26 22:25:39.000000000 +0000
  @@ -85,6 +85,8 @@
   extern char *program_name;
   extern int (*xstat) ();
   extern void (*copy_function) ();
  +
  +extern unsigned int error_count;
   
   #if __STDC__ || defined(__MSDOS__)
   # define P_(s) s
  diff -Naur cpio-2.5.orig/main.c cpio-2.5/main.c
  --- cpio-2.5.orig/main.c	2001-12-06 04:54:06.000000000 +0000
  +++ cpio-2.5/main.c	2003-09-26 22:24:00.000000000 +0000
  @@ -531,5 +531,5 @@
     if (archive_des >= 0 && rmtclose (archive_des) == -1)
       error (1, errno, "error closing archive");
   
  -  exit (0);
  +  exit (error_count != 0);
   }
  diff -Naur cpio-2.5.orig/rmt.c cpio-2.5/rmt.c
  --- cpio-2.5.orig/rmt.c	2001-11-30 04:16:00.000000000 +0000
  +++ cpio-2.5/rmt.c	2003-09-26 22:20:57.000000000 +0000
  @@ -74,8 +74,13 @@
   char device[SSIZE];
   char count[SSIZE], mode[SSIZE], pos[SSIZE], op[SSIZE];
   
  +#ifdef __GNU_LIBRARY__
  +#include <errno.h>
  +#else
   extern errno;
   extern const char *const _sys_errlist[];
  +#endif
  +
   /* Debian hack: rmt has problems on systems (such as the Hurd) where
      sys_errlist is not available therefore I borrowed some code from
      error.c to fix this problem.  This has been reported to the upstream
  
  
  



More information about the patches mailing list