Subject: Snapshot report - 29th July/5th August tar_files
To: None <current-users@NetBSD.ORG>
From: Alistair G. Crooks <agc@uts.amdahl.com>
List: current-users
Date: 08/11/1995 08:04:31
Just a quick word to say that the July 29th tar files had to comment
out the stuff relating to 04.csh in /usr/src/share/doc/usd/Makefile to
make it compile.

The August 5th tar_files compiled out of the box.

There's a biggy in the August 12th tar_files - Charles Hannum fixed a
bug in /sys/arch/i386/isa/isa_machdep.c - you may be advised to grab
version 1.7 of this file from ftp.netbsd.org, as it could save you
some pain.  Thanks, Charles.

What's gone into the tar_files:

29th July:
> latest if_de, from Matt Thomas
> sys/net/bpf.c
For outgoing packets, always allocate a header mbuf and fill it in.
> if_ed.c, if_ep.c, if_fe.c, if_el.c
Always use m_pkthdr.len on output.  Panic if M_PKTHDR is not set.
Init functions are always called at splimp().
Various cleanup:
* Use standard function naming conventions.
* Only increment if_ipackets when a packet was actually received.
* Check for excessively large or small packets before trying to read them.
> sys/arch/i386/conf/Makefile.i386
Move -Werror from kernel config file to Makefile.* 
> usr.sbin/pcnfsd
gwr's port of pcnfsd
> distrib/sets/list/base
various cleanups on the lists here
> usr.bin/bdes
Added bdes
add dummy bdes script, which prints an error to stderr and exits with an
error code.  include manual page, because it's exportable.  note in manual
page that installed version doesn't actually work.
> sys/compat/linux/linux_file.c syscalls.master 
mkdir() has 2 arguments.. fixes PR 1248 (from Brad Spencer)
> src/sys/msdosfs bootsect.h bpb.h fat.h msdosfs_vfsops.c msdosfsmount.h 
Make the msdosfs driver understand Atari-gemdos filesystems. Although they
have much in common, there are some differences in the bpb/bootsector that
needed to be handled in the mounting code. The gemdos bpb/bootsector structs
are included for clarification.
> sys/scsi/scsiconf.h 
kill structure offest comments in non-fixed-size structures.
In some of our worlds, pointers just Aren't 4 bytes.
> most of scsi subsystem
update SCSI minphys routines' definitions to match standard minphys() 
definition and usage.
> sbin/savecore/savecore.c 
set dumpsize in dump_exists(), not save_core(), so that minfree check
works again.  solves pr 1257, but sets dumpsize earlier than suggested
in that pr, so that dumpsize is set if a core doesn't appear to be
present (because dumpsize would be used if the '-f' flag is given).
> most file system code
avoid unnecessary aging of buffers.  This used to make sense, when buffer
caches were much smaller, but makes little sense now, and will become more
useless as RAM (and buffer cache) sizes grow.  Suggested by Bob Baron.
> masses of files
Use "utility" instead of "command".  Modern definitions of these terms
are distinct (See POSIX.2 glossary).
A utility is a executable, script or shell builtin; while a command
can be any of those things plus lists, pipelines, compound commands
(if, for, while) and shell function definitions.
> usr.sbin/bootpd/hwaddr.c
Delete (possibly incomplete) ARP table entry before adding.
Thanks to Chritos Zoulas and others.  Fixes PR# 1242
> new port added
mvme68k port -- for the motorola vme147 m68030 card
> sys/kern/kern_physio.c 
After an I/O operation completes, immediately set B_BUSY again.  Also,
lower spl sooner, and remove an unneeded splbio()/splx() pair.
> sys/dev/isa/if_le.c if_levar.h 
Add PCI-specific configuration for PCnet-PCI.
> sys/arch/atari/dev/ms.c 
Add middle button emulation.
> sbin/ping/ping.8 ping.c 
Add and document options -w (to specify a maximum wait timeout, useful
for testing network interfaces) and -S (to specify a source address
on a machine with multiple interfaces).
> masses of files
Improvements to YP support from Jason Downs.
> sys/dev/isa/aha1542.c bt742a.c seagate.c ultra14f.c 
Don't loop if we're out of CCBs/SCBs/MSCPs.

And for the August 5th tar_files:
> sys/dev/isa/aha1542.c bt742a.c 
Turn off the mbi diagnostics completely.
> sys/arch/mac68k/dev/if_ae.c if_aereg.h 
Add support for Farallon from Brian Gaeke (brg@dgate.org).
> sys/arch/sparc/dev/xd.c 
update from Chuck
> bin/cp/utils.c 
Don't remove the destination file if there is a write error.  This is
very bad if it is actually a device or fifo.  POSIX.2 requires that a
diagnostic message be written, the file descriptor be closed, and for
cp to continue on with the rest of the files.
> etc/rc.local 
move the ldconfig to before the local daemons (so that people put
weird ldconfigs there, so that local daemons can use them), and only
run ldconfig if it exists.
> sys/kern/vfs_bio.c 
fix bug pointed out by, and do the cleanup suggested by
Alasdair Baird <alasdair@wildcat.demon.co.uk>.  From pr 1301.
[nice name, crummy spelling - agc]
> Lots of alpha stuff
> sys/arch/pmax/dev/scc.c dc.c asc.c cfb.c 
Add preliminary support for new-style configuration: struct cfdriver,
and match and attach code.  Still use the static softc so that drivers
work with kernels configured with either new or old config.
> sys/lib/libsa/exec.c 
Fix off-by-one error when padding text segment.
> src/sys/kern/kern_sysctl.c and others
Add and document a `kern.rawpartition' sysctl.
> gnu/usr.bin/ld/sparc/md.h 
> gnu/usr.bin/ld/ld.c ld.h rrs.c 
Handle object code with the "large" model PIC (eg. gcc's `-fPIC' option).     
> gnu/usr.bin/ld/ldconfig/ldconfig.c 
Parse library names better; takes care of PR#1291

Finally, thanks to David Jones and others for pointing out things that
weren't quite right with the upgrade instructions to take you from
NetBSD 1.0 to NetBSD 1.0a.  The fine folks here at Amdahl have taken
away our login names on the Internet firewalls, and so we now use ftp
clients with socks proxies built in to access things.  Funnily enough,
the ftpd at ftp.netbsd.org doesn't like it when I try to log in as
`ftp', as, when it asks for my password, it barfs after I type in
agc@uts., and asks me to put in either agc@ or the full name.  I've
found that "agc@" works fine, but it's the only ftpd I've yet come
across that does this.  But I digress...  For a while, the
instructions will not be available, but they'll resurface soon on
ftp.amdahl.com somewhere.  In the meantime, the most up to date
instructions will appear below.

Really finally, I'm off on vacation on Monday and Tuesday, and I'm
having a wisdom tooth extracted next Friday.  I know this will come as
a relief for some of you who received somewhat tart mail from me - a
big sorry to Mouse Parker - I do apologise to you all.

The following instructions have helped other people upgrade to -current

[The last update of these instructions was at Wed Aug  9 16:58:24 BST 1995]

[Remember to make yourself a new config (not config.old) kernel config file.]
[Make sure you have COMPAT_10 as part of your kernel config options.]
[This assumes that the -current source is in /usr/src]

# Hopefully, this will do away with the subsequent mkdir's below... - agc
# from Mark Willey (mwilley@mwilley.sc.intel.com)
(cd /usr/src/etc; make DESTDIR=/ distrib-dirs)

(cd /usr/src/usr.sbin/config ; make && make install && make cleandir)
# if you don't do this, config of your kernel config file will
# fail with errors in files.i386

(cd /usr/src/gnu/usr.bin/gas ; make && make install && make cleandir)
# if you don't do this, you won't be able to build locore.s, with
# errors about cpuid instruction not found

(cd /sys/arch/i386/conf ; config MYKERNEL)
(cd /sys/arch/i386/compile/MYKERNEL ; make depend && make)
# copy  new kernel to /, and boot off it

(cd /usr/src/share/mk ; make install)
# if you don't do this, you'll get errors building gcc, when it
# doesn't know how to make the manual pages (don't know how to make gcc.0)

(cd /usr/src/gnu/usr.bin/gcc2 ; make && make install && make cleandir)

(cd /usr/src/usr.bin/rpcgen ; make && make install && make cleandir)
# this makes the new (ANSI-C) rpcgen and installs it. Otherwise you'll
# have problems with any programs that use it, like rpc.rstatd etc

(cd /usr/src/lib/csu; make && make install)
# Otherwise ld will fail not finding scrt0.o
# from David Jones (dej@eecg.toronto.edu)

# Bernd Wiserner says that the ld.so that will be built next will
# work only with libc.so.12.0, not with libc.so.12.3
# His instructions to make a working ld.so follow:
# Do NOT run ldconfig while doing the following 7 lines ...
(cd /usr/src/include ; make && make install)
cp -p /usr/libexec/ld.so /usr/libexec/ld.so.good
(cd /usr/src/gnu/usr.bin/ld ; make && make install && make cleandir)
cp -p /usr/libexec/ld.so.good /usr/libexec/ld.so
(cd /usr/src/lib/libcurses ; make && make install)
# otherwise libterm won't be made correctly - invalid prototype
(cd /usr/src/lib ; make && make install && make cleandir)
# Then build ld.so again ...
(cd /usr/src/gnu/usr.bin/ld ; make && make install && make cleandir)  
# Thanks, Bernd...

# it was at this stage that I got REALLY fed up with the
# sh: warning: running as root with dot in PATH
(cd /usr/src/bin/sh ; make && make install &&  make cleandir)

# and now back to the beginning and make the world
(cd /usr/src/bin ; make && make install && make cleandir)
(cd /usr/src/sbin ; make && make install && make cleandir)

mkdir /usr/share/doc/usd/13.viref
# otherwise "make install" in /usr/src/usr.bin will fail because
# the destination directory doesn't exist - from Tom Thai

# if you're using the obj directory hierarchy, use
(cd /usr/src/usr.bin/lex ; cp initscan.c obj/scan.c)
# otherwise (i.e. no obj directory hierarchy)
(cd /usr/src/usr.bin/lex ; cp initscan.c scan.c)
# if you don't, then lex won't be built

# Bootstrap xlint
mkdir -p /usr/libdata/lint
(cd /usr/src/usr.bin/xlint ; make ; make install ; make ; make install)

(cd /usr/src/usr.bin ; make && make install && make cleandir)
(cd /usr/src/usr.sbin ; make && make install && make cleandir)
(cd /usr/src/libexec ; make && make install && make cleandir)
(cd /usr/src/gnu ; make && make install && make cleandir)
(cd /usr/src/share ; make && make install && make cleandir)

mkdir /usr/share/doc/usd/30.rogue /usr/share/doc/usd/31.trek
# otherwise "make install" in /usr/src/games will fail
# actually, last time I tried this, the dirs were already there - agc

(cd /usr/src/games ; make && make install && make cleandir)

Cheers,
Alistair
--
Alistair G. Crooks (agc@uts.amdahl.com)			   +44 125 234 6377
Amdahl European HQ, Dogmersfield Park, Hartley Wintney, Hants RG27 8TE, UK.
[These are only my opinions, and certainly not those of Amdahl Corporation]