[comp.os.minix] 1.3 Wrapup

ast@cs.vu.nl (Andy Tanenbaum) (10/18/88)

I have now sent the 1.3 diskettes off to P-H.  They send them off to the
company that does disk manufacturing for them, and I get a set for
verification.  While theoretically I can change them at that point, it
adds considerable delay, and I get negative brownie points for doing so.
Thus very likely, we are now done with 1.3.  As I mentioned before, it will
well into 1989 before I even start seriously working on 1.4.  Nevertheless,
I will continue to collect good stuff that appears on the net etc, and
squirrel it away.    I will post some very preliminary thoughts on 1.4 soon.

In any event, please try to upgrade to 1.3, either via all the diffs posted
or via the P-H upgrade kit, which will be available at the end of this year,
and will contain the binaries of the compiler (1.2 compiler == 1.3 compiler),
ELLE, patch, and the full sources of everything else in 1.3.  I would strongly
suggest that everyone keep a full 1.3 distribution on diskette, so that
changes made in the coming year can be done as cdifs relative to the base 1.3
system.  Thus if someone fixes a bug in <file.c>, and later someone fixes a
second bug, the second cdiff should still be relative to the base 1.3, not to
the then "current" version, since not everyone may have that.

Below is a shar archive containing a few files that I seemed not to have
posted before, and a crc listing of the 1.3 sources as they are on my disk.

Andy Tanenbaum (ast@cs.vu.nl)

: This is a shar archive.  Extract with sh, not csh.
: This archive ends with exit, so do not worry about trailing junk.
: --------------------------- cut here --------------------------
PATH=/bin:/usr/bin:/usr/ucb
echo Extracting 'commands:makef'
sed 's/^X//' > 'commands:makef' << '+ END-OF-FILE ''commands:makef'
X# To make  'cp', type:   make f=cp
X# To make  'ls', type:   make f=ls
X# To make  'cat', type:   make f=cat
X# Get the idea?
X
X# To make everything, use:
X#  mkdir bin
X#  for i in *.c
X#  do make f=`basename $i .c`
X#  done
X#
X# Furthermore, many commands need a different memory allocation, so chmem must
X# be run to change it.  See the shell script 'changemem' in tools.
X
Xl=/usr/lib
XCFLAGS=  -F -Di8088
X
Xfile:	$l/libc.a $f.s
X	@cc -o bin/$f $f.s
X	@chmem =3072 bin/$f >/dev/null
X	@echo "$f done ."
X
X
X
+ END-OF-FILE commands:makef
chmod 'u=rw,g=r,o=r' 'commands:makef'
set `wc -c 'commands:makef'`
count=$1
case $count in
494)	:;;
*)	echo 'Bad character count in ''commands:makef' >&2
		echo 'Count should be 494' >&2
esac
echo Extracting 'commands:run'
sed 's/^X//' > 'commands:run' << '+ END-OF-FILE ''commands:run'
X: It is necessary to chmem many commands to some size other than the
X: default size.  See the tools/changemem shell script.
X
Xmkdir bin 2>/dev/null
Xfor i in *.c
Xdo make f=`basename $i .c`
Xdone
+ END-OF-FILE commands:run
chmod 'u=rwx,g=rx,o=rx' 'commands:run'
set `wc -c 'commands:run'`
count=$1
case $count in
192)	:;;
*)	echo 'Bad character count in ''commands:run' >&2
		echo 'Count should be 192' >&2
esac
echo Extracting 'lib:READ_ME'
sed 's/^X//' > 'lib:READ_ME' << '+ END-OF-FILE ''lib:READ_ME'
XThe sources to the library are contained in an archive to save disk space.
XSince MINIX uses a minimum of 1K for each file, no matter how small,
Xthe sources take up less space when packed together in an archive.  To
Xextract them, make sure there is at least 130K of free disk space, and type:
X	ar xv libsrc.a
X
XFurthermore, please note that not all the library routines are contained
Xin /usr/lib/libc.a in order to save disk space.  If you have a hard disk,
Xcompare the contents of libsrc.a with libc.a, and compile the missing
Xroutines with cc -c -LIB -Di8088 file.c.  Add these to libc.a. With a floppy 
Xdisk system, you may not have room for the missing ones.
+ END-OF-FILE lib:READ_ME
chmod 'u=rw,g=r,o=r' 'lib:READ_ME'
set `wc -c 'lib:READ_ME'`
count=$1
case $count in
661)	:;;
*)	echo 'Bad character count in ''lib:READ_ME' >&2
		echo 'Count should be 661' >&2
esac
echo Extracting 'lib:run'
sed 's/^X//' > 'lib:run' << '+ END-OF-FILE ''lib:run'
X# ========== compile everything ===========
Xfor i in *.c
Xdo
X    echo $i
X    cc -c -LIB $i
Xdone
X
X
X# ========== build library ==============
X#
X# Build libc.a using all of the .s files in the current directory.
X# New files are placed at the beginning of the library followed by
X# modules which are already in the old library (/usr/lib/libc.a).
X# Old modules are placed in the new library in the same order in which
X# they appear in the old library.
X#
X# Art Zemon, July 17, 1987
X#
Xecho Reading old library
Xar t /usr/lib/libc.a > list
Xsplit -8 list
Xcat /dev/null > orig.order
Xecho Creating orig.order
Xfor f in x??
Xdo
X    echo ar a libc.a `cat $f` >> orig.order
X    rm $f
Xdone
X
X#
X# Figure out which files are not in the existing library.
X# Base this decision on the .c files because there are a couple of .s
X# files here which don't belong in the library.
X#
Xecho Checking .c files
Xcat /dev/null > new.files
Xfor c in *.c
Xdo
X    f=`basename $c .c`.s
X    echo $f
X    if grep -s "^$f" list > /dev/null 2>&1 ; then cat /dev/null ; else echo ar av libc.a $f >> new.files ; fi
Xdone
X
X#
X# Figure out which modules are in the library but not here and extract them
X# from the library.
X#
Xecho determining which modules must be extracted from old library
Xrm -f libc.a
Xsh orig.order > /dev/null 2> missing
Xar xv /usr/lib/libc.a `grep 'Cannot find ' missing | gres 'Cannot find ' ''`
Xrm missing libc.a list
X
X#
X# Construct the library
X#
Xecho constructing new library with new modules
Xsh new.files
Xecho appending original modules to new library
Xsh orig.order
Xecho done
+ END-OF-FILE lib:run
chmod 'u=rw,g=r,o=r' 'lib:run'
set `wc -c 'lib:run'`
count=$1
case $count in
1546)	:;;
*)	echo 'Bad character count in ''lib:run' >&2
		echo 'Count should be 1546' >&2
esac
echo Extracting 'crc.final'
sed 's/^X//' > 'crc.final' << '+ END-OF-FILE ''crc.final'
X32234   3646 /usr/include/a.out.h
X50166    133 /usr/include/ar.h
X61900    152 /usr/include/assert.h
X26992    673 /usr/include/ctype.h
X36672   1133 /usr/include/errno.h
X40434    351 /usr/include/fcntl.h
X08357     66 /usr/include/grp.h
X09580   2132 /usr/include/limits.h
X47777     81 /usr/include/memory.h
X33460     59 /usr/include/minix/blocksize.h
X64720    128 /usr/include/pwd.h
X65152    634 /usr/include/regexp.h
X62754     98 /usr/include/setjmp.h
X03794   1412 /usr/include/sgtty.h
X06265   1115 /usr/include/signal.h
X56753   1307 /usr/include/stdio.h
X42727    263 /usr/include/string.h
X58552     96 /usr/include/sys/dir.h
X51139    861 /usr/include/sys/stat.h
X09266     88 /usr/include/sys/timeb.h
X08886     94 /usr/include/sys/times.h
X03230    218 /usr/include/sys/types.h
X34166    139 /usr/include/time.h
X08000    352 /usr/include/unistd.h
X54909     74 /usr/include/utime.h
X13220    217 /usr/include/utmp.h
X06696   3080 minix/amoeba/examples/READ_ME
X36731   1370 minix/amoeba/examples/client1.c
X15288   1746 minix/amoeba/examples/client2.c
X08138   5810 minix/amoeba/examples/client3.c
X55621    199 minix/amoeba/examples/header.h
X47685    458 minix/amoeba/examples/makefile
X23651    852 minix/amoeba/examples/server1.c
X16916    741 minix/amoeba/examples/server2.c
X03452   2090 minix/amoeba/examples/server3.c
X12979   5281 minix/amoeba/fs/makefile
X59225   2445 minix/amoeba/h/amoeba.h
X00462    327 minix/amoeba/h/amparam.h
X08645   2893 minix/amoeba/h/host_os.h
X18513    193 minix/amoeba/install
X58835  27724 minix/amoeba/kernel/amoeba.c
X48298    215 minix/amoeba/kernel/amstat.h
X11854   1621 minix/amoeba/kernel/assert.h
X06448    654 minix/amoeba/kernel/byteorder.h
X54967    902 minix/amoeba/kernel/conf.c
X30284    610 minix/amoeba/kernel/conf.h
X45178   8277 minix/amoeba/kernel/dp8390.c
X10565   8035 minix/amoeba/kernel/dp8390.h
X29357    389 minix/amoeba/kernel/dp8390info.h
X28437    821 minix/amoeba/kernel/dp8390stat.h
X28320    172 minix/amoeba/kernel/eplinfo.h
X24353    404 minix/amoeba/kernel/etherformat.h
X44337   1390 minix/amoeba/kernel/etherplus.c
X21899    826 minix/amoeba/kernel/etherplus.h
X46334     32 minix/amoeba/kernel/exception.h
X59877   1354 minix/amoeba/kernel/global.h
X25776   1958 minix/amoeba/kernel/internet.h
X06203   7147 minix/amoeba/kernel/makefile
X27965   1427 minix/amoeba/kernel/mpx.H
X43095   1139 minix/amoeba/kernel/portcache.H
X01463  12260 minix/amoeba/kernel/portcache.c
X42274    255 minix/amoeba/kernel/portstat.h
X38600   1259 minix/amoeba/kernel/task.h
X00190   4005 minix/amoeba/kernel/trans.H
X00233  35869 minix/amoeba/kernel/trans.c
X43898   2063 minix/amoeba/kernel/util.c
X27775     77 minix/amoeba/makefile
X50681   4344 minix/amoeba/mm/amoeba.c
X65129   2565 minix/amoeba/mm/makefile
X61433    767 minix/amoeba/util/READ_ME
X23849   1312 minix/amoeba/util/from.c
X50697    358 minix/amoeba/util/makefile
X32980   1337 minix/amoeba/util/master.c
X21969   1465 minix/amoeba/util/prot.c
X07462   1437 minix/amoeba/util/rcp
X59949   4628 minix/amoeba/util/rsh.c
X05337   8478 minix/amoeba/util/sherver.c
X60854    421 minix/amoeba/util/sherver.h
X21046    938 minix/amoeba/util/to.c
X41007   6207 minix/commands/animals.c
X48404  19498 minix/commands/ar.c
X16433   1615 minix/commands/ascii.c
X16506   5839 minix/commands/ast.c
X60664   4941 minix/commands/at.c
X30600   1730 minix/commands/atrun.c
X11818  14134 minix/commands/badblocks.c
X09785   6370 minix/commands/banner.c
X01345    622 minix/commands/basename.c
X03957   7987 minix/commands/cal.c
X10463   1439 minix/commands/cat.c
X36776  11781 minix/commands/cc.c
X42817   5931 minix/commands/cdiff.c
X57375    732 minix/commands/chgrp.c
X27811   2687 minix/commands/chmem.c
X34212   6964 minix/commands/chmod.c
X46813    727 minix/commands/chown.c
X05561    757 minix/commands/clr.c
X06733   2220 minix/commands/cmp.c
X06836   3433 minix/commands/comm.c
X31356  38532 minix/commands/compress.c
X63905   3546 minix/commands/cp.c
X54611   5843 minix/commands/cpdir.c
X30332   3512 minix/commands/crc.c
X27715   5143 minix/commands/cron.c
X11198   2223 minix/commands/date.c
X49446   5662 minix/commands/dd.c
X22124   3577 minix/commands/df.c
X16917   5383 minix/commands/diff.c
X17960  11073 minix/commands/dis88/README
X19257   7600 minix/commands/dis88/dis.h
X03273   5589 minix/commands/dis88/disfp.c
X61857  25688 minix/commands/dis88/dishand.c
X58032  17458 minix/commands/dis88/dismain.c
X16516    777 minix/commands/dis88/disrel.c
X12188  30238 minix/commands/dis88/distabs.c
X55558   1473 minix/commands/dis88/makefile
X37626   3982 minix/commands/diskcheck.c
X26190  28473 minix/commands/dosread.c
X02565   4395 minix/commands/du.c
X48277    723 minix/commands/echo.c
X07544  42036 minix/commands/ed.c
X23787   2763 minix/commands/expr.c
X47116    773 minix/commands/factor.c
X41725   9890 minix/commands/fdisk.c
X18084   5493 minix/commands/fgrep.c
X61039   3220 minix/commands/file.c
X28049  12342 minix/commands/find.c
X04128   4592 minix/commands/fix.c
X51360    299 minix/commands/getlf.c
X10255   2751 minix/commands/grep.c
X32905   3148 minix/commands/gres.c
X01913   1159 minix/commands/head.c
X54112   4249 minix/commands/help.c
X55302    557 minix/commands/kill.c
X20222   4005 minix/commands/libpack.c
X44726   2074 minix/commands/libupack.c
X18018   1111 minix/commands/ln.c
X59287   3973 minix/commands/login.c
X60732   7645 minix/commands/lorder.c
X06347   1647 minix/commands/lpr.c
X49285  13438 minix/commands/ls.c
X18912   1803 minix/commands/make/ReadMe
X05068   2100 minix/commands/make/check.c
X14691   2457 minix/commands/make/h.h
X36629   6577 minix/commands/make/input.c
X30757   2366 minix/commands/make/macro.c
X32093   4332 minix/commands/make/main.c
X05145   7681 minix/commands/make/make.c
X22415    498 minix/commands/make/makefile
X12045   1795 minix/commands/make/reader.c
X27048   4916 minix/commands/make/rules.c
X57349    494 minix/commands/makefile
X43569     96 minix/commands/mined/makefile
X63267   6878 minix/commands/mined/mined.h
X49653  60035 minix/commands/mined/mined1.c
X09064  44895 minix/commands/mined/mined2.c
X01732   1319 minix/commands/mkdir.c
X52749  25884 minix/commands/mkfs.c
X05593    555 minix/commands/mknod.c
X39898   5582 minix/commands/more.c
X25884   1163 minix/commands/mount.c
X37282   3733 minix/commands/mv.c
X53701   3923 minix/commands/nm.c
X21321   5148 minix/commands/od.c
X65009   2392 minix/commands/passwd.c
X25508  12000 minix/commands/paste.c
X46629  12100 minix/commands/pr.c
X44668   2025 minix/commands/prep.c
X32932    190 minix/commands/printenv.c
X24885   1646 minix/commands/pwd.c
X11400    507 minix/commands/readall.c
X52678   4113 minix/commands/readclock.c
X12013  14455 minix/commands/readfs.c
X56057   1456 minix/commands/rev.c
X44299   2929 minix/commands/rm.c
X33027   2958 minix/commands/rmdir.c
X58915  20224 minix/commands/roff.c
X02728    192 minix/commands/run
X30068  45809 minix/commands/sed.c
X58305    127 minix/commands/sh/makefile
X38542   7321 minix/commands/sh/sh.h
X35063  14561 minix/commands/sh/sh1.c
X12818  11571 minix/commands/sh/sh2.c
X13189  16895 minix/commands/sh/sh3.c
X34776  12321 minix/commands/sh/sh4.c
X24520   9258 minix/commands/sh/sh5.c
X26188     92 minix/commands/sh/sh6.c
X05947   1146 minix/commands/shar.c
X08693   1521 minix/commands/size.c
X13037    427 minix/commands/sleep.c
X47291  31413 minix/commands/sort.c
X45875   2073 minix/commands/split.c
X44600   4052 minix/commands/strings.c
X20678   2829 minix/commands/strip.c
X45523   4700 minix/commands/stty.c
X03641   1140 minix/commands/su.c
X59580   1781 minix/commands/sum.c
X57610    140 minix/commands/sync.c
X50173   4209 minix/commands/tail.c
X19539   9656 minix/commands/tar.c
X51512   1178 minix/commands/tee.c
X28429   4140 minix/commands/term.c
X14056   3832 minix/commands/termcap.c
X29234   4230 minix/commands/test.c
X49230   2638 minix/commands/time.c
X58865   1282 minix/commands/touch.c
X10498   3267 minix/commands/tr.c
X01207   1737 minix/commands/traverse.c
X05558   6938 minix/commands/treecmp.c
X47860   2431 minix/commands/tset.c
X30205   6563 minix/commands/tsort.c
X59715    382 minix/commands/tty.c
X20827   1114 minix/commands/umount.c
X06117   3263 minix/commands/uniq.c
X30359    424 minix/commands/update.c
X54324   3180 minix/commands/uudecode.c
X02849   1808 minix/commands/uuencode.c
X55996   2966 minix/commands/vol.c
X56043   2880 minix/commands/wc.c
X28719   1686 minix/commands/who.c
X25742    279 minix/commands/whoami.c
X58277  23674 minix/doc/USER_GUIDE
X36003   3239 minix/doc/dis88.man
X33297  14653 minix/doc/elle.man
X42220  39018 minix/doc/lib.doc
X40393  38509 minix/doc/man_pages
X63945  44305 minix/doc/net.man
X19878   4197 minix/fs/at_makefile
X61318   2988 minix/fs/buf.h
X31034  10863 minix/fs/cache.c
X49601   2925 minix/fs/const.h
X32651    273 minix/fs/dev.h
X54203   8530 minix/fs/device.c
X43804    474 minix/fs/file.h
X08379   3225 minix/fs/filedes.c
X03291   1502 minix/fs/fproc.h
X32100   1013 minix/fs/glo.h
X62665   7839 minix/fs/inode.c
X05436   1943 minix/fs/inode.h
X37259   5662 minix/fs/link.c
X15515  15303 minix/fs/main.c
X43484   7670 minix/fs/misc.c
X59037   6257 minix/fs/mount.c
X08819   9226 minix/fs/open.c
X59312   1557 minix/fs/param.h
X44200  10716 minix/fs/path.c
X46842   4266 minix/fs/pc_makefile
X08656   8462 minix/fs/pipe.c
X01700   5864 minix/fs/protect.c
X11848   1440 minix/fs/putc.c
X15755  12205 minix/fs/read.c
X14710   5397 minix/fs/stadir.c
X11343   8912 minix/fs/super.c
X10348   2081 minix/fs/super.h
X46563   4312 minix/fs/table.c
X03667   2620 minix/fs/time.c
X56368    710 minix/fs/type.h
X42080   5396 minix/fs/utility.c
X00551   7367 minix/fs/write.c
X45442   1683 minix/h/callnr.h
X55177   7424 minix/h/com.h
X21531   4403 minix/h/const.h
X48562   2191 minix/h/error.h
X03794   1412 minix/h/sgtty.h
X06265   1115 minix/h/signal.h
X51139    861 minix/h/stat.h
X16557   4001 minix/h/type.h
X50110   3188 minix/kernel/at_makefile
X64098  16075 minix/kernel/at_wini.c
X11053   9335 minix/kernel/clock.c
X01201  33549 minix/kernel/console.c
X46559   2880 minix/kernel/const.h
X09961   3543 minix/kernel/dmp.c
X37030  26551 minix/kernel/floppy.c
X39457    881 minix/kernel/glo.h
X29135  26496 minix/kernel/klib88.s
X01335  11156 minix/kernel/main.c
X36060   5296 minix/kernel/memory.c
X09331  13834 minix/kernel/mpx88.s
X65108   3375 minix/kernel/pc_makefile
X56408   9952 minix/kernel/printer.c
X10507  13753 minix/kernel/proc.c
X21644   2324 minix/kernel/proc.h
X12176  18813 minix/kernel/ps_wini.c
X59321  19053 minix/kernel/rs232.c
X61988  19960 minix/kernel/system.c
X38305   3634 minix/kernel/table.c
X03407  28073 minix/kernel/tty.c
X34455   7485 minix/kernel/tty.h
X44806   4708 minix/kernel/ttymaps.h
X27554    742 minix/kernel/type.h
X14198  26433 minix/kernel/xt_wini.c
X20633     70 minix/lib/IBM_PC/brksize.s
X47738    814 minix/lib/IBM_PC/catchsig.s
X43613    598 minix/lib/IBM_PC/crtso.s
X33661    103 minix/lib/IBM_PC/end.s
X52608   1045 minix/lib/IBM_PC/getutil.s
X63856    478 minix/lib/IBM_PC/head.s
X61841   1305 minix/lib/IBM_PC/portio.s
X56449    474 minix/lib/IBM_PC/prtso.s
X27532    809 minix/lib/IBM_PC/sendrec.s
X17701    445 minix/lib/IBM_PC/setjmp.s
X57827    661 minix/lib/READ_ME
X44585     67 minix/lib/abort.c
X62378     35 minix/lib/abs.c
X00847    116 minix/lib/access.c
X53180    130 minix/lib/alarm.c
X15118   2103 minix/lib/amoeba.c
X02865   1052 minix/lib/atoi.c
X09958    308 minix/lib/atol.c
X05346    495 minix/lib/bcmp.c
X46098    116 minix/lib/bcopy.c
X32077    526 minix/lib/brk.c
X45837    128 minix/lib/brk2.c
X32537    998 minix/lib/bsearch.c
X13825    329 minix/lib/bzero.c
X45333   2076 minix/lib/call.c
X38438     95 minix/lib/chdir.c
X24400    114 minix/lib/chmod.c
X35694    160 minix/lib/chown.c
X52416     97 minix/lib/chroot.c
X63814    142 minix/lib/cleanup.c
X09772    117 minix/lib/close.c
X17351    113 minix/lib/creat.c
X52070    880 minix/lib/crypt.c
X19954    619 minix/lib/ctermid.c
X40552   1960 minix/lib/ctime.c
X29735    609 minix/lib/ctype.c
X00864    553 minix/lib/cuserid.c
X00979   4102 minix/lib/doprintf.c
X44155    112 minix/lib/dup.c
X07247    130 minix/lib/dup2.c
X29888   2327 minix/lib/exec.c
X32310   1858 minix/lib/execlp.c
X25467    298 minix/lib/exit.c
X09724    314 minix/lib/fclose.c
X45926    830 minix/lib/fdopen.c
X61312    356 minix/lib/fflush.c
X12779    224 minix/lib/ffs.c
X58025    617 minix/lib/fgetc.c
X56675    305 minix/lib/fgets.c
X36305    985 minix/lib/fopen.c
X41218    103 minix/lib/fork.c
X34967    309 minix/lib/fprintf.c
X12884    721 minix/lib/fputc.c
X23657    102 minix/lib/fputs.c
X26759    350 minix/lib/fread.c
X10093    175 minix/lib/freopen.c
X46552    969 minix/lib/fseek.c
X24992    156 minix/lib/fstat.c
X58766    407 minix/lib/ftell.c
X34432    315 minix/lib/fwrite.c
X23802   2784 minix/lib/getcwd.c
X49079    172 minix/lib/getegid.c
X11147    494 minix/lib/getenv.c
X20964    172 minix/lib/geteuid.c
X30382    133 minix/lib/getgid.c
X35565   2051 minix/lib/getgrent.c
X30802    429 minix/lib/getlogin.c
X14641    445 minix/lib/getpass.c
X01525    107 minix/lib/getpid.c
X47346   1734 minix/lib/getpwent.c
X34634    228 minix/lib/gets.c
X42731    133 minix/lib/getuid.c
X01733     96 minix/lib/gtty.c
X38698    113 minix/lib/index.c
X34565   1710 minix/lib/ioctl.c
X41007    187 minix/lib/isatty.c
X49081    438 minix/lib/itoa.c
X62370    205 minix/lib/kill.c
X36738    293 minix/lib/lib.h
X18984    146 minix/lib/link.c
X34936    811 minix/lib/lsearch.c
X53203    261 minix/lib/lseek.c
X19750   4607 minix/lib/malloc.c
X08173    296 minix/lib/memccpy.c
X18528    280 minix/lib/memchr.c
X58142    331 minix/lib/memcmp.c
X02386    691 minix/lib/memcpy.c
X27776    260 minix/lib/memset.c
X60920    139 minix/lib/message.c
X31402    160 minix/lib/mknod.c
X23306    420 minix/lib/mktemp.c
X63119    181 minix/lib/mount.c
X39272    111 minix/lib/open.c
X33919    105 minix/lib/pause.c
X43918   1474 minix/lib/perror.c
X10862    215 minix/lib/pipe.c
X11127   1048 minix/lib/popen.c
X04176    360 minix/lib/printdat.c
X50919   4044 minix/lib/printk.c
X11770   1225 minix/lib/prints.c
X36117    117 minix/lib/puts.c
X50428   2820 minix/lib/qsort.c
X65186    172 minix/lib/rand.c
X49122    179 minix/lib/read.c
X46123  27676 minix/lib/regexp.c
X06232   2106 minix/lib/regsub.c
X10614    156 minix/lib/rindex.c
X16785   1546 minix/lib/run
X18260   5928 minix/lib/scanf.c
X33815    299 minix/lib/setbuf.c
X06203    121 minix/lib/setgid.c
X13969    121 minix/lib/setuid.c
X56736    842 minix/lib/signal.c
X47616    235 minix/lib/sleep.c
X06501    294 minix/lib/sprintf.c
X12818    164 minix/lib/stat.c
X03184    211 minix/lib/stb.c
X32278     91 minix/lib/stderr.c
X07568    100 minix/lib/stime.c
X46909    267 minix/lib/strcat.c
X54813    276 minix/lib/strchr.c
X21978    167 minix/lib/strcmp.c
X60457    159 minix/lib/strcpy.c
X46371    698 minix/lib/strcspn.c
X37192    124 minix/lib/strlen.c
X50373    442 minix/lib/strncat.c
X09417    486 minix/lib/strncmp.c
X24852    541 minix/lib/strncpy.c
X64825    670 minix/lib/strpbrk.c
X51316    301 minix/lib/strrchr.c
X31009    705 minix/lib/strspn.c
X29781    856 minix/lib/strstr.c
X47083   1663 minix/lib/strtok.c
X10475     96 minix/lib/stty.c
X01903    278 minix/lib/swab.c
X40136    103 minix/lib/sync.c
X43423   4481 minix/lib/syslib.c
X38766    436 minix/lib/system.c
X39955   5964 minix/lib/termcap.c
X33646    258 minix/lib/time.c
X49116    304 minix/lib/times.c
X23871   1367 minix/lib/ttyname.c
X15882    137 minix/lib/umask.c
X08177     96 minix/lib/umount.c
X28421    286 minix/lib/ungetc.c
X42356    374 minix/lib/uniqport.c
X32976     96 minix/lib/unlink.c
X12074    187 minix/lib/utime.c
X18953    189 minix/lib/wait.c
X47336    154 minix/lib/write.c
X59150   7857 minix/mm/alloc.c
X49710   1833 minix/mm/at_makefile
X05784   7234 minix/mm/break.c
X43289    744 minix/mm/const.h
X37617  17077 minix/mm/exec.c
X17024   9871 minix/mm/forkexit.c
X34366   1572 minix/mm/getset.c
X06761    799 minix/mm/glo.h
X41965   7272 minix/mm/main.c
X46388   1661 minix/mm/mproc.h
X21684    677 minix/mm/param.h
X39295   1890 minix/mm/pc_makefile
X54292   1487 minix/mm/putc.c
X55828  13811 minix/mm/signal.c
X09215   3143 minix/mm/table.c
X17333    238 minix/mm/type.h
X20567   4181 minix/mm/utility.c
X59092    251 minix/test/makefile
X29539    100 minix/test/run
X20503     22 minix/test/t10a.c
X51001    840 minix/test/t11a.c
X42075    462 minix/test/t11b.c
X01801   5927 minix/test/test0.c
X45629   1116 minix/test/test1.c
X32574   1765 minix/test/test10.c
X11430   1821 minix/test/test11.c
X23963   1016 minix/test/test2.c
X49300   1461 minix/test/test3.c
X19872   1019 minix/test/test4.c
X26501   4532 minix/test/test5.c
X47521   1253 minix/test/test6.c
X43244    526 minix/test/test7.c
X27162   1882 minix/test/test8.c
X54372   3466 minix/test/test9.c
X59520   2249 minix/tools/at_makefile
X13594   8083 minix/tools/bootblok.s
X02360  19714 minix/tools/build.c
X53860   1298 minix/tools/changemem
X51921  45901 minix/tools/fsck.c
X34431   3158 minix/tools/fsck1.s
X39871     44 minix/tools/group
X21308   6082 minix/tools/init.c
X43560    327 minix/tools/message
X52749  25884 minix/tools/mkfs.c
X52059     97 minix/tools/passwd
X59520   2249 minix/tools/pc_makefile
X00735    105 minix/tools/profile
X09800    197 minix/tools/rc
X12541      4 minix/tools/ttys
X10241     22 minix/tools/ttytype
+ END-OF-FILE crc.final
chmod 'u=rw,g=r,o=r' 'crc.final'
set `wc -c 'crc.final'`
count=$1
case $count in
16912)	:;;
*)	echo 'Bad character count in ''crc.final' >&2
		echo 'Count should be 16912' >&2
esac
exit 0