Date: Fri, 3 Nov 2006 21:04:08 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 109144 for review Message-ID: <200611032104.kA3L48Xo095351@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=109144 Change 109144 by jb@jb_freebsd8 on 2006/11/03 21:04:05 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#32 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#10 integrate .. //depot/projects/dtrace/doc/share/mk/doc.common.mk#4 integrate .. //depot/projects/dtrace/ports/Tools/scripts/rmport#7 integrate .. //depot/projects/dtrace/ports/UPDATING#22 integrate .. //depot/projects/dtrace/src/bin/cp/cp.1#7 integrate .. //depot/projects/dtrace/src/lib/libc/sys/getpid.2#4 integrate .. //depot/projects/dtrace/src/lib/libc/sys/statfs.2#4 integrate .. //depot/projects/dtrace/src/lib/libcam/camlib.c#5 integrate .. //depot/projects/dtrace/src/sbin/camcontrol/camcontrol.c#5 integrate .. //depot/projects/dtrace/src/sbin/geom/class/cache/geom_cache.c#3 integrate .. //depot/projects/dtrace/src/sbin/geom/class/mirror/geom_mirror.c#6 integrate .. //depot/projects/dtrace/src/sbin/geom/class/mirror/gmirror.8#5 integrate .. //depot/projects/dtrace/src/sbin/geom/class/raid3/geom_raid3.c#6 integrate .. //depot/projects/dtrace/src/sbin/geom/class/raid3/graid3.8#4 integrate .. //depot/projects/dtrace/src/share/man/man5/elf.5#4 integrate .. //depot/projects/dtrace/src/sys/arm/at91/if_ate.c#8 integrate .. //depot/projects/dtrace/src/sys/boot/common/Makefile.inc#5 integrate .. //depot/projects/dtrace/src/sys/boot/common/bootstrap.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/common/devopen.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/common/load_elf.c#6 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efi.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efi_nii.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efiapi.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/eficon.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efidebug.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efidef.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efidevp.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efierr.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efifs.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efilib.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efinet.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efipart.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efiprot.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efipxebc.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efiser.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efistdarg.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/i386/efibind.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/i386/pe.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/ia64/efibind.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/ia64/pe.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/devicename.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/efiboot.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/efifs.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/libefi.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/boot2/boot2.c#6 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/bioscd.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/bootinfo32.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/devicename.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/elf32_freebsd.c#6 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/libi386.h#6 integrate .. //depot/projects/dtrace/src/sys/boot/i386/loader/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/loader/main.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/efi/main.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/acpi_stub.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/devicename.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/libski.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/main.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ofw/common/main.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ofw/libofw/libofw.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/boot2/boot.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/libpc98/bioscd.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/libpc98/biosdisk.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/loader/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/loader/main.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/sparc64/loader/main.c#5 integrate .. //depot/projects/dtrace/src/sys/cam/cam_ccb.h#5 integrate .. //depot/projects/dtrace/src/sys/cam/cam_xpt.c#7 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_all.h#5 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_da.c#9 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_low.c#5 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#13 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#24 integrate .. //depot/projects/dtrace/src/sys/conf/files#36 integrate .. //depot/projects/dtrace/src/sys/conf/files.sparc64#5 integrate .. //depot/projects/dtrace/src/sys/conf/options#23 integrate .. //depot/projects/dtrace/src/sys/conf/options.sparc64#4 integrate .. //depot/projects/dtrace/src/sys/ddb/db_command.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_cam.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_pci.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/advansys.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/advlib.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/adwcam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aha/aha.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/ahb/ahb.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic/aic.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic79xx_osm.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic79xx_osm.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic7xxx_osm.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic7xxx_osm.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/amd/amd.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr_cam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/arcmsr/arcmsr.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/asr/asr.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/ata/atapi-cam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/buslogic/bt.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/ciss.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/dc/if_dc.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/dpt/dpt_scsi.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/esp/ncr53c9x.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/firewire/sbp.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/iir/iir.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.h#9 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_library.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_library.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_pci.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_sbus.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_stds.h#1 branch .. //depot/projects/dtrace/src/sys/dev/isp/isp_target.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_target.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_tpublic.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/ispmbox.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/ispreg.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/isp/ispvar.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/ispfw/asm_2300.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/mly/mly.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_cam.c#17 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_raid.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/sym/sym_hipd.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/trm/trm.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/twa/tw_osl_cam.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_kbd_sun.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_kbd_sun.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/usb/umass.c#7 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli.c#11 integrate .. //depot/projects/dtrace/src/sys/geom/journal/g_journal.c#3 integrate .. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror.c#13 integrate .. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror.h#5 integrate .. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror_ctl.c#6 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3.c#17 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3.h#5 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3_ctl.c#8 integrate .. //depot/projects/dtrace/src/sys/geom/stripe/g_stripe.c#5 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.master#13 integrate .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/tty_cons.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_mbuf.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#13 integrate .. //depot/projects/dtrace/src/sys/net/bridgestp.c#9 integrate .. //depot/projects/dtrace/src/sys/net/if_tap.c#7 integrate .. //depot/projects/dtrace/src/sys/net/if_tun.c#7 integrate .. //depot/projects/dtrace/src/sys/net/ppp_tty.c#4 integrate .. //depot/projects/dtrace/src/sys/net/rtsock.c#6 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_device.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet/in_proto.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_asconf.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_asconf.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_auth.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_auth.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_bsd_addr.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_bsd_addr.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_constants.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_crc32.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_crc32.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_header.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_indata.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_indata.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_input.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_input.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_lock_bsd.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_os.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_os_bsd.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_output.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_output.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_peeloff.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_peeloff.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_structs.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_timer.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_timer.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_uio.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_usrreq.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_var.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctputil.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctputil.h#1 branch .. //depot/projects/dtrace/src/sys/netinet6/in6_proto.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet6/sctp6_usrreq.c#1 branch .. //depot/projects/dtrace/src/sys/netinet6/sctp6_var.h#1 branch .. //depot/projects/dtrace/src/sys/pci/if_sis.c#6 integrate .. //depot/projects/dtrace/src/sys/pci/ncr.c#7 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/NOTES#8 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/hypervisor_api.h#7 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/hvcons.c#6 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/pmap.c#17 integrate .. //depot/projects/dtrace/src/sys/sys/libkern.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/mbuf.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/socket.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.h#14 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.mk#14 integrate .. //depot/projects/dtrace/src/sys/sys/sysproto.h#14 integrate .. //depot/projects/dtrace/src/tools/tools/nanobsd/nanobsd.sh#8 integrate .. //depot/projects/dtrace/src/usr.bin/tar/getdate.y#4 integrate .. //depot/projects/dtrace/src/usr.bin/vmstat/vmstat.8#6 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/bthidd/client.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#4 integrate .. //depot/projects/dtrace/www/en/cgi/query-pr.cgi#6 integrate .. //depot/projects/dtrace/www/en/donations/donors.sgml#18 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#5 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#32 (text+ko) ==== @@ -1,4 +1,4 @@ -<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.630 2006/11/01 20:31:47 alepulver Exp $ --> +<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.633 2006/11/02 09:39:25 joel Exp $ --> <!-- NOTE TO COMMITTERS: Contributors lists are sorted in alphabetical order by first name. @@ -7277,6 +7277,11 @@ </listitem> <listitem> + <para>Peter Ankerstål + <email>peter@pean.org</email></para> + </listitem> + + <listitem> <para>Peter Avalos <email>pavalos@theshell.com</email></para> </listitem> @@ -8506,6 +8511,11 @@ </listitem> <listitem> + <para>Stephen Hurd + <email>admin@nix.synchro.net</email></para> + </listitem> + + <listitem> <para>Stephen J. Roznowski <email>sjr@home.net</email></para> </listitem> ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#10 (text+ko) ==== @@ -10,7 +10,7 @@ <corpauthor>The FreeBSD Documentation Project</corpauthor> - <pubdate>$FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.786 2006/08/27 18:29:57 blackend Exp $</pubdate> + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.789 2006/11/03 04:24:32 bvs Exp $</pubdate> <copyright> <year>1995</year> @@ -5368,8 +5368,17 @@ <listitem> <para>FreeBSD includes a read-write FAT driver. For more information, see &man.mount.msdosfs.8;.</para> - </listitem> - </varlistentry> + </listitem> + </varlistentry> + + <varlistentry> + <term>ReiserFS</term> + + <listitem> + <para>FreeBSD includes a read-only ReiserFS driver. For + more information, see &man.mount.reiserfs.8;.</para> + </listitem> + </varlistentry> </variablelist> <para>FreeBSD also supports network filesystems such as NFS @@ -5518,11 +5527,34 @@ <para>The <ulink url="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html"> &linux;+FreeBSD mini-HOWTO</ulink> is a good reference for - FreeBSD and &linux; interoperability issues.</para> + FreeBSD and &linux; interoperability issues.</para> </answer> </qandaentry> <qandaentry> + <question id="grub-loader"> + <para>How do I boot &os; and &linux; using GRUB</para> + </question> + + <answer> + <para>Booting &os; using GRUB is very simple. Just + add the following to your configuration file + <filename>/boot/grub/grub.conf</filename>.</para> + + <programlisting>title FreeBSD 6.1 + root (hd0,a) + kernel /boot/loader + </programlisting> + + <para>Where <literal>hd0,a</literal> points to your root partition + on the first disk. If you need to specify which slice number + should be used, use something like this <literal>(hd0,2,a)</literal>. + By default, if the slice number is omitted, GRUB searches the + first slice which has <literal>'a'</literal> partition.</para> + </answer> + </qandaentry> + + <qandaentry> <question id="booteasy-loader"> <para>How do I boot FreeBSD and &linux; using BootEasy?</para> </question> ==== //depot/projects/dtrace/doc/share/mk/doc.common.mk#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: doc/share/mk/doc.common.mk,v 1.17 2006/08/21 18:27:43 hrs Exp $ +# $FreeBSD: doc/share/mk/doc.common.mk,v 1.18 2006/11/02 18:58:17 bmah Exp $ # # This include file <doc.common.mk> provides targets and variables for # documents commonly used in doc/ and www/ tree. @@ -8,6 +8,7 @@ AWK?= /usr/bin/awk GREP?= /usr/bin/grep REALPATH?= /bin/realpath +SED?= /usr/bin/sed .if defined(DOC_PREFIX) && !empty(DOC_PREFIX) WEB_PREFIX?= ${DOC_PREFIX}/../www ==== //depot/projects/dtrace/ports/Tools/scripts/rmport#7 (text+ko) ==== @@ -30,7 +30,7 @@ # Originally written by Vasil Dimov <vd@FreeBSD.org> # Others: # -# $FreeBSD: ports/Tools/scripts/rmport,v 1.10 2006/11/01 09:57:36 vd Exp $ +# $FreeBSD: ports/Tools/scripts/rmport,v 1.11 2006/11/02 09:20:10 vd Exp $ # # MAINTAINER= vd@FreeBSD.org # @@ -92,7 +92,11 @@ find ${PORTSDIR} -mindepth 3 -maxdepth 3 -name "Makefile*" \ |xargs grep -H ${EXPVAR} \ |sed -E "s|${PORTSDIR}/?([^/]+/[^/]+)/Makefile:${EXPVAR}=[[:space:]]*([0-9-]{10})$|\2 \1|g" \ - |perl -ne "if ((substr(\$_, 0, 10) cmp '${TODAY}') <= 0) { print(\$_); }" + |perl -ne "if ((substr(\$_, 0, 10) cmp '${TODAY}') <= 0) { print(\$_); }" \ + |while read expdate catport ; do \ + echo -n "${expdate} ${catport}: " ; \ + make -C ${PORTSDIR}/${catport} -V DEPRECATED ; \ + done } # create temporary checkout directory @@ -380,7 +384,7 @@ if [ ${#} -ne 1 ] ; then usage fi - ${0} `find_expired |cut -f 2 -d ' '` + ${0} `find_expired |cut -f 2 -d ' ' |cut -f 1 -d :` exit fi ==== //depot/projects/dtrace/ports/UPDATING#22 (text+ko) ==== @@ -6,6 +6,16 @@ time you update your ports collection, before attempting any port upgrades. +20061102 + AFFECTS: users of mail/fetchmail + AUTHOR: barner@FreeBSD.org + + - Along with the update to fetchmail 6.3.5, support for the POP2 + protocol has been removed from the port's default configuration. + If needed, POP2 can be enabled with the port's option interface. + + - New feature: GSSAPI support. + 20061101: AFFECTS: Users of mail/dovecot AUTHOR: shaun@FreeBSD.org @@ -4323,4 +4333,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.418 2006/11/01 19:23:29 shaun Exp $ +$FreeBSD: ports/UPDATING,v 1.419 2006/11/02 16:05:29 barner Exp $ ==== //depot/projects/dtrace/src/bin/cp/cp.1#7 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/cp/cp.1,v 1.38 2006/10/27 08:26:24 trhodes Exp $ +.\" $FreeBSD: src/bin/cp/cp.1,v 1.39 2006/11/02 19:10:05 ceri Exp $ .\" .Dd October 27, 2006 .Dt CP 1 @@ -264,7 +264,7 @@ is a synonym for .Fl RL and works the same unless modified by other flags. -Historical implemenations +Historical implementations of .Fl r differ as they copy special files as normal ==== //depot/projects/dtrace/src/lib/libc/sys/getpid.2#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)getpid.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.14 2002/12/18 09:22:30 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.15 2006/11/02 14:10:56 ru Exp $ .\" -.Dd June 4, 1993 +.Dd November 2, 2006 .Dt GETPID 2 .Os .Sh NAME @@ -75,7 +75,12 @@ system calls are always successful, and no return value is reserved to indicate an error. .Sh SEE ALSO -.Xr gethostid 3 +.Xr fork 2 , +.Xr getpgrp 2 , +.Xr kill 2 , +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr exec 3 .Sh STANDARDS The .Fn getpid ==== //depot/projects/dtrace/src/lib/libc/sys/statfs.2#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)statfs.2 8.5 (Berkeley) 5/24/95 -.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.27 2006/01/10 23:24:47 grog Exp $ +.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.28 2006/11/01 23:40:44 pjd Exp $ .\" -.Dd November 26, 2004 +.Dd November 1, 2006 .Dt STATFS 2 .Os .Sh NAME @@ -115,6 +115,9 @@ .It Dv MNT_SOFTDEP Soft updates being done (see .Xr ffs 7 ) . +.It Dv MNT_GJOURNAL +Journaling with gjournal is enabled (see +.Xr gjournal 8 ) . .It Dv MNT_SUIDDIR Special handling of SUID bit on directories. .It Dv MNT_UNION ==== //depot/projects/dtrace/src/lib/libcam/camlib.c#5 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libcam/camlib.c,v 1.15 2006/04/30 07:08:43 marcus Exp $"); +__FBSDID("$FreeBSD: src/lib/libcam/camlib.c,v 1.16 2006/11/02 00:54:32 mjacob Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -676,16 +676,24 @@ */ ccb.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; - ccb.cts.flags = CCB_TRANS_CURRENT_SETTINGS; + ccb.cts.type = CTS_TYPE_CURRENT_SETTINGS; if (ioctl(fd, CAMIOCOMMAND, &ccb) == -1) { sprintf(cam_errbuf, "%s: Get Transfer Settings CCB failed\n" "%s: %s", func_name, func_name, strerror(errno)); goto crod_bailout; } - device->sync_period = ccb.cts.sync_period; - device->sync_offset = ccb.cts.sync_offset; - device->bus_width = ccb.cts.bus_width; + if (ccb.cts.protocol == XPORT_SPI) { + struct ccb_trans_settings_spi *spi = + &ccb.cts.xport_specific.spi; + device->sync_period = spi->sync_period; + device->sync_offset = spi->sync_offset; + device->bus_width = spi->bus_width; + } else { + device->sync_period = 0; + device->sync_offset = 0; + device->bus_width = 0; + } return(device); ==== //depot/projects/dtrace/src/sbin/camcontrol/camcontrol.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.54 2006/08/21 13:24:49 ken Exp $"); +__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.55 2006/11/02 00:54:32 mjacob Exp $"); #include <sys/ioctl.h> #include <sys/stdint.h> @@ -849,8 +849,8 @@ static int scsixferrate(struct cam_device *device) { - u_int32_t freq; - u_int32_t speed; + u_int32_t freq = 0; + u_int32_t speed = 0; union ccb *ccb; u_int mb; int retval = 0; @@ -866,7 +866,7 @@ sizeof(struct ccb_trans_settings) - sizeof(struct ccb_hdr)); ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS; - ccb->cts.flags = CCB_TRANS_CURRENT_SETTINGS; + ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS; if (((retval = cam_send_ccb(device, ccb)) < 0) || ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)) { @@ -887,10 +887,49 @@ } - if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) { - freq = scsi_calc_syncsrate(ccb->cts.sync_period); - speed = freq; + if (ccb->cts.transport == XPORT_SPI) { + struct ccb_trans_settings_spi *spi = + &ccb->cts.xport_specific.spi; + + if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) { + freq = scsi_calc_syncsrate(spi->sync_period); + speed = freq; + } + + fprintf(stdout, "%s%d: ", device->device_name, + device->dev_unit_num); + + if ((spi->valid & CTS_SPI_VALID_BUS_WIDTH) != 0) { + speed *= (0x01 << spi->bus_width); + } + + mb = speed / 1000; + + if (mb > 0) + fprintf(stdout, "%d.%03dMB/s transfers ", + mb, speed % 1000); + else + fprintf(stdout, "%dKB/s transfers ", + speed); + + if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0) + && (spi->sync_offset != 0)) + fprintf(stdout, "(%d.%03dMHz, offset %d", freq / 1000, + freq % 1000, spi->sync_offset); + + if (((spi->valid & CTS_SPI_VALID_BUS_WIDTH) != 0) + && (spi->bus_width > 0)) { + if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0) + && (spi->sync_offset != 0)) { + fprintf(stdout, ", "); + } else { + fprintf(stdout, " ("); + } + fprintf(stdout, "%dbit)", 8 * (0x01 << spi->bus_width)); + } else if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0) + && (spi->sync_offset != 0)) { + fprintf(stdout, ")"); + } } else { struct ccb_pathinq cpi; @@ -901,46 +940,28 @@ speed = cpi.base_transfer_speed; freq = 0; - } - fprintf(stdout, "%s%d: ", device->device_name, - device->dev_unit_num); + mb = speed / 1000; - if ((ccb->cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0) - speed *= (0x01 << device->bus_width); + if (mb > 0) + fprintf(stdout, "%d.%03dMB/s transfers ", + mb, speed % 1000); + else + fprintf(stdout, "%dKB/s transfers ", + speed); + } - mb = speed / 1000; - - if (mb > 0) - fprintf(stdout, "%d.%03dMB/s transfers ", - mb, speed % 1000); - else - fprintf(stdout, "%dKB/s transfers ", - speed); - - if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) - fprintf(stdout, "(%d.%03dMHz, offset %d", freq / 1000, - freq % 1000, ccb->cts.sync_offset); - - if (((ccb->cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0) - && (ccb->cts.bus_width > 0)) { - if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) { - fprintf(stdout, ", "); - } else { - fprintf(stdout, " ("); + if (ccb->cts.protocol == PROTO_SCSI) { + struct ccb_trans_settings_scsi *scsi = + &ccb->cts.proto_specific.scsi; + if (scsi->valid & CTS_SCSI_VALID_TQ) { + if (scsi->flags & CTS_SCSI_FLAGS_TAG_ENB) + fprintf(stdout, ", Command Queueing Enabled"); + else + fprintf(stdout, ", Command Queueing Supported"); } - fprintf(stdout, "%dbit)", 8 * (0x01 << ccb->cts.bus_width)); - } else if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) { - fprintf(stdout, ")"); } - if (((ccb->cts.valid & CCB_TRANS_TQ_VALID) != 0) - && (ccb->cts.flags & CCB_TRANS_TAG_ENB)) - fprintf(stdout, ", Tagged Queueing Enabled"); - fprintf(stdout, "\n"); xferrate_bailout: @@ -2259,36 +2280,51 @@ cam_path_string(device, pathstr, sizeof(pathstr)); - if ((cts->valid & CCB_TRANS_SYNC_RATE_VALID) != 0) { + if (cts->transport == XPORT_SPI) { + struct ccb_trans_settings_spi *spi = + &cts->xport_specific.spi; + + if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) { + + fprintf(stdout, "%ssync parameter: %d\n", pathstr, + spi->sync_period); - fprintf(stdout, "%ssync parameter: %d\n", pathstr, - cts->sync_period); + if (spi->sync_offset != 0) { + u_int freq; - if (cts->sync_offset != 0) { - u_int freq; + freq = scsi_calc_syncsrate(spi->sync_period); + fprintf(stdout, "%sfrequency: %d.%03dMHz\n", + pathstr, freq / 1000, freq % 1000); + } + } - freq = scsi_calc_syncsrate(cts->sync_period); - fprintf(stdout, "%sfrequency: %d.%03dMHz\n", pathstr, - freq / 1000, freq % 1000); + if (spi->valid & CTS_SPI_VALID_SYNC_OFFSET) { + fprintf(stdout, "%soffset: %d\n", pathstr, + spi->sync_offset); } - } - if (cts->valid & CCB_TRANS_SYNC_OFFSET_VALID) - fprintf(stdout, "%soffset: %d\n", pathstr, cts->sync_offset); + if (spi->valid & CTS_SPI_VALID_BUS_WIDTH) { + fprintf(stdout, "%sbus width: %d bits\n", pathstr, + (0x01 << spi->bus_width) * 8); + } - if (cts->valid & CCB_TRANS_BUS_WIDTH_VALID) - fprintf(stdout, "%sbus width: %d bits\n", pathstr, - (0x01 << cts->bus_width) * 8); + if (spi->valid & CTS_SPI_VALID_DISC) { + fprintf(stdout, "%sdisconnection is %s\n", pathstr, + (spi->flags & CTS_SPI_FLAGS_DISC_ENB) ? + "enabled" : "disabled"); + } + } - if (cts->valid & CCB_TRANS_DISC_VALID) - fprintf(stdout, "%sdisconnection is %s\n", pathstr, - (cts->flags & CCB_TRANS_DISC_ENB) ? "enabled" : - "disabled"); + if (cts->protocol == PROTO_SCSI) { + struct ccb_trans_settings_scsi *scsi= + &cts->proto_specific.scsi; - if (cts->valid & CCB_TRANS_TQ_VALID) - fprintf(stdout, "%stagged queueing is %s\n", pathstr, - (cts->flags & CCB_TRANS_TAG_ENB) ? "enabled" : - "disabled"); + if (scsi->valid & CTS_SCSI_VALID_TQ) { + fprintf(stdout, "%stagged queueing is %s\n", pathstr, + (scsi->flags & CTS_SCSI_FLAGS_TAG_ENB) ? + "enabled" : "disabled"); + } + } } @@ -2500,9 +2536,9 @@ ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS; if (user_settings == 0) - ccb->cts.flags = CCB_TRANS_CURRENT_SETTINGS; + ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS; else - ccb->cts.flags = CCB_TRANS_USER_SETTINGS; + ccb->cts.type = CTS_TYPE_USER_SETTINGS; if (cam_send_ccb(device, ccb) < 0) { perror("error sending XPT_GET_TRAN_SETTINGS CCB"); @@ -2676,16 +2712,27 @@ cpi_print(&cpi); if (change_settings) { - if (disc_enable != -1) { - ccb->cts.valid |= CCB_TRANS_DISC_VALID; + int didsettings = 0; + struct ccb_trans_settings_spi *spi = NULL; + struct ccb_trans_settings_scsi *scsi = NULL; + + if (ccb->cts.transport == XPORT_SPI) { + spi = &ccb->cts.xport_specific.spi; + spi->valid = 0; + } + if (ccb->cts.protocol == PROTO_SCSI) { + scsi = &ccb->cts.proto_specific.scsi; + scsi->valid = 0; + } + if (spi && disc_enable != -1) { + spi->valid |= CTS_SPI_VALID_DISC; if (disc_enable == 0) - ccb->cts.flags &= ~CCB_TRANS_DISC_ENB; + spi->flags &= ~CTS_SPI_FLAGS_DISC_ENB; else - ccb->cts.flags |= CCB_TRANS_DISC_ENB; - } else - ccb->cts.valid &= ~CCB_TRANS_DISC_VALID; + spi->flags |= CTS_SPI_FLAGS_DISC_ENB; + } - if (tag_enable != -1) { + if (scsi && tag_enable != -1) { if ((cpi.hba_inquiry & PI_TAG_ABLE) == 0) { warnx("HBA does not support tagged queueing, " "so you cannot modify tag settings"); @@ -2693,16 +2740,16 @@ goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_TQ_VALID; + scsi->valid |= CTS_SCSI_VALID_TQ; if (tag_enable == 0) - ccb->cts.flags &= ~CCB_TRANS_TAG_ENB; + scsi->flags &= ~CTS_SCSI_FLAGS_TAG_ENB; else - ccb->cts.flags |= CCB_TRANS_TAG_ENB; - } else - ccb->cts.valid &= ~CCB_TRANS_TQ_VALID; + scsi->flags |= CTS_SCSI_FLAGS_TAG_ENB; + didsettings++; + } - if (offset != -1) { + if (spi && offset != -1) { if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) { warnx("HBA at %s%d is not cable of changing " "offset", cpi.dev_name, @@ -2710,12 +2757,12 @@ retval = 1; goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_SYNC_OFFSET_VALID; - ccb->cts.sync_offset = offset; - } else - ccb->cts.valid &= ~CCB_TRANS_SYNC_OFFSET_VALID; + spi->valid |= CTS_SPI_VALID_SYNC_OFFSET; + spi->sync_offset = offset; + didsettings++; + } - if (syncrate != -1) { + if (spi && syncrate != -1) { int prelim_sync_period; u_int freq; @@ -2727,7 +2774,7 @@ goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_SYNC_RATE_VALID; + spi->valid |= CTS_SPI_VALID_SYNC_RATE; /* * The sync rate the user gives us is in MHz. @@ -2745,12 +2792,12 @@ else prelim_sync_period = 10000000 / syncrate; - ccb->cts.sync_period = + spi->sync_period = scsi_calc_syncparam(prelim_sync_period); - freq = scsi_calc_syncsrate(ccb->cts.sync_period); - } else - ccb->cts.valid &= ~CCB_TRANS_SYNC_RATE_VALID; + freq = scsi_calc_syncsrate(spi->sync_period); + didsettings++; + } /* * The bus_width argument goes like this: @@ -2761,7 +2808,7 @@ * command line right by 4, you should get the correct * number. */ - if (bus_width != -1) { + if (spi && bus_width != -1) { /* * We might as well validate things here with a @@ -2787,11 +2834,14 @@ goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_BUS_WIDTH_VALID; - ccb->cts.bus_width = bus_width >> 4; - } else - ccb->cts.valid &= ~CCB_TRANS_BUS_WIDTH_VALID; + spi->valid |= CTS_SPI_VALID_BUS_WIDTH; + spi->bus_width = bus_width >> 4; + didsettings++; + } + if (didsettings == 0) { + goto ratecontrol_bailout; + } ccb->ccb_h.func_code = XPT_SET_TRAN_SETTINGS; if (cam_send_ccb(device, ccb) < 0) { ==== //depot/projects/dtrace/src/sbin/geom/class/cache/geom_cache.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sbin/geom/class/cache/geom_cache.c,v 1.1 2006/10/06 08:27:06 ru Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/cache/geom_cache.c,v 1.2 2006/11/01 22:28:11 pjd Exp $"); #include <errno.h> #include <stdio.h> @@ -74,7 +74,7 @@ }, { "destroy", G_FLAG_VERBOSE, NULL, { - { 'f', "force", NULL, G_TYPE_NONE }, + { 'f', "force", NULL, G_TYPE_BOOL }, G_OPT_SENTINEL }, "[-fv] name ..." @@ -95,7 +95,7 @@ }, { "stop", G_FLAG_VERBOSE, NULL, { - { 'f', "force", NULL, G_TYPE_NONE }, + { 'f', "force", NULL, G_TYPE_BOOL }, G_OPT_SENTINEL }, "[-fv] name ..." ==== //depot/projects/dtrace/src/sbin/geom/class/mirror/geom_mirror.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.15 2006/10/10 15:00:32 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.16 2006/11/01 22:51:48 pjd Exp $"); #include <sys/param.h> #include <errno.h> @@ -67,12 +67,14 @@ { 'a', "autosync", NULL, G_TYPE_BOOL }, { 'b', "balance", configure_balance, G_TYPE_STRING }, { 'd', "dynamic", NULL, G_TYPE_BOOL }, + { 'f', "failsync", NULL, G_TYPE_BOOL }, + { 'F', "nofailsync", NULL, G_TYPE_BOOL }, { 'h', "hardcode", NULL, G_TYPE_BOOL }, { 'n', "noautosync", NULL, G_TYPE_BOOL }, { 's', "slice", &configure_slice, G_TYPE_NUMBER }, G_OPT_SENTINEL }, - "[-adhnv] [-b balance] [-s slice] name" + "[-adfFhnv] [-b balance] [-s slice] name" }, { "deactivate", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, "[-v] name prov ..." @@ -86,12 +88,13 @@ { "label", G_FLAG_VERBOSE, mirror_main, { { 'b', "balance", label_balance, G_TYPE_STRING }, + { 'F', "nofailsync", NULL, G_TYPE_BOOL }, { 'h', "hardcode", NULL, G_TYPE_BOOL }, { 'n', "noautosync", NULL, G_TYPE_BOOL }, { 's', "slice", &label_slice, G_TYPE_NUMBER }, G_OPT_SENTINEL }, - "[-hnv] [-b balance] [-s slice] name prov ..." + "[-Fhnv] [-b balance] [-s slice] name prov ..." }, { "insert", G_FLAG_VERBOSE, NULL, { @@ -154,7 +157,7 @@ unsigned sectorsize; off_t mediasize; intmax_t val; - int error, i, nargs, bal, hardcode, noautosync; + int error, i, nargs, bal, hardcode; nargs = gctl_get_int(req, "nargs"); if (nargs < 2) { @@ -182,9 +185,10 @@ return; } md.md_balance = bal; - noautosync = gctl_get_int(req, "noautosync"); - if (noautosync) + if (gctl_get_int(req, "noautosync")) md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOAUTOSYNC; + if (gctl_get_int(req, "nofailsync")) + md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOFAILSYNC; hardcode = gctl_get_int(req, "hardcode"); /* ==== //depot/projects/dtrace/src/sbin/geom/class/mirror/gmirror.8#5 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.20 2006/09/18 11:55:09 ru Exp $ +.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.22 2006/11/02 10:44:02 ceri Exp $ .\" -.Dd March 8, 2006 +.Dd November 1, 2006 .Dt GMIRROR 8 .Os .Sh NAME @@ -33,7 +33,7 @@ .Sh SYNOPSIS .Nm .Cm label -.Op Fl hnv +.Op Fl Fhnv .Op Fl b Ar balance .Op Fl s Ar slice .Ar name @@ -44,7 +44,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611032104.kA3L48Xo095351>