Path: utzoo!attcan!uunet!ndsuvax!ncoverby From: ncoverby@ndsuvax.UUCP (Glen Overby) Newsgroups: comp.os.minix Subject: Re: V1.3 posting #1 - USER_GUIDE Summary: Fixes and Additions! Keywords: patch diff make Message-ID: <969@ndsuvax.UUCP> Date: 1 Jun 88 06:06:20 GMT References: <762@ast.cs.vu.nl> <967@ndsuvax.UUCP> Reply-To: ncoverby@ndsuvax.UUCP (Glen Overby) Organization: North Dakota State University Fargo, ND Lines: 342 In article <967@ndsuvax.UUCP> ncoverby@ndsuvax.UUCP (/dev/tty) writes: >In article <762@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: >>This is the first posting of V1.3. > > I did encounter other problems, though. Well, it's been another long day of MAKE and bug swatting. I figure I've spent about 4 hours installing the diffs and 8-10 hours compiling (8MHZ PC/0 wait) thus creating 829KB of new binaries. Now I know why Andy was talking about soaking it to the floppy people. I fixed all the problems I posted yesterday as well as some new ones. I found that all the files which Andy didn't post with the new set of commands needed changes to some of the includes, notably "stat.h" was changed toin several places. I've included diffs below to make it easy to see (and fix) what I'm talking about. When I fixed a problem and re-ran the "run" programs, they had the subtle feature of wasting lots of my time recompiling everything that had already been compiled. Well, the Unix utility Make prevents this. I wrote Makefiles for the lib and commands directories, and they are included in the shar below. I still use the "run" file to create my library. I didn't see any patches to Mined for the new tty control sequences, so I kept the old ones from the first battery of 1.2 patches. It wasn't much of a problem anyway because I use elle. Even on my third total recompliation of Minix, I got caught by the sneaky error in cc.c. I guess I'll never learn! Check my commands Makefile for a cute solution to the two versions of cc. Oh, yes, the reason I have multiple "SRC" and "OBJ" definitions is because Minix's make didn't like it when I put all of them in one. Shar and Enjoy! (betchya inews doesn't complain about ME including more quoted text than origional text!) Glen [I still have my Minix 1.1 disks] Overby Bitnet: ncoverby@ndsuvax UUCP: {uunet, ihnp4!umn-cs}!ndsuvax!ncoverby Cut along the dotted line; send the top portion in with ------- your submission and keep the rest for your records ------------------ #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # com:Makefile # com:chgrp.diff # com:compress.diff # com:file.diff # com:sh:Makefile # com:sh:sh4.diff # lib:Makefile # lib:fopen.diff # lib:message.diff # This archive created: Wed Jun 1 00:34:12 1988 export PATH; PATH=/bin:$PATH if test -f 'com:Makefile' then echo shar: will not over-write existing file "'com:Makefile'" else sed 's/^X//' << \SHAR_EOF > 'com:Makefile' X# X# Description File for the Minix 1.3 Commands X# X# Add new commands to the "OBJ" define. X# X# The contents of the OBJ define are duplicated on the description line X# because Minix's MAKE cannot handle having a macro there. X# XCFLAGS= -i -T. X XSRC= ar.c ascii.c badblocks.c basename.c cal.c cat.c cc.c chgrp.c \ X chmem.c chmod.c chown.c clr.c cmp.c comm.c compress.c cp.c \ X cpdir.c date.c dd.c df.c diff.c diskcheck.c dosread.c du.c \ X echo.c ed.c expr.c factor.c fdisk.c fgrep.c file.c find.c \ X fix.c getlf.c grep.c gres.c head.c kill.c libpack.c \ X libupack.c ln.c login.c lpr.c ls.c make.c mkdir.c mkfs.c XSRC1= mknod.c more.c mount.c mv.c od.c passwd.c pr.c prep.c \ X printenv.c pwd.c readall.c readfs.c rev.c rm.c rmdir.c \ X roff.c shar.c size.c sleep.c sort.c split.c strings.c \ X stty.c su.c sum.c sync.c tail.c tar.c tee.c test.c time.c \ X touch.c tr.c treecmp.c umount.c uniq.c update.c uudecode.c \ X uuencode.c wc.c whoami.c X XOBJ= ar ascii badblocks basename cal cat cc512 cc640 chgrp \ X chmem chmod chown clr cmp comm compress cp \ X cpdir date dd df diff diskcheck dosread du \ X echo ed expr factor fdisk fgrep file find \ X fix getlf grep gres head kill libpack \ X libupack ln login lpr ls make mkdir mkfs XOBJ1= mknod more mount mv od passwd pr prep \ X printenv pwd readall readfs rev rm rmdir \ X roff shar size sleep sort split strings \ X stty su sum sync tail tar tee test time \ X touch tr treecmp umount uniq update uudecode \ X uuencode wc whoami X Xall: $(OBJ) $(OBJ1) X Xar ascii badblocks basename cal cat cc chgrp \ Xchmem chmod chown clr cmp comm cp \ Xcpdir date dd df diff diskcheck dosread du \ Xecho ed expr factor fdisk fgrep file find \ Xfix getlf grep gres head kill libpack \ Xlibupack ln login lpr ls make mkdir mkfs: $@.s X cc $(CFLAGS) -o $@ $@.s X ln $@ bin X Xmknod more mount mv od passwd pr prep \ Xprintenv pwd readall readfs rev rm rmdir \ Xroff shar size sleep sort split strings \ Xstty su sum sync tail tar tee test time \ Xtouch tr treecmp umount uniq update uudecode \ Xuuencode wc whoami : $@.s X cc $(CFLAGS) -o $@ $@.s X ln $@ bin X X#Yes, both of these must compile cc.s; if it is not, then the #define X#of MEM{512,640}K doesn't get changed! Xcc512: cc.c X cc $(CFLAGS) -DMEM512K -o $@ cc.c X ln $@ bin X Xcc640: cc.c X cc $(CFLAGS) -DMEM640K -o $@ cc.c X ln $@ bin X Xcompress: $@.s X cc $(CFLAGS) -o $@ $@.s X ln $@ bin/compress X ln $@ bin/uncompress X ln $@ bin/zcat X Xcompress.s: compress.c X cc -S $(CFLAGS) -DMINIX -DAZTEC86 compress.c X X Xcleans: X rm ar.s ascii.s badblocks.s basename.s cal.s cat.s cc.s chgrp.s X rm chmem.s chmod.s chown.s clr.s cmp.s comm.s compress.s cp.s X rm cpdir.s date.s dd.s df.s diff.s diskcheck.s dosread.s du.s X rm echo.s ed.s expr.s factor.s fdisk.s fgrep.s file.s find.s X rm fix.s getlf.s grep.s gres.s head.s kill.s libpack.s X rmlibupack.s ln.s login.s lpr.s ls.s make.s mkdir.s mkfs.s X rm mknod.s more.s mount.s mv.s od.s passwd.s pr.s prep.s X rm printenv.s pwd.s readall.s readfs.s rev.s rm.s rmdir.s X rm roff.s shar.s size.s sleep.s sort.s split.s strings.s X rm stty.s su.s sum.s sync.s tail.s tar.s tee.s test.s time.s X rm touch.s tr.s treecmp.s umount.s uniq.s update.s uudecode.s X rm uuencode.s wc.s whoami.s X Xcleanb: X rm ar ascii badblocks basename cal cat cc512 cc640 chgrp X rm chmem chmod chown clr cmp comm compress cp X rm cpdir date dd df diff diskcheck dosread du X rm echo ed expr factor fdisk fgrep file find X rm fix getlf grep gres head kill libpack X rm libupack ln login lpr ls make mkdir mkfs X rm mknod more mount mv od passwd pr prep X rm printenv pwd readall readfs rev rm rmdir X rm roff shar size sleep sort split strings X rm stty su sum sync tail tar tee test time X rm touch tr treecmp umount uniq update uudecode X rm uuencode wc whoami X X SHAR_EOF fi # end of overwriting check if test -f 'com:chgrp.diff' then echo shar: will not over-write existing file "'com:chgrp.diff'" else sed 's/^X//' << \SHAR_EOF > 'com:chgrp.diff' X9,12c9,12 X< #include "../include/grp.h" X< #include "../h/type.h" X< #include "stat.h" X< #include "stdio.h" X--- X> #include X> #include X> #include X> #include X39c39 X< if (chown (argv[i], stbuf.st_uid, grp -> gid) < 0) { X--- X> if (chown (argv[i], stbuf.st_uid, grp -> gr_gid) < 0) { SHAR_EOF fi # end of overwriting check if test -f 'com:compress.diff' then echo shar: will not over-write existing file "'com:compress.diff'" else sed 's/^X//' << \SHAR_EOF > 'com:compress.diff' X326c326 X< #include X--- X> #include SHAR_EOF fi # end of overwriting check if test -f 'com:file.diff' then echo shar: will not over-write existing file "'com:file.diff'" else sed 's/^X//' << \SHAR_EOF > 'com:file.diff' X3c3 X< #include X--- X> #include X5c5 X< #include X--- X> #include SHAR_EOF fi # end of overwriting check if test -f 'com:sh:Makefile' then echo shar: will not over-write existing file "'com:sh:Makefile'" else sed 's/^X//' << \SHAR_EOF > 'com:sh:Makefile' X# X# $Header: makefile,v 1.2 87/09/02 12:08:19 ncpascal Exp $ X# X X# commands/sh/makefile X XCFLAGS= -I. -T. X XOBJ= sh1.s sh2.s sh3.s sh4.s sh5.s sh6.s X X Xsh: $(OBJ) sh.h X cc -i -T. -o sh $(OBJ) X SHAR_EOF fi # end of overwriting check if test -f 'com:sh:sh4.diff' then echo shar: will not over-write existing file "'com:sh:sh4.diff'" else sed 's/^X//' << \SHAR_EOF > 'com:sh:sh4.diff' X2,5c2,5 X< #include "signal.h" X< #include "errno.h" X< #include "setjmp.h" X< #include "stat.h" X--- X> #include X> #include X> #include X> #include SHAR_EOF fi # end of overwriting check if test -f 'lib:Makefile' then echo shar: will not over-write existing file "'lib:Makefile'" else sed 's/^X//' << \SHAR_EOF > 'lib:Makefile' X# X# Description File for the Minix 1.3 Library X# X# Add new files to the "OBJ" define. X# X# The contents of the OBJ define are duplicated on the description line X# because Minix's MAKE cannot handle having a macro there. X# XCFLAGS= -I. X XSRC= abort.c abs.c access.c alarm.c amoeba.c atoi.c atol.c \ X bcopy.c brk.c brk2.c call.c chdir.c chmod.c chown.c chroot.c \ X cleanup.c close.c creat.c crypt.c ctime.c ctype.c \ X doprintf.c dup.c dup2.c exec.c exit.c fclose.c fdopen.c \ X fflush.c fgets.c fopen.c fork.c fprintf.c fputs.c fread.c X XSRC0= freopen.c fseek.c fstat.c ftell.c fwrite.c getc.c getegid.c \ X getenv.c geteuid.c getgid.c getgrent.c getpass.c getpid.c \ X getpwent.c gets.c getuid.c gtty.c index.c ioctl.c isatty.c \ X itoa.c kill.c link.c lseek.c malloc.c message.c mknod.c mktemp.c X XSRC1= mount.c open.c pause.c perror.c pipe.c popen.c printdat.c \ X printk.c prints.c putc.c puts.c qsort.c rand.c read.c regexp.c \ X regsub.c rindex.c scanf.c setbuf.c setgid.c setuid.c signal.c \ X sleep.c sprintf.c stat.c stb.c stderr.c stime.c strcat.c strcmp.c X XSRC3= strcpy.c strlen.c strncat.c strncmp.c strncpy.c stty.c sync.c \ X syslib.c system.c termcap.c time.c times.c umask.c umount.c \ X ungetc.c uniqport.C unlink.c utime.c wait.c write.c X XOBJ= abort.s abs.s access.s alarm.s atoi.s atol.s \ X bcopy.s brk.s brk2.s call.s chdir.s chmod.s chown.s chroot.s \ X cleanup.s close.s creat.s crypt.s ctime.s ctype.s \ X doprintf.s dup.s dup2.s exec.s exit.s fclose.s fdopen.s \ X fflush.s fgets.s fopen.s fork.s fprintf.s fputs.s fread.s X XOBJ0= freopen.s fseek.s fstat.s ftell.s fwrite.s getc.s getegid.s \ X getenv.s geteuid.s getgid.s getgrent.s getpass.s getpid.s \ X getpwent.s gets.s getuid.s gtty.s index.s ioctl.s isatty.s \ X itoa.s kill.s link.s lseek.s malloc.s message.s mknod.s mktemp.s X XOBJ1= mount.s open.s pause.s perror.s pipe.s popen.s printdat.s \ X printk.s prints.s putc.s puts.s qsort.s rand.s read.s regexp.s \ X regsub.s rindex.s scanf.s setbuf.s setgid.s setuid.s signal.s \ X sleep.s sprintf.s stat.s stb.s stderr.s stime.s strcat.s strcmp.s X XOBJ2= strcpy.s strlen.s strncat.s strncmp.s strncpy.s stty.s sync.s \ X syslib.s system.s termcap.s time.s times.s umask.s umount.s \ X ungetc.s unlink.s utime.s wait.s write.s X X.c.s: X cc -c -LIB $(CFLAGS) $< X Xall: $(OBJ) $(OBJ0) $(OBJ1) $(OBJ2) X SHAR_EOF fi # end of overwriting check if test -f 'lib:fopen.diff' then echo shar: will not over-write existing file "'lib:fopen.diff'" else sed 's/^X//' << \SHAR_EOF > 'lib:fopen.diff' X6a7 X> #include SHAR_EOF fi # end of overwriting check if test -f 'lib:message.diff' then echo shar: will not over-write existing file "'lib:message.diff'" else sed 's/^X//' << \SHAR_EOF > 'lib:message.diff' X10c10 X< message M = {0}; X--- X> message M; /* others (v1.1) don't allow it at all = {0}; */ SHAR_EOF fi # end of overwriting check # End of shell archive exit 0 -- Glen Overby Bitnet: ncoverby@ndsuvax UUCP: {uunet, ihnp4!umn-cs}!ndsuvax!ncoverby