- Trim MASTER_SITE_GNU and MASTER_SITE_SUNSITE - SHOOT whoever set bsd.sites.mk to point at DNS rings in Japan (knu). SHOOT the idea that it is OK because of MASTER_SORT / MASTER_SORT_REGEX ADD limit to use at most *5* servers for each type of MASTER_SITE when fetching - xterm scrolls to the bottom of the term on output when scrolled back. Fix setup. - xconsole is collapsed when I log in. (Fixed - config in /etc/X11/xdm/) - 'make release' needs a billion arcane options - It is not possible to switch between 'config -p' and 'config' without doing a 'make clean' - and it shows up as stupid linking errors! - XFree86 installs pixmaps in /etc/X11/xdm/pixmaps, but refer to them in /usr/X11R6/lib/X11/xdm/pixmaps/ from /etc/X11/xdm/Xresources - xterm termcap entry is broken - You need to manually secure the ttys file - xterm requires COMPAT_43 - see http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=6860 for discussion/resolution - Lousy xdm picture (fixed - config in /etc/X11/xdm/) - apmd config (done) - mixer starts at 0 for speaker - cd mixer starts at the right value after suspend, but has to be SET AGAIN to work. - XFree86.1 refers to /etc/X.hosts as initial access control list for the X server, but it does NOT describe the format for this file! There is SOME documentation in the xhost manpage, but it is definately incomplete. And the location in /etc directly SUCKS. The format IS protocol:, whitespace at the start of the line not allowed, comments starting at the start of a line allowed (#-based), comments after specification not generally allowed but the code that reads it is sloppy (including actively truncting Kerberos data if it MAY be correct, which I think sucks.) The reading is done from programs/Xserver/os/access.c - /etc/X11/xserver/SecurityPolicy includes a bunch of garbage permissions by default - these needs to be easily configurable and be more reasonable, not be "allow everything people might want" - apmd.conf needs to check for different number of batteries and do different warnings depending on how many batteries you have. - systat -vmstat, iostat, top etc does not use colors to help legibility - systat/iostat/top/etc does not use more than 80 characters width - The files on http://docs.freebsd.org/ is COMPLETELY OUT OF DATE - files have not been updates since *1998*. - The default file size limit for spooling printer files is WAY too low - it has not been adjusted for a billion years... - lack of hostname in systat -vmstat - sort does not accept -k / +1 correctly. - Keyboard/mouse is detected on ISA instead of ICH, requiring a stupid ISA bus in a machine that does not need it. Same goes for: vga0 sio0 sio1 ppc0 pmtimer0 fdc0 atkbdc0 orm0 - /dev/pci is owned wrong; I want ACCESS! - gmake refers to itself as 'make' in the manpage. - xlock/xscreensaver does not indicate the number of password misses so far. - a2ps does not respect the --landscape or -r parameters (in the FreeBSD port, at least) - MS Windows does not support having an UNC path as the current directory for CMD by default, citing the possibility of creating problems for a program in the shell if the shell is closed. To fix this, set HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DisableUNCCheck (REG_DWORD) to 1, creating it if necessary. - MS Windows does not run UTC by default. Fix by setting registry entry: HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal for instructing the kernel that the RTC runs in UT (type REG_DWORD, values 0 for local time or 1 for Universal Time). When you set RealTimeIsUniversal=1, the kernel initialization code will jump after reading the CMOS clock over the section that translates local time into CMOS time and will take the CMOS time directly as the Universal Time kept by the NT kernel clock. - scp parses the hostspec *per file*, so multiple filespecs from the same host results in several requests for the files. - scp documents that copies between several remote hosts work, but it does not and have not for 5+ years. - gentoo looks for "/proc/mounts" after having been through the FreeBSD port. - mpg123 manpage refers to "the default is system dependent" - man page for tcpdump discuss a bunch of other OSen (both at the start and farther down). - The requesters used for asking for passwords are labelled as OpenSSH Authentication Passphrase (or something like that) - Said requesters do not come as wild windows - Said requesters are not brought up by xterm - The default xterm/xterm-color setting does not have ti/te sequences, thus being unable to save/restore the screen. The xterm-xf86-v32 entry *has* this, but lack the color sequences. less defaults to restoring the screen, and this behaviour sucks for looking at references. Create a new xterm-color entry that is a descendant of xterm-xf86-v32, copying xterm-xf86-v32 into the correct location for this, and - apm does not estimate the amount of battery left depending on amount of power spent so far, but some kind of APM estimate that is totally overoptimistic. - acpi only prints "Other power management system", not which other power management system. COMMON=cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -g -nostdinc -I- $COMMON -I. -I../../.. -I../../../dev -I../../../contrib/dev/acpica -I../../../contrib/ipfilter -I../../../../include -D_KERNEL -fno-common -mpreferred-stack-boundary=2 -ffreestanding -include opt_global.h -elf ../../../vm/vm_zone.c $COMMON -I/usr/src/sys/modules/acpi/../../contrib/dev/acpica -I. -I@ -I@/dev -I@/../include -D_KERNEL -DKLD_MODULE -fno-common -mpreferred-stack-boundary=2 /usr/src/sys/modules/acpi/../../dev/acpica/acpi_battery.c # Original compile line, prior to reorg #cc -O -pipe -mfancy-math-387 -I/usr/src/sys/modules/acpi/../../contrib/dev/acpica -D_KERNEL -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -DKLD_MODULE -nostdinc -I- -I/usr/src/sys/modules/acpi/../../contrib/dev/acpica -I. -I@ -I@/dev -I@/../include -fno-common -g -mpreferred-stack-boundary=2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -c /usr/src/sys/modules/acpi/../../dev/acpica/acpi_battery.c # XXX Should have been compiled with kernel options (COPTFLAGS?), not CFLAGS. # XXX Should use full include set for kernel (?) # XXX Includes extra stupid includes that are dropped by -nostdinc # XXX Misses opt_global.h # XXX Repeated use of warning flags # XXX Missing -elf # XXX Missing -ffreestanding # XXX Using a SEPARATE include path # XXX Seems to generate it's own opt_xxx files. - There seems to be a problem with device identification in pciconf if things are missing from pci_vendors (?) Partial fix in-tree. - Gentoo is installed with a reference to an external "gv" command instead of "ghostview" Ditto for "acrobat" vs "acrobat4" or "xpdf". And it refers to /proc/mounts, which DOES NOT EXIST ON FREEBSD. All code relating to this should have been disabled. - Gentoo does not document the various options that the commands take! - ogle does not install its configuration files in /usr/local/etc/ - unknown: can't assign resources (port) - unknown: at port 0x860-0x87f,0x800-0x87f iomem 0xfeea0000-0xfeefffff,0xfff80000-0xffffffff,0xffb80000-0xffbfffff,0xe0000-0xfffff,0x100000-0xfffffff,0-0x9ffff on isa0 0x8?? is not occupied by another device (that FreeBSD detect). FreeBSD does not know of anything that would like to run on location 0x800. - unknown: can't assign resources (port) unknown: at port 0x60 on isa0 This match the keyboard: atkbdc0: at port 0x64,0x60 on isa0 - unknown: can't assign resources (irq) unknown: at irq 12 on isa0 Unknown what this is. It is asserted as a stray interrupt... - unknown: can't assign resources (irq) unknown: at port 0x3e0-0x3e1 irq 5 on isa0 The IRQ is already assigned to the Maestro3. I wonder what happens if I free up irq 5... The only thing in our config that use 0x3e0 is the PCIC (PCMCIA bridge). That is not available in NEWCARD, which is probably why this is not probed, even when the relevant IRQ is available. - unknown: can't assign resources (port) unknown: at port 0x3f8-0x3ff on isa0 Looks like a SIO device: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 - unknown: failed to probe at port 0x300-0x307,0x2e8-0x2ef irq 3 drq 3 on isa0 ??? IRQ3 is "not in bitmap of probed IRQs", drq 3 seems free, 0x300-0x307 seems free, 0x2e8-0x2ef seems free. - unknown: can't assign resources (port) unknown: at port 0x378-0x37f on isa0 Looks like the parallel port. ppc0: at port 0x378-0x37f irq 7 on isa0 - unknown: can't assign resources (port) unknown: at port 0x3f2-0x3f5 on isa0 Overlaps the floppy controller, which is fdc0: at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0 - pwm man page refers config.txt in the wrong location. (Patch in my ports tree) - pwm needs recompile to change configuration for a number of issues that could easily have been done run-time. See config.h in the pwm code. - Just calling sync() every 0.1 seconds (one tenth of a second) clearly interfere with mpg123, even when there are no buffers to flush. This utterly sucks. - bd_request in kern/vfs_bio.c has conflicts between Dillon's comments and mckusick's (older) code. Suggested mail to dillon@FreeBSD.org: vfs_bio.c seems to have problems in a few places after your commit of revision 1.269: 1. The bd_request variable is cleared at the top of the buf_daemon loop, which seems to be the old logic (from mckusick). 2. The delay time for the buf_daemon when idle is 1 second, not 5 (as stated in the comment). 3. lofreebuffers is now only used to initialize hifreebuffers. hifreebuffers is now only used to determine whether to clear an unused flag (VFS_BIO_NEED_FREE). Effectively, both hifreebuffers and lofreebuffers are unused. 4. The comment before setting bogus_offset and bogus_page does, as far as I can tell, not have anything to do with bogus_offset and bogus_page. The comment was for maxbdrun, which was removed in the commit. 5. The waiting for free buffers in getblk() has been removed, but setting the flag is still there. As needsbuffer is a pure synchronization variable, this seems clearly wrong - if there is some magic I do not see here, please add a comment. My guess from looking at the diffs is that the tsleep() went with removal of related #if 0 sections, by mistake. 6. There is a left-over XXX comment referring to removal of #if 0 sections. I do not have sufficient clue to feel confident in testing fixes for this myself (well, I could test fixing the comments...), but suspect it is just a matter of removing the extra clearing of bd_request, everything that refer to {lo,hi}freebuffers, and the definition of VFS_BIO_NEED_FREE. I also found some other weirdness: 7. In vm_hold_free_pages, there is a printf if a page has a busy count. Right afterwards, there is a call to vm_page_busy (after a call to pmap_kremove, but this does not matter from what I can read from the code). vm_page_busy() KASSERTs against PG_BUSY, which I'd hope would make the busy check redundant (at least as a printf - could be a KASSERT.) I discovered the above while working on documenting kern/vfs_*.c. The relevant patch for kern/vfs_bio.c is attached. I'd appreciate if I could commit this prior to any fixes you might want to commit that touch variables, as such a commit would conflict with this patch. (This is not critical, but would just be nice...) Eivind. - There are a bunch of probably useless debugging/statistics sysctls for getcwd in kern/vfs_cache.c, added by phk. Suggested mail to phk/green: I'm presently on a documentation trip in kern/, and while documenting vfs_cache.c, I found a bunch of instrumentation for getcwd which you added in revision 1.41 (where getcwd was added to vfs_cache.c): vfs.cache.numcwdcalls: 7382 vfs.cache.numcwdfail1: 2 vfs.cache.numcwdfail2: 1 vfs.cache.numcwdfail3: 0 vfs.cache.numcwdfail4: 0 vfs.cache.numcwdfound: 7379 debug.disablecwd: 0 These either needs to be documented or need to die; my personal preference is for them to die. They do not seem to be needed. vn_fullpath has a similar set of variables, and seems to have inherited these from __getcwd(). I'd like an ack from green that these also can die (if there are no objection to the cwd debugging variables dying.) Also, it seems to me that getcwd() should be implemented in terms of vn_fullpath. The same guts are there, they are somewhat complicated, and there does not seem to be much of a (any? CPU-cache) performance penalty. Eivind. - vn_exattr_set and vn_extattr_rm does not have any descriptive comments. Suggested mail to rwatson, peter, dillon, jlemon: kern/vfs_vnops.c miss comments in four places: - before vn_stat - destroyed by introduction of vn_statfile. - before vn_extattr_* - destroyed at addition. - before sequential_heuristic - destroyed at addition. - before vn_kqfilter You're all To:'ed because you are responsible for part of this destruction - ALL functions and variables in vfs_vnops.c were OK (that is, commented) previously. Please avoid introducing uncommented functions/variables in the future. And please fix up the above functions; it is not 100% obvious to me what details are needed in the comments for them. Eivind, presently busy fixing up all missing comments in kern/. - There are generally introduced a bunch of functions/variables that are uncommented. Suggested mail to developers@FreeBSD.org: Subject: The slow destruction of our source code The code we received from CSRG was heavily commented; more or less all functions had comments, as well as most global variables. This is slowly being destroyed by people introducing functions and variables without comments. I'm presently fixing up this in some of the more severe places, but PLEASE STOP DESTROYING OUR SOURCE CODE BY INTRODUCING UNCOMMENTED FUNCTIONS AND GLOBAL VARIABLES. Thanks. Eivind. - timestamps are included in ICMP - TCP sequence numbers are not randomized by default, but need a kernel option (which I have not yet set.) - Bug in vm_map_user_pageable: Does not set entry = entry->next at the end of the loop for !new_pageable, which leads to an extra go around the loop, check of the condition (which WILL be true), a check of entry->eflags & MAP_ENTRY_USER_WIRED (which WILL be true), and then an entry = entry->next and continue. - I do not know if gcc optimizes if ((new_prot & current->max_protection) != new_prot) to if (new_prot & ~(current->max_protection)) (This will change to "gcc does not optimize" if it doesn't.) - I do not know if gcc optimizes next = TAILQ_NEXT(p, listq); if (pmap_resident_count(vm_map_pmap(map)) <= desired) return; to if (pmap_resident_count(vm_map_pmap(map)) <= desired) return; next = TAILQ_NEXT(p, listq); (This will change to "gcc does not optimize" if it doesn't.) - yafc refers to megabytes/s as Mb/s. It is written by Martin Hedenfalk - gentoo asks about deletion, without the possibility of turning it - Off - On only for directories - On only for non-empty directories ... and it does not even show whether a directory is empty! - gentoo does not allow configuration of the menu for the right mouse button - gentoo does not use kqueue to display what the REAL size of various directories are (heck, it does not even allow us to see what the sizes are internally...) - vlc does not go towards /dev/acd0c - vlc is jumpy - GNOME control center, under the screensaver menu, shows "Worm". This will start /usr/games/worm, not the one that is built into xscreensaver. - GNOME control center regularly prints warning messages about xscreensaver and xscreensaver-command not being found. - The Ruby + and - operators do NOT return an object of the same type as the one passed in, so it is hell to inherit from them - p5-CDDB_get is installed in the 5.6.0 perl directory instead of 5.6.1 (but perl only has path to 5.6.1) - pam: isu does not work without X after OpenPAM. - adduser: Bunch of untested changes, docs needed. - xine: Goes to hell on replay of LoTR CD 1, The Party. Skips forward infinitly. - xine: On pressing Ctrl-C when the above happens, I get the following result: 3003 metronom: set_video_rate 3754 video_out: rejected, 1028 frames to skip metronom: set_video_rate 3003 ^Cxine_stop xine_stop: stopping demuxer xine_stop: done XITK WARNING: XITK killed with signal 2 Fatal error 'siglongjmp()ing between thread contexts is undefined by POSIX 1003.1' at line 56 in file /usr/src/lib/libc_r/uthread/uthread_jmp.c (errno = 25) ^C zsh: abort (core dumped) xine - gimp: Does not show help. - KDE: Complains about wrong owner of /tmp/.ICE-unix, something that should probably be set up by the ports in question. - KDE: kdeinit complaint: May 13 13:31:23 ws kdeinit: rpc: failed to open /etc/netconfig - SOMETHING: Attempting to save a log file from a pipe to less in an su'ed shell resulted in May 28 18:16:30 ws su: login_getclass: unknown class 'lessecho -p0x22 -d0x22 -- prog-and-verify.txt' when saving to a file called prog-and-verify.txt - xargs: The -J option is not documented so you notice that - apache: The httpd manpage refers to /usr/local/apache/ instead of /usr/local/www/ and friends. - apache: mod_unique_id tries to gethostbyname the local hostname. This makes it hard to run Apache while offline, especially in laptop environments where a static assignment of IP is wrong. - GTA 3 does not work correctly under Windows 2000, complaining that it is running under a debugger - gqmpeg: Complains about lack of - ogg123 - ogginfo - vorbiscomment - xmp - xmixer, *when you try to mix* - Windows 2k: Microsoft tools are always shown as "recent", even when they are not (in the simplified menus). The stuff I actually *use* (AVR Studio) isn't. - dig: Either the documentation is wrong, or the ping functionality does not work (as a user, at least). The documentation specifies an invalid ping syntax as the default. - gqmpeg: Comes up as a wild window, with no way to change desktop - gqmpeg: Not possible to match against in the pwm specification files, for some reason?!? Matching works for the playlist editing window, but not for the main window (which is the one that is interesting) - there is no port of kmerlin ('cause I've not committed it yet) - kmerlin: Does not print timestamp of the stuff it logs - Lack of workspace difference for the stuff I'm doing for work and play - Lack of highlighting support for outlines in vim (See http://www.troubleshooters.com/linux/olvim.htm) - Not set up windows to have different background colors depending on what context I am in (what machine, work/play, etc) - Missing spam filter - No local mail receive - perl5: Fails lib/ipc_sysv on new compile in chroot with 20020818-CURRENT and ports from 2002-09-20. - mount: Does not distinguish chroot / non-chroot, leading to impossible-to-find mountpoints. - fsck UFS2 changes change superblock so old fsck does not work!!! postresql: lim=# explain SELECT * FROM distributor_cleaned WHERE distid NOT IN (SELECT DistID FROM distributor2 WHERE distributor2.distid=distributor_cleaned.distid); NOTICE: QUERY PLAN: Seq Scan on distributor_cleaned (cost=0.00..13947.16 rows=4056 width=7919) SubPlan -> Index Scan using distributor2_distid_idx on distributor2 (cost=0.00..3.01 rows=1 width=4) EXPLAIN lim=# explain SELECT * FROM distributor_cleaned WHERE distid NOT IN (SELECT DistID FROM distributor2); NOTICE: QUERY PLAN: Seq Scan on distributor_cleaned (cost=0.00..30363601.92 rows=4056 width=7919) SubPlan -> Seq Scan on distributor2 (cost=0.00..7485.67 rows=12167 width=4) EXPLAIN - ls -lh goes from 1G to 2G directly - while using up to three digits of precision for MB... - squeak: Puts docs in /usr/local/doc instead of /usr/local/share/doc/ - sysinstall: ifconfig extra options box is scary for people. - sysinstall: Install steps should be gathered in a front screen, with checkmarks when the user has visited each step, and with the ability to visit in any order. - sysinstall: All config data should be dropped to disk at first opportunity, so a user can continue a faulty install. - newsyslog: man newsyslog.conf doesn't work - cp: cp 4/stuff 9/ should NOT result in a file called 9 being created when the directory 9 does not exist!