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 to  in 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