Annotation of coherent/d/usr/bin/pax/shipping/pax.cnv, revision 1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.