Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/UPDATING,v rcsdiff: /ftp/cvs/cvsroot/src/UPDATING,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.123 retrieving revision 1.151 diff -u -p -r1.123 -r1.151 --- src/UPDATING 2004/06/13 08:08:43 1.123 +++ src/UPDATING 2006/10/09 18:57:30 1.151 @@ -1,4 +1,4 @@ -$NetBSD: UPDATING,v 1.123 2004/06/13 08:08:43 jmc Exp $ +$NetBSD: UPDATING,v 1.151 2006/10/09 18:57:30 rpaulo Exp $ This file (UPDATING) is intended to be a brief reference to recent changes that might cause problems in the build process, and a guide for @@ -16,12 +16,175 @@ See also: BUILDING, build.sh, Makefile. Recent changes: ^^^^^^^^^^^^^^^ +20061009: + The sysctl variables net.inet{,6}.tcp{,6}.newreno are no longer + available. Use net.inet{,6}.tcp{,6}.congctl.selected instead. + +20060814: + The vt, vidcconsole, kbd, and rpckbd drivers on acorn32 have been + withdrawn. Use vidcvideo and pckbd instead. See the GENERIC + kernel configuration for an example. X servers from the last + few years should cope. + +20060703: + MPACPI is no more. We always configure PCI interrupts using ACPI + if we have an ACPI kernel. The option MPACPI_SCANPCI has been renamed + to ACPI_SCANPCI. Thanks to work from fvdl. + +20060627: + socket(2) has changed, and its system call has been versioned. + For userlands with the old version of socket(2), make sure that + your kernel has 'options COMPAT_30' set, or else 'bad system call' + errors will result. + +20060526: + The kernel linker scripts for i386 and xen + (sys/arch/i386/conf/kern.ldscript*) were changed to set the + load address correctly, for the benefit of MULTIBOOT boot loaders + (like Grub). If you use a linker (ld) older than from 2006/04/17, it + will be unable to link the kernel because of a bug and ld will fail + with an error like: + ../../../../arch/i386/conf/kern.ldscript:45 \ + non constant expression for load base + You need to update at least src/gnu/dist/binutils/ld and recompile + and install the linker. If using the build.sh script, the easiest + way is with a "build.sh tools" command, with any other options + that you use normally. When using build.sh, the linker binary is + installed as ${TOOLDIR}/bin/i386--netbsdelf-ld. + +20060131: + the protocol between the sparc64 bootloader (ofwboot) and + the kernel was changed. Before installing a new kernel, + you need to update ofwboot. After a full build, just copy + /usr/mdec/ofwboot to /, or do a rebuild of + src/sys/arch/sparc/stand/ofwboot and install the result to /. + +20050917: + arch/*/conf/std.* was changed to include conf/std, which + contains MI options previously enabled by default. + If you have kernel config files which doesn't include + arch/*/conf/std.*, you need to edit them to include conf/std + to get the previous configuration. + +20050830: + named.conf was moved from /etc/namedb to /etc. + postinstall(8) migrates this during interactive use. + Users of MKUPDATE=yes will need to manually rectify + this in their DESTDIR. + +20050825: + Some data structures in sys/device.h, related to interface + attributes and locator names, were changed. config(1) was + modified to emit the new data structures. + Thus usr.bin/config must be updated (and run on the kernel + configuration file) before a new kernel can be built. + +20050531: + genassym.sh(8) was moved to genassym(1). You need to either build + tools first or install the version of genassym from /usr/bin before + you can build a kernel again. + +20050520: + Because a kernfs bug which xentools relies on was fixed, + xentools up to xentools20-2.0.3nb4 won't work with new kernel. + +20050417: + postinstall(8) was moved from /etc to /usr/sbin and made part + of the "base" set, to make it easier to invoke after an + upgrade. + +20050325: + pcppi(4) was separated in two devices, adding attimer(4). Be sure + to add a config line for an attimer(4) device in your kernel + configuration, or you won't be able to set the pitch of the beep + with wsconsctl. Depending on the default value for the pitch, you + might even not hear any more beep. Also, it is advised to attach both + devices the same way (i.e., both on isa or both on acpi) or the + pcppi(4) device may fail to find the attimer(4) one. + +20050211: + Fixes to tools/Makefile.gnuhost may cause UPDATE=1 builds in + some of the cross tools to fail if they use configure. Some configure's + cache the environment passed in and notice the new environment is + different and abort. Doing a clean in tools/ should be enough to + make a build continue. + +20050109: + Since su is using pam by default now, make sure that you have + /etc/pam.d populated (postinstall will do that automatically + for you). Otherwise su will fail open (i.e. will not require + a password). + +20041229: + Make had a path resolution bug that manifested itself as not + being able to install openpam.3. This bug has been fixed, but + you might need to rebuild make manually first to get through + the build. + +20041201: + Userland programs have been changed to use /dev/bpf instead of + /dev/bpfX. You need to create that device by installing a new + MAKEDEV and running it, or mv /dev/bpf0 /dev/bpf && rm /dev/bpf[0-9]* + +20041006: + + A bug was introduced into /bin/sh (var.c rev 1.35) which causes + variables to not export correctly to subshells in all cases. This + will cause builds to break if that version of /bin/sh is installed + on the system. The proper version of /bin/sh can be verified with: + + ident /bin/sh | grep var + + Any /bin/sh w. version 1.35 will not work and needs to be updated + before attempting a build. + +20041001: + The ipfilter kernel sources moved from sys/netinet to + dist/sys/ipf/netinet. Due to the move some Makefile + dependencies are now dangling requiring a make cleandir + before they work again (kdump, ktruss, rescue, ipf, and + ftp-proxy are the victims). + +20040715: + The rc.d/sendmail script now uses a heuristic to determine + if sendmail should be started at boot time. It checks the + contents of /etc/mailer.conf, /etc/mail/submit.cf, and the + owner and mode of the sendmail binary to see if any changes + to the mail infrastructure have been made. If no changes + are detected, it will start an SMTP listener. + + Setting sendmail=NO in /etc/rc.conf will override this. + + If you are only using sendmail by default and only for + local delivery, it is important that you also update your + sendmail.cf so that the SMTP listener only listens on the + loopback interface. + +20040715: + The method by which athhal-elf.o gets pulled into i386 + kernel builds has been changed again. The latest version + of bsd.files.mk is no longer required. + +20040621: + Due to the recent rototill of tools/compat it's crucial one starts + from a clean objdir under tools/*. + + This is mostly due to generated files (yacc and lex sources) needing + to be generated with new rules from bsd.hostprog.mk. + + The safest course is to rm -rf all objects under tools before building. + 20040516: The end-user modifiable X11 configuration has been moved from /usr/X11R6/lib/X11/ to /etc/X11/. Ensure that src and xsrc is up to date, and run "make cleandir" in src/x11 before your next build. + postinstall currently doesn't migrate the files from + /usr/X11R6/lib/X11/* to /etc/X11/* although it does + detect that this needs to occur, so you'll have to + manually move these files yourself. + 20040426: Support for the original dynamic sysctl node structure has been removed in favor of the newer layout. This affects @@ -596,7 +759,7 @@ Recent changes: Hints for a more successful build: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use build.sh, but do not use its "expert mode": - This will will automatically build the tools in the + This will automatically build the tools in the correct order, and it will keep the tools and the new build products from interfering with the running system. This will allow you to ignore most of the @@ -693,19 +856,15 @@ cd $NETBSDSRCDIR && make cleandir Critical utilities: ^^^^^^^^^^^^^^^^^^^ - gnu/usr.bin/egcs usr.bin/compile_et usr.bin/make usr.bin/yacc usr.bin/lex usr.bin/xlint - usr.sbin/config + usr.bin/config Other problems and possible solutions: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Symptom:Unreasonable compiler errors. -Fix: Rebuild gnu/usr.bin/egcs - Symptom:Complaints involving a Makefile. Fix: Rebuild usr.bin/make: cd usr.bin/make && make && make install @@ -716,7 +875,7 @@ Fix: Make sure .mk files are up to date. cd share/mk && make install Symptom:Kernel `config' fails to configure any kernel, including GENERIC. -Fix: Rebuild usr.sbin/config +Fix: Rebuild usr.bin/config Symptom: Fix: Rebuild usr.bin/yacc @@ -742,7 +901,7 @@ Fix: Build and install usr.bin/mklocale Symptom:undefined reference to `__assert13' or `__unsetenv13' Fix: Rebuild and install lib/libc -Symptom:usr.sbin/config fails to build. +Symptom:usr.bin/config fails to build. Fix: Try building with -DMAKE_BOOTSTRAP added to CFLAGS in Makefile. Symptom:undefined reference to `getprogname' or `setprogname'