Annotation of researchv10no/cmd/dist/talk/slide7, revision 1.1

1.1     ! root        1: .ce
        !             2: How \fIinsdist\fP works
        !             3: .sp 2
        !             4: .BU
        !             5: We want either completely install the distribution, or
        !             6: completely fail to install it; we don't want the file system
        !             7: left in an intermediate state.
        !             8: Initial idea:
        !             9: .CO
        !            10: tar cf $backup $files
        !            11: tar t $backup | sort > $oldlist
        !            12: tar tf $tarfile | sort > $newlist
        !            13: if tar xf $tarfile
        !            14: then
        !            15:        comm -23 $oldlist $newlist > $remove
        !            16:        test -s $remove && xargs rm -fr < $remove
        !            17: else
        !            18:        tar xf $backup
        !            19:        comm -13 $oldlist $newlist > $remove
        !            20:        test -s $remove && xargs rm -fr < $remove
        !            21: fi
        !            22: .CE
        !            23: .BU
        !            24: Unfortunately, line oriented text utilities don't like
        !            25: funny file names.  We can fix this with \f(CWqargs\fP and
        !            26: \f(CWuargs\fP.
        !            27: Revised code:
        !            28: .CO
        !            29: # assume $files is in qargs format
        !            30: uargs tar cf $backup $files
        !            31: # tarf -tq prints tarfile contents in qargs format
        !            32: tarf -tq < $backup | sort > $oldlist
        !            33: tarf -tq < $tarfile | sort > $newlist
        !            34: if tar xf $tarfile
        !            35: then
        !            36:        comm -23 $oldlist $newlist > $remove
        !            37:        test -s $remove && xargs uargs rm -fr < $remove
        !            38: else
        !            39:        tar xf $backup
        !            40:        comm -13 $oldlist $newlist > $remove
        !            41:        test -s $remove && xargs uargs rm -fr < $remove
        !            42: fi
        !            43: .CE

unix.superglobalmegacorp.com

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