|
|
1.1 ! root 1: pax.cnv.log - Log of PAX conversion to Coherent. ! 2: ! 3: 90/05/25 hws Initial version ! 4: 90/06/04 vlad ! 5: ! 6: o build gwin-dir-lib from usenet - but since Coherent already has a ! 7: header called dirent.h in /usr/include, change the new header to the other ! 8: common name for it, ndir.h; also add a new header called dirent.h to ! 9: /usr/include/sys. The new routines were put in /usr/lib/libdir.a so LDFLAGS ! 10: in Makefile got defined to -ldir and LDFLAGS was added to the compilation ! 11: rule. ! 12: ! 13: o change #include <dirent.h> to #include <ndir.h> (pax.h) ! 14: ! 15: o change #include <fcntl.h> to #include <sys/fcntl.h> (pax.h) ! 16: ! 17: o remove #include <memory.h> from port.h ! 18: ! 19: o remove ioctl.h ! 20: ! 21: o change #ifdef __STDC__ to #if __STDC__ (#ifndef __STDC__ and ! 22: #if defined __STDC__) ! 23: because argument lists are checked when this conditional succeeds but ! 24: __STDC__ is defined to be 0 by mwc cc; similarly for #ifndef __STDC__ ! 25: ! 26: o config.h - various mods that get rid of double comments ! 27: changes: not define TTY (l. 81); ! 28: not define PAXDIR (l. 91); ! 29: not define BSD; ! 30: define DIRENT = -ldir (l. 102); ! 31: define OFFSET off_t (l. 111); ! 32: not define void (l. 122); ! 33: define SIG_T int (l. 131); ! 34: not define STRCSPN (l. 141); ! 35: was removed extra /* (l. 154); ! 36: was included in '/*' ' */' (l. 162); ! 37: o *.c header names were changed or includes were commented out, e.g.: ! 38: <sys/errno.h> -> <errno.h> ! 39: <memory.h> was not included; the needed declarations are in <string.h> ! 40: ! 41: o printf format strings referring to asb->sb_size in tar_entry() in list.c ! 42: had format changed from %d to %ld ! 43: ! 44: o Because COHERNT "open" is V7 "open" were made changes in the files ! 45: buffer.c, fileio.c, paxdir.c, ttyio.c, & opendir. ! 46: ! 47: o pax.c - added message TAR(v7) for old tapes archive. ! 48: ! 49: o In append.c was added lseek(archivefd, -((OFFSET) blocksize), 1). It was ! 50: done because ustar started write in the file one block later than ! 51: had to started in the append case. ! 52: ! 53: o ustar does not work with 'u' option. According to this was deleted all ! 54: stuff that had any relation to 'u'. From "pax.c" - "short newer", ! 55: from "tar.c" - "case u", 'u' from taropt's option string, f_newer from ! 56: check command line, and prompt from "usage()". ! 57: ! 58: o ustar.c ! 59: ustar had default blocking factor for extract 20 bl. This number was ! 60: in "#define DEF_BLOCKING 20". Now it is "define DEF_BLOCKING 1". ! 61: ! 62: o ustar, pax, & cpio want have a big stack for working with directory ! 63: tree. I think that "fixstack +2000 ustar" could help them. ! 64: ! 65: o for distinguish between COHERENT "tar" and new "tar" the name for new ! 66: was changed to "ustar". For this was replacemented "tar" to "ustar" ! 67: in: ! 68: pax.c: if (strcmp(myname, "ustar")==0) { ! 69: pax.c: if (strcmp(optarg, "ustar") == 0) { ! 70: pax.c: } else if (strncmp(&bufstart[257], "ustar", 5) == 0) { ! 71: ! 72: pax.h: #define TMAGIC "ustar" /* ustar and a null */ ! 73: pax.h: * Exit codes from the "ustar" program ! 74: ! 75: ustar.c: * ustar.c - tar specific functions for archive handling ! 76: ustar.c: /* do_tar - main routine for ustar. ! 77: ustar.c: /* taropt - ustar specific getopt ! 78: ! 79: Makefile ! 80: # BINDIR - points to the directory in which you want the final pax, ustar and ! 81: MISC = Makefile pax.1 ustar.5 cpio.5 README PATCHLEVEL ! 82: port.c regexp.c replace.c ustar.c ttyio.c warn.c wildmat.c ! 83: port.o regexp.o replace.o ustar.o ttyio.o warn.o wildmat.o $(DIROBJ) ! 84: PROGS = pax ustar cpio ! 85: PMAN1 = pax.1 ustar.1 ! 86: PMAN5 = pax.5 ustar.5 ! 87: ustar: pax ! 88: rm -f ustar ! 89: ln pax ustar ! 90: ! 91: o Because 'r' cannot work with tape were added the code for ! 92: checking major number in the case of append (file fileio.c) ! 93: ! 94: #define TAPE_DEV 12 /* Tape's major number */ ! 95: if (stat(ar_file, &ap_stat) == -1) ! 96: fatal("cannot define the attributes of a file\n"); ! 97: if (major(ap_stat.st_rdev) == TAPE_DEV) ! 98: fatal("option 'r' does not work with tape\n"); ! 99: ! 100: o The was bug in ttyio.c. cpio takes input from stdin and redirect ! 101: it to stdout. The result is that original cpio can not creat ! 102: multiple volume backups. Some code were added to funcition ! 103: void next() to allow to do multiple volume backups ! 104: ! 105: BUGS ! 106: ==== ! 107: ! 108: o The problem is when we try to use ustar(pax or cpio) on big directories. ! 109: This program keeps file's names in the data segment. When total number of ! 110: names is big enough, it cannot allocate memory for new directory's entries. ! 111: Problem is similar to trouble with "unmkfs". ! 112: "ustar" (pax, cpio) could create archives about 1.7 - 2 Mb. ! 113:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.