202 lines
5.6 KiB
Plaintext
202 lines
5.6 KiB
Plaintext
GNU tar 1.11.1, with gzip patches
|
|
Binaries for Linux prepared by faith@cs.unc.edu, Tue Jan 19 16:38:09 1993
|
|
Compiled with gcc 2.3.3 (-O6)
|
|
Linked with jump-4.2 libraries (-s)
|
|
|
|
WARNING: Since tar is now placed in /bin, you may have to remove old soft
|
|
links for tar.
|
|
|
|
|
|
To install from Linux binary distribution:
|
|
|
|
1) Get binary distribution (tar1111B.taz) from
|
|
ftp.cs.unc.edu:/pub/faith/linux/utils or from
|
|
tsx-11.mit.edu:/pub/linux/binaries/FSF
|
|
2) cd /
|
|
3) gtar zpxvf tar1111B.taz
|
|
|
|
Alternatively, the SLS sysinstall program can be used.
|
|
|
|
|
|
To uninstall this binary distribution, do the following:
|
|
|
|
cd /usr/src/tar-1.11.1
|
|
./tar1111B.Unins
|
|
|
|
|
|
To install from source:
|
|
|
|
1) Get source from: prep.ai.mit.edu:/pub/gnu/tar-1.11.1.tar.Z
|
|
2) Untar tar-1.11.1.tar.Z in /usr/src
|
|
3) cd tar-1.11.1
|
|
4) patch -p1 < tar1111B.Notes
|
|
5) ./configure --prefix=/
|
|
6) Edit Makefile, changing yacc to $(YACC)
|
|
7) make CC=gcc CFLAGS=-O6 LDFLAGS=-s tar
|
|
8) install tar /bin
|
|
|
|
NOTE: THE GZIP PATCHES ACT AS FOLLOWS:
|
|
1) For uncompress, gzip -d is called
|
|
2) For compress with -z or with --gzip, gzip is called
|
|
3) For compress with -Z, compress is called
|
|
4) If the exec for gzip fails, compress is called.
|
|
|
|
|
|
NOTE: THIS IS A FSF BETA RELEASE! THERE IS *NO* DOCUMENTATION!
|
|
|
|
USE AT YOUR OWN RISK!
|
|
|
|
|
|
Patches to tar.c, tar.h, and buffer.c are as follows:
|
|
|
|
diff -rc tar-1.11.1.old/buffer.c tar-1.11.1/buffer.c
|
|
*** tar-1.11.1.old/buffer.c Mon Sep 14 16:56:39 1992
|
|
--- tar-1.11.1/buffer.c Tue Jan 19 13:53:09 1993
|
|
***************
|
|
*** 426,432 ****
|
|
}
|
|
/* EOF */
|
|
if(err==0) {
|
|
! if(f_compress<2)
|
|
blocksize-=n;
|
|
else
|
|
bzero(ar_block->charptr+blocksize-n,n);
|
|
--- 426,432 ----
|
|
}
|
|
/* EOF */
|
|
if(err==0) {
|
|
! if(f_compress<2 && f_gzip<2)
|
|
blocksize-=n;
|
|
else
|
|
bzero(ar_block->charptr+blocksize-n,n);
|
|
***************
|
|
*** 433,439 ****
|
|
err=rmtwrite(archive,ar_block->charptr,blocksize);
|
|
if(err!=(blocksize))
|
|
writeerror(err);
|
|
! if(f_compress<2)
|
|
blocksize+=n;
|
|
break;
|
|
}
|
|
--- 433,439 ----
|
|
err=rmtwrite(archive,ar_block->charptr,blocksize);
|
|
if(err!=(blocksize))
|
|
writeerror(err);
|
|
! if(f_compress<2 && f_gzip<2)
|
|
blocksize+=n;
|
|
break;
|
|
}
|
|
***************
|
|
*** 452,461 ****
|
|
}
|
|
}
|
|
/* So we should exec compress (-d) */
|
|
! if(ar_reading)
|
|
! execlp("compress", "compress", "-d", (char *)0);
|
|
! else
|
|
! execlp("compress", "compress", (char *)0);
|
|
msg_perror("can't exec compress");
|
|
_exit(EX_SYSTEM);
|
|
}
|
|
--- 452,467 ----
|
|
}
|
|
}
|
|
/* So we should exec compress (-d) */
|
|
! if(ar_reading) {
|
|
! if(execlp("gzip", "gzip", "-d", (char *)0) == -1)
|
|
! execlp("compress", "compress", "-d", (char *)0);
|
|
! } else {
|
|
! if (f_gzip) {
|
|
! if(execlp("gzip", "gzip", (char *)0) == -1)
|
|
! execlp("compress", "compress", (char *)0);
|
|
! } else
|
|
! execlp("compress", "compress", (char *)0);
|
|
! }
|
|
msg_perror("can't exec compress");
|
|
_exit(EX_SYSTEM);
|
|
}
|
|
***************
|
|
*** 521,527 ****
|
|
exit (EX_ARGSBAD);
|
|
}
|
|
|
|
! if (f_compress) {
|
|
if(reading==2 || f_verify) {
|
|
msg("cannot update or verify compressed archives");
|
|
exit(EX_ARGSBAD);
|
|
--- 527,533 ----
|
|
exit (EX_ARGSBAD);
|
|
}
|
|
|
|
! if (f_compress||f_gzip) {
|
|
if(reading==2 || f_verify) {
|
|
msg("cannot update or verify compressed archives");
|
|
exit(EX_ARGSBAD);
|
|
diff -rc tar-1.11.1.old/tar.c tar-1.11.1/tar.c
|
|
*** tar-1.11.1.old/tar.c Mon Sep 14 17:31:38 1992
|
|
--- tar-1.11.1/tar.c Tue Jan 19 13:53:13 1993
|
|
***************
|
|
*** 182,187 ****
|
|
--- 182,188 ----
|
|
{"one-file-system", 0, &f_local_filesys, 1},
|
|
{"old-archive", 0, 0, 'o'},
|
|
{"portability", 0, 0, 'o'},
|
|
+ {"gzip", 0, &f_gzip, 1},
|
|
{"compress", 0, &f_compress, 1},
|
|
{"compress-block", 0, &f_compress, 2},
|
|
{"sparse", 0, &f_sparse_files, 1},
|
|
***************
|
|
*** 610,615 ****
|
|
--- 611,617 ----
|
|
break;
|
|
|
|
case 'z': /* Easy to type */
|
|
+ f_gzip++;
|
|
case 'Z': /* Like the filename extension .Z */
|
|
f_compress++;
|
|
break;
|
|
***************
|
|
*** 716,723 ****
|
|
-W, --verify attempt to verify the archive after writing it\n\
|
|
--exclude FILE exclude file FILE\n\
|
|
-X, --exclude-from FILE exclude files listed in FILE\n\
|
|
! -z, -Z, --compress,\n\
|
|
--uncompress filter the archive through compress\n\
|
|
-[0-7][lmh] specify drive and density\n\
|
|
", stdout);
|
|
}
|
|
--- 718,727 ----
|
|
-W, --verify attempt to verify the archive after writing it\n\
|
|
--exclude FILE exclude file FILE\n\
|
|
-X, --exclude-from FILE exclude files listed in FILE\n\
|
|
! -Z, --compress,\n\
|
|
--uncompress filter the archive through compress\n\
|
|
+ -z, --gzip,\n\
|
|
+ --uncompress filter the archive through gzip\n\
|
|
-[0-7][lmh] specify drive and density\n\
|
|
", stdout);
|
|
}
|
|
diff -rc tar-1.11.1.old/tar.h tar-1.11.1/tar.h
|
|
*** tar-1.11.1.old/tar.h Tue Sep 8 15:45:34 1992
|
|
--- tar-1.11.1/tar.h Tue Jan 19 13:53:11 1993
|
|
***************
|
|
*** 224,231 ****
|
|
TAR_EXTERN int f_verify; /* -W */
|
|
/* CMD_EXTRACT -x */
|
|
TAR_EXTERN int f_exclude; /* -X */
|
|
! TAR_EXTERN int f_compress; /* -z */
|
|
! /* -Z */
|
|
TAR_EXTERN int f_do_chown; /* --do-chown */
|
|
TAR_EXTERN int f_totals; /* --totals */
|
|
TAR_EXTERN int f_remove_files; /* --remove-files */
|
|
--- 224,231 ----
|
|
TAR_EXTERN int f_verify; /* -W */
|
|
/* CMD_EXTRACT -x */
|
|
TAR_EXTERN int f_exclude; /* -X */
|
|
! TAR_EXTERN int f_compress; /* -Z */
|
|
! TAR_EXTERN int f_gzip; /* -z */
|
|
TAR_EXTERN int f_do_chown; /* --do-chown */
|
|
TAR_EXTERN int f_totals; /* --totals */
|
|
TAR_EXTERN int f_remove_files; /* --remove-files */
|
|
|