PERFORCE change 132346 for review

John Birrell jb at FreeBSD.org
Wed Jan 2 15:01:50 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=132346

Change 132346 by jb at jb_freebsd1 on 2008/01/02 23:01:47

	IFC

Affected files ...

.. //depot/projects/dtrace/doc/share/pgpkeys/delphij.key#3 integrate
.. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#28 integrate
.. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#27 integrate
.. //depot/projects/dtrace/doc/share/pgpkeys/weongyo.key#1 branch
.. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#22 integrate
.. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#21 integrate
.. //depot/projects/dtrace/ports/LEGAL#31 integrate
.. //depot/projects/dtrace/ports/MOVED#59 integrate
.. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackages.wrapper#4 integrate
.. //depot/projects/dtrace/src/COPYRIGHT#5 integrate
.. //depot/projects/dtrace/src/lib/libarchive/Makefile#10 integrate
.. //depot/projects/dtrace/src/lib/libarchive/mtree.5#2 delete
.. //depot/projects/dtrace/src/lib/libarchive/test/Makefile#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/README#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/main.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/read_open_memory.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test.h#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_gtar.c#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_gtar_1.tgz.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_zip.c#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_compat_zip_1.zip.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_empty_write.c#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_entry_strmode.c#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_cpio_odc.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tgz.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17.tgz.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tgz.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix01.tgz.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tgz.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_isorr_bz2.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_mtree.c#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_format_zip.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_read_pax_truncated.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_tar_filenames.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_tar_large.c#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_write_disk_perms.c#2 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_write_format_cpio.c#3 integrate
.. //depot/projects/dtrace/src/lib/libarchive/test/test_write_format_cpio_newc.c#1 branch
.. //depot/projects/dtrace/src/lib/libarchive/test/test_write_format_cpio_odc.c#1 branch
.. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#16 integrate
.. //depot/projects/dtrace/src/share/man/man4/ed.4#5 integrate
.. //depot/projects/dtrace/src/share/man/man4/man4.i386/ep.4#5 integrate
.. //depot/projects/dtrace/src/share/misc/committers-src.dot#5 integrate
.. //depot/projects/dtrace/src/share/zoneinfo/backward#7 integrate
.. //depot/projects/dtrace/src/share/zoneinfo/europe#7 integrate
.. //depot/projects/dtrace/src/share/zoneinfo/southamerica#9 integrate
.. //depot/projects/dtrace/src/share/zoneinfo/zone.tab#8 integrate
.. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#28 integrate
.. //depot/projects/dtrace/src/sys/cam/cam_xpt.c#16 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/ata-all.h#9 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/ata-disk.c#9 integrate
.. //depot/projects/dtrace/src/sys/dev/cxgb/cxgb_l2t.c#4 integrate
.. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#24 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_tc.c#10 integrate
.. //depot/projects/dtrace/src/sys/kern/subr_smp.c#8 integrate
.. //depot/projects/dtrace/src/sys/kern/uipc_usrreq.c#19 integrate
.. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#22 integrate
.. //depot/projects/dtrace/src/sys/netinet/if_ether.c#15 integrate
.. //depot/projects/dtrace/src/sys/netinet/if_ether.h#5 integrate
.. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vnops.c#11 integrate
.. //depot/projects/dtrace/src/sys/vm/pmap.h#9 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_page.c#30 integrate
.. //depot/projects/dtrace/src/usr.bin/calendar/calendars/calendar.freebsd#16 integrate
.. //depot/projects/dtrace/src/usr.bin/colldef/parse.y#5 integrate
.. //depot/projects/dtrace/src/usr.bin/colldef/scan.l#5 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/COPYING#5 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/Makefile#5 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.1#7 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.c#6 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.h#6 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/bsdtar_platform.h#6 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/config_freebsd.h#2 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/read.c#7 integrate
.. //depot/projects/dtrace/src/usr.bin/tar/test/config.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/test/test-acl.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/test/test-basic.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/test/test-deep-dir.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/test/test-flags.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/test/test-nodump.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/test/test-overwrite.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/test/test-utf8.sh#2 delete
.. //depot/projects/dtrace/src/usr.bin/tar/util.c#6 integrate
.. //depot/projects/dtrace/src/usr.sbin/mtree/Makefile#4 integrate
.. //depot/projects/dtrace/src/usr.sbin/mtree/mtree.5#1 branch
.. //depot/projects/dtrace/src/usr.sbin/sysinstall/dist.c#11 integrate
.. //depot/projects/dtrace/src/usr.sbin/sysinstall/dist.h#8 integrate
.. //depot/projects/dtrace/src/usr.sbin/sysinstall/menus.c#10 integrate
.. //depot/projects/dtrace/src/usr.sbin/sysinstall/sysinstall.h#8 integrate
.. //depot/projects/dtrace/www/en/cgi/cgi-style.pl#6 integrate
.. //depot/projects/dtrace/www/en/projects/ideas/ideas.xml#6 integrate
.. //depot/projects/dtrace/www/share/sgml/header.ent#8 integrate

Differences ...

==== //depot/projects/dtrace/doc/share/pgpkeys/delphij.key#3 (text+ko) ====

@@ -1,6 +1,6 @@
-<!-- $FreeBSD: doc/share/pgpkeys/delphij.key,v 1.2 2006/01/27 10:28:51 delphij Exp $ -->
+<!-- $FreeBSD: doc/share/pgpkeys/delphij.key,v 1.3 2008/01/02 00:55:05 delphij Exp $ -->
 <!--
-sh addkey.sh delphij 42EA8A4B CAEEB8C0;
+sh addkey.sh delphij 18EDEBA0 42EA8A4B CAEEB8C0;
 -->
 <programlisting role="pgpfingerprint"><![CDATA[
 pub   1024D/CAEEB8C0 2004-01-28
@@ -10,12 +10,18 @@
 uid                  Xin LI <delphij at delphij.net>
 uid                  Xin LI <delphij at geekcn.org>
 
-pub   1024D/42EA8A4B 2006-01-27 [expires: 2008-01-01]
+pub   1024D/42EA8A4B 2006-01-27 [expired: 2008-01-01]
       Key fingerprint = F19C 2616 FA97 9C13 2581  C6F3 85C5 1CCE 42EA 8A4B
 uid                  Xin LI <delphij at geekcn.org>
 uid                  Xin LI <delphij at FreeBSD.org>
 uid                  Xin LI <delphij at delphij.net>
-sub   4096g/11A94A02 2006-01-27 [expires: 2008-01-01]
+
+pub   1024D/18EDEBA0 2008-01-02 [expires: 2010-01-02]
+      Key fingerprint = 79A6 CF42 F917 DDCA F1C2  C926 8BEB DB04 18ED EBA0
+uid                  Xin LI <delphij at geekcn.org>
+uid                  Xin LI <delphij at FreeBSD.org>
+uid                  Xin LI <delphij at delphij.net>
+sub   4096g/8ED8F128 2008-01-02 [expires: 2010-01-02]
 ]]></programlisting>
 <programlisting role="pgpkey"><![CDATA[
 -----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -122,7 +128,49 @@
 HrVaXK41+TmlzTZ3mMtcnrH37kPulytPfgWQwctth/JsehxLCcl46FiK+Dc5J0iz
 ksT/I+1euxiAJpd+uJAswn+yHbejwKj1GoejLRAmPl7eiE8EGBECAA8FAkPZ8oYC
 GwwFCQOgIAAACgkQhcUczkLqiksoVwCgr37ag+vCH0UenSbvxonWenXb1kIAnREm
-zqOMMNOh4KXMYi8ANHEpRZ2z
-=oIge
+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
+bnb9gHFGpH1QylHtTuqRnaA=
+=Cm8W
 -----END PGP PUBLIC KEY BLOCK-----
 ]]></programlisting>

==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#28 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/share/pgpkeys/pgpkeys-developers.sgml,v 1.58 2007/11/01 17:33:38 brix Exp $
+     $FreeBSD: doc/share/pgpkeys/pgpkeys-developers.sgml,v 1.59 2008/01/01 10:33:27 weongyo Exp $
 -->
 
     <sect2 id="pgpkey-ariff">
@@ -429,6 +429,11 @@
       &pgpkey.jkh;
     </sect2>
 
+    <sect2 id="pgpkey-weongyo">
+      <title>&a.weongyo;</title>
+      &pgpkey.weongyo;
+    </sect2>
+
     <sect2 id="pgpkey-ahze">
       <title>&a.ahze;</title>
       &pgpkey.ahze;

==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#27 (text+ko) ====

@@ -1,5 +1,5 @@
 
-<!-- $FreeBSD: doc/share/pgpkeys/pgpkeys.ent,v 1.154 2007/11/01 17:33:38 brix Exp $ -->
+<!-- $FreeBSD: doc/share/pgpkeys/pgpkeys.ent,v 1.155 2008/01/01 10:33:27 weongyo Exp $ -->
 <!-- PGP keyblocks -->
 <!ENTITY pgpkey.aaron SYSTEM "aaron.key">
 <!ENTITY pgpkey.ache SYSTEM "ache.key">
@@ -265,6 +265,7 @@
 <!ENTITY pgpkey.vkashyap SYSTEM "vkashyap.key">
 <!ENTITY pgpkey.vs SYSTEM "vs.key">
 <!ENTITY pgpkey.vsevolod SYSTEM "vsevolod.key">
+<!ENTITY pgpkey.weongyo SYSTEM "weongyo.key">
 <!ENTITY pgpkey.wes SYSTEM "wes.key">
 <!ENTITY pgpkey.wilko SYSTEM "wilko.key">
 <!ENTITY pgpkey.will SYSTEM "will.key">

==== //depot/projects/dtrace/doc/share/sgml/man-refs.ent#22 (text+ko) ====

@@ -20,7 +20,7 @@
      lexicographical order by the entity (i.e., the dots used in place of
      special characters should not be expanded when comparing).
 
-     $FreeBSD: doc/share/sgml/man-refs.ent,v 1.445 2007/12/16 02:44:04 bmah Exp $
+     $FreeBSD: doc/share/sgml/man-refs.ent,v 1.446 2008/01/01 23:55:27 bmah Exp $
 -->
 
 <!ENTITY man...1 "<citerefentry/<refentrytitle/[/<manvolnum/1//">
@@ -3697,6 +3697,7 @@
 <!ENTITY man.tcp.4 "<citerefentry/<refentrytitle/tcp/<manvolnum/4//">
 <!ENTITY man.tdfx.4 "<citerefentry/<refentrytitle/tdfx/<manvolnum/4//">
 <!ENTITY man.termios.4 "<citerefentry/<refentrytitle/termios/<manvolnum/4//">
+<!ENTITY man.textdump.4 "<citerefentry/<refentrytitle/textdump/<manvolnum/4//">
 <!ENTITY man.ti.4 "<citerefentry/<refentrytitle/ti/<manvolnum/4//">
 <!ENTITY man.tl.4 "<citerefentry/<refentrytitle/tl/<manvolnum/4//">
 <!ENTITY man.trm.4 "<citerefentry/<refentrytitle/trm/<manvolnum/4//">
@@ -4117,6 +4118,7 @@
 <!ENTITY man.cxconfig.8 "<citerefentry/<refentrytitle/cxconfig/<manvolnum/8//">
 <!ENTITY man.daemon.8 "<citerefentry/<refentrytitle/daemon/<manvolnum/8//">
 <!ENTITY man.dconschat.8 "<citerefentry/<refentrytitle/dconschat/<manvolnum/8//">
+<!ENTITY man.ddb.8 "<citerefentry/<refentrytitle/ddb/<manvolnum/8//">
 <!ENTITY man.dev.mkdb.8 "<citerefentry/<refentrytitle/dev_mkdb/<manvolnum/8//">
 <!ENTITY man.devd.8 "<citerefentry/<refentrytitle/devd/<manvolnum/8//">
 <!ENTITY man.devfs.8 "<citerefentry/<refentrytitle/devfs/<manvolnum/8//">

==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#21 (text+ko) ====

@@ -2,8 +2,8 @@
      The FreeBSD Documentation Project
      The FreeBSD Simplified Chinese Project
 
-     Original Revision: 1.891
-     $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.30 2007/12/17 15:53:15 loader Exp $
+     Original Revision: 1.893
+     $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.31 2008/01/02 07:17:57 loader Exp $
 -->
 
 <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -10641,7 +10641,7 @@
 		    <entry>603100</entry>
 		  </row>
 		  <row>
-		    <entry>7.0-CURRENT.</entry>
+		    <entry>7.0-CURRENT¡£</entry>
 		    <entry>700000</entry>
 		  </row>
 		  <row>
@@ -10909,6 +10909,11 @@
 		      PCIOCREAD ºÍ PCIOCWRITE IOCTL ABI ÏòϼæÈÝÖ®ºóµÄ 7.0-CURRENT£¬
 		      ÕâÒ»±ä¶¯µ¼Ö PCIOCGETCONF IOCTL µÄ ABI Ôٴη¢Éú±ä»¯¡£</entry>
 		    <entry>700055</entry>
+		  </row>
+		  <row>
+		    <entry>7.0-RELEASE Ö®ºóµÄ 7.0-STABLE</entry>
+		    <entry>700100</entry>
+		  </row>
 		  <row>
 		    <entry>8.0-CURRENT¡£ ·Ö²ðÁË¿í×Ö·ûºÍµ¥×Ö½Ú×Ö·û
 		      ctype¡£</entry>
@@ -10938,7 +10943,10 @@
 		      8.0-CURRENT</entry>
 		    <entry>800006</entry>
 		  </row>
-
+		  <row>
+		    <entry>kdb_enter() Ôö¼Ó "why" ²ÎÊýÖ®ºóµÄ 8.0-CURRENT¡£</entry>
+		    <entry>800007</entry>
+		  </row>
 		</tbody>
 	      </tgroup>
 	    </table>

==== //depot/projects/dtrace/ports/LEGAL#31 (text+ko) ====

@@ -1,5 +1,5 @@
 # Creator:  Jordan Hubbard
-# $FreeBSD: ports/LEGAL,v 1.562 2007/12/24 17:01:12 alepulver Exp $
+# $FreeBSD: ports/LEGAL,v 1.563 2008/01/01 15:35:04 lme Exp $
 
    **********************************************************************
    ***                      NOTE TO COMMITTERS                        ***
@@ -624,6 +624,7 @@
 VTK-*			math/vtk		Portions contain patented algorithms
 						and may require a license for
 						commercial use
+vrml2pov-src*		graphics/vrml2pov	Redistribution is not allowed
 waeijiro-fpw-*		japanese/waeijiro-fpw	The original dictionary is not free
 warsow/*		games/linux-warsow	Redistribution is limited, art
 						is copyrighted

==== //depot/projects/dtrace/ports/MOVED#59 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # MOVED - a list of (recently) moved or removed ports
 #
-# $FreeBSD: ports/MOVED,v 1.1525 2007/12/25 20:05:46 lioux Exp $
+# $FreeBSD: ports/MOVED,v 1.1526 2008/01/01 22:41:52 marcus Exp $
 #
 # Each entry consists of a single line containing the following four
 # fields in the order named, separated with the pipe (`|') character:
@@ -3351,3 +3351,6 @@
 net-p2p/mldonkey-core-devel||2007-12-25|Development version no longer necessary
 net-p2p/mldonkey-gui-devel||2007-12-25|Development version no longer necessary
 net-p2p/mldonkey-devel||2007-12-25|Development version no longer necessary
+audio/polypaudio|audio/pulseaudio|2008-01-01|Project renamed
+audio/paman|audio/pavucontrol|2008-01-01|New tool to work with pulseaudio
+audio/akode-plugins-polypaudio||2008-01-01|Polypaudio is obsolete in favor of pulseaudio

==== //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackages.wrapper#4 (text+ko) ====

@@ -1,14 +1,5 @@
 #!/bin/sh
 
-cleanup() {
-  lock=$1
-  error=$2
-
-  rm -f ${lock}
-
-  exit ${error}
-}
-
 # configurable variables
 pb=/var/portbuild
 arch=$1
@@ -27,11 +18,10 @@
   exit 1
 fi
 
-touch ${lock}
 rm -f ${status}
 mkdir -p ${pb}/${arch}/archive/buildlogs
 
-trap "cleanup ${lock} 1" 1 2 3 9 10 11 15
+trap "exit 1" 1 2 3 9 10 11 15
 
 dorun() {
   branch=$1
@@ -39,11 +29,11 @@
 
   ln -sf ${pb}/${arch}/archive/buildlogs/log.${branch}.${date} ${pb}/${arch}/${branch}/build.log
   ln -sf log.${branch}.${date} ${pb}/${arch}/archive/buildlogs/log.${branch}.${shortdate}
-  ${pb}/scripts/dopackages ${arch} $@ ${branch} ${date} 2>&1 \
+  lockf -t 0 ${lock} ${pb}/scripts/dopackages ${arch} $@ ${branch} ${date} 2>&1 \
     > ${pb}/${arch}/archive/buildlogs/log.${branch}.${date}
   if [ -f ${status} ]; then
     error=$(cat ${status})
-    cleanup ${lock} ${error}
+    exit ${error}
   fi
 
 }
@@ -51,4 +41,4 @@
 dorun ${branch} $@ &
 wait
 
-cleanup ${lock} 0
+exit 0

==== //depot/projects/dtrace/src/COPYRIGHT#5 (text+ko) ====

@@ -1,10 +1,10 @@
-# $FreeBSD: src/COPYRIGHT,v 1.8 2006/12/31 16:34:16 delphij Exp $
+# $FreeBSD: src/COPYRIGHT,v 1.9 2007/12/31 22:09:19 delphij Exp $
 #	@(#)COPYRIGHT	8.2 (Berkeley) 3/21/94
 
 The compilation of software known as FreeBSD is distributed under the
 following terms:
 
-Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved.
+Copyright (C) 1992-2008 The FreeBSD Project. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

==== //depot/projects/dtrace/src/lib/libarchive/Makefile#10 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libarchive/Makefile,v 1.78 2007/12/30 04:58:21 kientzle Exp $
+# $FreeBSD: src/lib/libarchive/Makefile,v 1.79 2008/01/01 06:17:05 kientzle Exp $
 
 LIB=	archive
 DPADD=	${LIBBZ2} ${LIBZ}
@@ -103,7 +103,6 @@
 	cpio.5						\
 	libarchive.3					\
 	libarchive-formats.5				\
-	mtree.5						\
 	tar.5
 
 # Symlink the man pages under each function name.

==== //depot/projects/dtrace/src/lib/libarchive/test/Makefile#2 (text+ko) ====

@@ -1,11 +1,32 @@
-# $FreeBSD: src/lib/libarchive/test/Makefile,v 1.11 2007/07/13 15:14:35 kientzle Exp $
+# $FreeBSD: src/lib/libarchive/test/Makefile,v 1.12 2008/01/01 22:28:04 kientzle Exp $
+
+# Where to find the libarchive sources
+LA_SRCDIR=${.CURDIR}/..
+.PATH: ${LA_SRCDIR}
+
+# Get a list of all libarchive source files
+LA_SRCS!=make -f ${LA_SRCDIR}/Makefile -V SRCS
+
+TESTFILES= \
+	test_compat_gtar_1.tgz					\
+	test_compat_zip_1.zip					\
+	test_read_format_gtar_sparse_1_13.tgz			\
+	test_read_format_gtar_sparse_1_17.tgz			\
+	test_read_format_gtar_sparse_1_17_posix00.tgz		\
+	test_read_format_gtar_sparse_1_17_posix01.tgz		\
+	test_read_format_gtar_sparse_1_17_posix10.tgz		\
+	test_read_format_gtar_sparse_1_17_posix10_modified.tar
 
 TESTS= \
 	test_acl_basic.c			\
 	test_acl_pax.c				\
 	test_archive_api_feature.c		\
 	test_bad_fd.c				\
+	test_compat_gtar.c			\
+	test_compat_zip.c			\
+	test_empty_write.c			\
 	test_entry.c				\
+	test_entry_strmode.c			\
 	test_read_compress_program.c		\
 	test_read_data_large.c			\
 	test_read_extract.c			\
@@ -22,6 +43,7 @@
 	test_read_format_gtar_sparse.c		\
 	test_read_format_iso_gz.c		\
 	test_read_format_isorr_bz2.c		\
+	test_read_format_mtree.c		\
 	test_read_format_pax_bz2.c		\
 	test_read_format_tar.c			\
 	test_read_format_tbz.c			\
@@ -33,50 +55,74 @@
 	test_read_position.c			\
 	test_read_truncated.c			\
 	test_tar_filenames.c			\
+	test_tar_large.c			\
 	test_write_compress_program.c		\
 	test_write_disk.c			\
 	test_write_disk_perms.c			\
 	test_write_disk_secure.c		\
 	test_write_format_ar.c			\
 	test_write_format_cpio.c		\
+	test_write_format_cpio_odc.c		\
+	test_write_format_cpio_newc.c		\
 	test_write_format_cpio_empty.c		\
 	test_write_format_shar_empty.c		\
 	test_write_format_tar.c			\
 	test_write_format_tar_empty.c		\
 	test_write_open_memory.c
 
-SRCS= ${TESTS}					\
+
+# Build the test program using all libarchive sources + the test sources.
+SRCS= ${LA_SRCS}				\
+	${TESTS}				\
 	list.h					\
 	main.c					\
 	read_open_memory.c
 
-CLEANFILES+= list.h
+CLEANFILES+= list.h archive.h
 
 NO_MAN=yes
 
 PROG=libarchive_test
-DPADD=${LIBARCHIVE} ${LIBBZ2} ${LIBZ}
-LDADD= -larchive -lz -lbz2
+INTERNALPROG=yes  # Don't install this; it's just for testing
+DPADD=${LIBBZ2} ${LIBZ}
+CFLAGS+= -DPLATFORM_CONFIG_H=\"config_freebsd.h\"
+LDADD= -lz -lbz2
 CFLAGS+= -static -g
 CFLAGS+= -I${.OBJDIR}
+CFLAGS+= -I${.CURDIR}
+CFLAGS+= -I${LA_SRCDIR}
+# Without this, libarchive source files find archive.h in LA_SRCDIR,
+# which may not be the same as archive.h in the test dir.
+CFLAGS+= -I-
 
 # Uncomment to link against dmalloc
-#LDADD+= -L/usr/local/lib -ldmalloc
-#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC
-#WARNS=6
+LDADD+= -L/usr/local/lib -ldmalloc
+CFLAGS+= -I/usr/local/include -DUSE_DMALLOC
+WARNS=6
+
+# Build libarchive_test and run it.
+check test: libarchive_test ${TESTFILES}
+	./libarchive_test
+
+.for f in ${TESTFILES}
+${f}: ${f}.uu
+	uudecode -p ${.CURDIR}/${f}.uu >${f}
+.endfor
+
+INCS=archive.h list.h
 
-test:	libarchive_test
-	./libarchive_test -k
+# Build archive.h, but in our .OBJDIR, not libarchive's
+# This keeps libarchive_test and libarchive builds completely separate.
+archive.h: ${LA_SRCDIR}/archive.h.in ${LA_SRCDIR}/Makefile
+	cd ${LA_SRCDIR} && unset MAKEOBJDIRPREFIX && MAKEOBJDIR=${.OBJDIR} make archive.h
 
+# list.h is just a list of all tests, as indicated by DEFINE_TEST macro lines
 list.h: ${TESTS} Makefile
 	(cd ${.CURDIR}; cat ${TESTS}) | grep DEFINE_TEST > list.h
 
-clean:
-	rm -f *.out
-	rm -f *.o
-	rm -f *.core
-	rm -f *~
-	rm -f list.h
+CLEANFILES += *.out *.o *.core *~ list.h archive.h ${TESTFILES}
+
+cleantest:
 	-chmod -R +w /tmp/libarchive_test.*
 	rm -rf /tmp/libarchive_test.*
 

==== //depot/projects/dtrace/src/lib/libarchive/test/README#2 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/lib/libarchive/test/README,v 1.2 2007/05/29 01:00:20 kientzle Exp $
+$FreeBSD: src/lib/libarchive/test/README,v 1.3 2008/01/01 22:28:04 kientzle Exp $
 
 This is the test harness for libarchive.
 
@@ -32,7 +32,11 @@
 
   * The test function should use assert(), assertA() and similar macros
     defined in test.h.  If you need to add new macros of this form, feel
-    free to do so.
+    free to do so.  The current macro set includes assertEqualInt() and
+    assertEqualString() that print out additional detail about their
+    arguments if the assertion does fail.  'A' versions also accept
+    a struct archive * and display any error message from there on
+    failure.
 
   * You are encouraged to document each assertion with a failure() call
     just before the assert.  The failure() function is a printf-like
@@ -43,7 +47,10 @@
        assert(strcmp(buff1, buff2) == 0);
 
   * Tests are encouraged to be economical with their memory and disk usage,
-    though this is not essential.
+    though this is not essential.  The test is occasionally run under
+    a memory debugger to try to locate memory leaks in the library;
+    as a result, tests should be careful to release any memory they
+    allocate.
 
   * Disable tests on specific platforms as necessary.  Please don't
     use config.h to adjust feature requirements, as I want the tests
@@ -53,3 +60,4 @@
 #if !defined(__PLATFORM) && !defined(__Platform2__)
     assert(xxxx)
 #endif
+

==== //depot/projects/dtrace/src/lib/libarchive/test/main.c#2 (text+ko) ====

@@ -24,6 +24,17 @@
  */
 
 /*
+ * This same file is used pretty much verbatim for all test harnesses.
+ *
+ * The next line is used to define various environment variables, etc.
+ *
+ * The tar and cpio test harnesses are identical except for this line;
+ * the libarchive test harness omits some code that is needed only for
+ * testing standalone executables.
+ */
+#define PROGRAM "LIBARCHIVE"
+
+/*
  * Various utility routines useful for test programs.
  * Each test program is linked against this file.
  */
@@ -32,7 +43,19 @@
 #include <time.h>
 
 #include "test.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.8 2007/07/31 05:03:27 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.9 2008/01/01 22:28:04 kientzle Exp $");
+
+/*
+ * "list.h" is simply created by "grep DEFINE_TEST"; it has
+ * a line like
+ *      DEFINE_TEST(test_function)
+ * for each test.
+ * Include it here with a suitable DEFINE_TEST to declare all of the
+ * test functions.
+ */
+#undef DEFINE_TEST
+#define DEFINE_TEST(name) void name(void);
+#include "list.h"
 
 /* Interix doesn't define these in a standard header. */
 #if __INTERIX__
@@ -48,6 +71,8 @@
 static int failures = 0;
 /* Cumulative count of skipped component tests. */
 static int skips = 0;
+/* Cumulative count of assertions. */
+static int assertions = 0;
 
 /*
  * My own implementation of the standard assert() macro emits the
@@ -57,12 +82,10 @@
  * Emacs.  ;-)
  *
  * It also supports a few special features specifically to simplify
- * libarchive test harnesses:
+ * test harnesses:
  *    failure(fmt, args) -- Stores a text string that gets
  *          printed if the following assertion fails, good for
  *          explaining subtle tests.
- *    assertA(a, cond) -- If the test fails, also prints out any error
- *          message stored in archive object 'a'.
  */
 static char msg[4096];
 
@@ -76,12 +99,13 @@
 	int count;
 }  failed_lines[1000];
 
-
-/* Count this failure; return the number of previous failures. */
+/*
+ * Count this failure; return the number of previous failures.
+ */
 static int
 previous_failures(const char *filename, int line)
 {
-	int i;
+	unsigned int i;
 	int count;
 
 	if (failed_filename == NULL || strcmp(failed_filename, filename) != 0)
@@ -100,24 +124,30 @@
 			return (0);
 		}
 	}
+	return (0);
 }
 
-/* Inform user that we're skipping a test. */
-static const char *skipped_filename;
-static int skipped_line;
-void skipping_setup(const char *filename, int line)
+/*
+ * Copy arguments into file-local variables.
+ */
+static const char *test_filename;
+static int test_line;
+static void *test_extra;
+void test_setup(const char *filename, int line)
 {
-	skipped_filename = filename;
-	skipped_line = line;
+	test_filename = filename;
+	test_line = line;
 }
+
+/*
+ * Inform user that we're skipping a test.
+ */
 void
 test_skipping(const char *fmt, ...)
 {
-	int i;
-	int line = skipped_line;
 	va_list ap;
 
-	if (previous_failures(skipped_filename, skipped_line))
+	if (previous_failures(test_filename, test_line))
 		return;
 
 	va_start(ap, fmt);
@@ -130,29 +160,30 @@
 
 /* Common handling of failed tests. */
 static void
-test_failed(struct archive *a, int line)
+report_failure(void *extra)
 {
-	int i;
-
-	failures ++;
-
 	if (msg[0] != '\0') {
 		fprintf(stderr, "   Description: %s\n", msg);
 		msg[0] = '\0';
 	}
-	if (a != NULL) {
-		fprintf(stderr, "   archive error: %s\n", archive_error_string(a));
+	if (extra != NULL) {
+		fprintf(stderr, "   archive error: %s\n", archive_error_string((struct archive *)extra));
 	}
 
 	if (dump_on_failure) {
-		fprintf(stderr, " *** forcing core dump so failure can be debugged ***\n");
+		fprintf(stderr,
+		    " *** forcing core dump so failure can be debugged ***\n");
 		*(char *)(NULL) = 0;
 		exit(1);
 	}
 }
 
-/* Summarize repeated failures in the just-completed test file. */
-int
+/*
+ * Summarize repeated failures in the just-completed test file.
+ * The reports above suppress multiple failures from the same source
+ * line; this reports on any tests that did fail multiple times.
+ */
+static int
 summarize_comparator(const void *a0, const void *b0)
 {
 	const struct line *a = a0, *b = b0;
@@ -165,10 +196,10 @@
 	return (a->line - b->line);
 }
 
-void
-summarize(const char *filename)
+static void
+summarize(void)
 {
-	int i;
+	unsigned int i;
 
 	qsort(failed_lines, sizeof(failed_lines)/sizeof(failed_lines[0]),
 	    sizeof(failed_lines[0]), summarize_comparator);
@@ -196,35 +227,39 @@
 
 /* Generic assert() just displays the failed condition. */
 void
-test_assert(const char *file, int line, int value, const char *condition, struct archive *a)
+test_assert(const char *file, int line, int value, const char *condition, void *extra)
 {
+	++assertions;
 	if (value) {
 		msg[0] = '\0';
 		return;
 	}
+	failures ++;
 	if (previous_failures(file, line))
 		return;
 	fprintf(stderr, "%s:%d: Assertion failed\n", file, line);
 	fprintf(stderr, "   Condition: %s\n", condition);
-	test_failed(a, line);
+	report_failure(extra);
 }
 
 /* assertEqualInt() displays the values of the two integers. */
 void
 test_assert_equal_int(const char *file, int line,
-    int v1, const char *e1, int v2, const char *e2, struct archive *a)
+    int v1, const char *e1, int v2, const char *e2, void *extra)
 {
+	++assertions;
 	if (v1 == v2) {
 		msg[0] = '\0';
 		return;
 	}
+	failures ++;
 	if (previous_failures(file, line))
 		return;
 	fprintf(stderr, "%s:%d: Assertion failed: Ints not equal\n",
 	    file, line);
 	fprintf(stderr, "      %s=%d\n", e1, v1);
 	fprintf(stderr, "      %s=%d\n", e2, v2);
-	test_failed(a, line);
+	report_failure(extra);
 }
 
 /* assertEqualString() displays the values of the two strings. */
@@ -232,8 +267,9 @@
 test_assert_equal_string(const char *file, int line,
     const char *v1, const char *e1,
     const char *v2, const char *e2,
-    struct archive *a)
+    void *extra)
 {
+	++assertions;
 	if (v1 == NULL || v2 == NULL) {
 		if (v1 == v2) {
 			msg[0] = '\0';
@@ -243,13 +279,14 @@
 		msg[0] = '\0';
 		return;
 	}
+	failures ++;
 	if (previous_failures(file, line))
 		return;
 	fprintf(stderr, "%s:%d: Assertion failed: Strings not equal\n",
 	    file, line);
 	fprintf(stderr, "      %s = \"%s\"\n", e1, v1);
 	fprintf(stderr, "      %s = \"%s\"\n", e2, v2);
-	test_failed(a, line);
+	report_failure(extra);
 }
 
 /* assertEqualWString() displays the values of the two strings. */
@@ -257,26 +294,222 @@
 test_assert_equal_wstring(const char *file, int line,
     const wchar_t *v1, const char *e1,
     const wchar_t *v2, const char *e2,
-    struct archive *a)
+    void *extra)
 {
+	++assertions;
 	if (wcscmp(v1, v2) == 0) {
 		msg[0] = '\0';
 		return;
 	}
+	failures ++;
 	if (previous_failures(file, line))
 		return;
 	fprintf(stderr, "%s:%d: Assertion failed: Unicode strings not equal\n",
 	    file, line);
 	fwprintf(stderr, L"      %s = \"%ls\"\n", e1, v1);
 	fwprintf(stderr, L"      %s = \"%ls\"\n", e2, v2);
-	test_failed(a, line);
+	report_failure(extra);
+}
+
+/*
+ * Pretty standard hexdump routine.  As a bonus, if ref != NULL, then
+ * any bytes in p that differ from ref will be highlighted with '_'
+ * before and after the hex value.
+ */
+static void
+hexdump(const char *p, const char *ref, size_t l, size_t offset)
+{
+	size_t i, j;
+	char sep;
+
+	for(i=0; i < l; i+=16) {
+		fprintf(stderr, "%04x", i + offset);
+		sep = ' ';
+		for (j = 0; j < 16 && i + j < l; j++) {
+			if (ref != NULL && p[i + j] != ref[i + j])
+				sep = '_';
+			fprintf(stderr, "%c%02x", sep, p[i+j]);
+			if (ref != NULL && p[i + j] == ref[i + j])
+				sep = ' ';
+		}
+		for (; j < 16; j++) {
+			fprintf(stderr, "%c  ", sep);
+			sep = ' ';
+		}
+		fprintf(stderr, "%c", sep);
+		for (j=0; j < 16 && i + j < l; j++) {
+			int c = p[i + j];
+			if (c >= ' ' && c <= 126)
+				fprintf(stderr, "%c", c);
+			else
+				fprintf(stderr, ".");
+		}
+		fprintf(stderr, "\n");
+	}
+}
+
+/* assertEqualMem() displays the values of the two memory blocks. */
+/* TODO: For long blocks, hexdump the first bytes that actually differ. */
+void
+test_assert_equal_mem(const char *file, int line,
+    const char *v1, const char *e1,
+    const char *v2, const char *e2,
+    size_t l, const char *ld, void *extra)
+{
+	++assertions;
+	if (v1 == NULL || v2 == NULL) {
+		if (v1 == v2) {
+			msg[0] = '\0';
+			return;
+		}
+	} else if (memcmp(v1, v2, l) == 0) {
+		msg[0] = '\0';
+		return;
+	}
+	failures ++;
+	if (previous_failures(file, line))
+		return;
+	fprintf(stderr, "%s:%d: Assertion failed: memory not equal\n",
+	    file, line);
+	fprintf(stderr, "      size %s = %d\n", ld, (int)l);
+	fprintf(stderr, "      Dump of %s\n", e1);
+	hexdump(v1, v2, l < 32 ? l : 32, 0);
+	fprintf(stderr, "      Dump of %s\n", e2);
+	hexdump(v2, v1, l < 32 ? l : 32, 0);
+	fprintf(stderr, "\n");
+	report_failure(extra);
+}
+
+void
+test_assert_empty_file(const char *f1fmt, ...)
+{
+	char f1[1024];
+	struct stat st;
+	va_list ap;
+
+	va_start(ap, f1fmt);
+	vsprintf(f1, f1fmt, ap);
+	va_end(ap);
+
+	if (stat(f1, &st) != 0) {
+		fprintf(stderr, "%s:%d: Could not stat: %s\n", test_filename, test_line, f1);
+		report_failure(NULL);
+	} else if (st.st_size > 0) {
+		fprintf(stderr, "%s:%d: File not empty: %s\n", test_filename, test_line, f1);
+		fprintf(stderr, "    File size: %d\n", (int)st.st_size);
+		report_failure(NULL);
+	}
+}
+
+/* assertEqualFile() asserts that two files have the same contents. */
+/* TODO: hexdump the first bytes that actually differ. */
+void
+test_assert_equal_file(const char *f1, const char *f2pattern, ...)
+{
+	char f2[1024];
+	va_list ap;
+	char buff1[1024];
+	char buff2[1024];
+	int fd1, fd2;
+	int n1, n2;
+
+	va_start(ap, f2pattern);
+	vsprintf(f2, f2pattern, ap);
+	va_end(ap);
+
+	fd1 = open(f1, O_RDONLY);
+	fd2 = open(f2, O_RDONLY);
+	for (;;) {
+		n1 = read(fd1, buff1, sizeof(buff1));
+		n2 = read(fd2, buff2, sizeof(buff2));
+		if (n1 != n2)
+			break;
+		if (n1 == 0 && n2 == 0)
+			return;
+		if (memcmp(buff1, buff2, n1) != 0)
+			break;
+	}
+	fprintf(stderr, "%s:%d: Files are not identical\n", test_filename, test_line);
+	fprintf(stderr, "  file1=\"%s\"\n", f1);
+	fprintf(stderr, "  file2=\"%s\"\n", f2);
+	report_failure(test_extra);
+}
+
+
+/*
+ * Call standard system() call, but build up the command line using
+ * sprintf() conventions.
+ */
+int
+systemf(const char *fmt, ...)

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list