Date: Fri, 5 Oct 2007 02:10:02 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 127212 for review Message-ID: <200710050210.l952A2Oq026736@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=127212 Change 127212 by jb@jb_freebsd1 on 2007/10/05 02:09:26 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#17 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#17 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/authors.ent#9 integrate .. //depot/projects/dtrace/ports/LEGAL#21 integrate .. //depot/projects/dtrace/ports/MOVED#42 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#12 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sites.mk#17 integrate .. //depot/projects/dtrace/ports/Mk/bsd.xorg.mk#2 integrate .. //depot/projects/dtrace/ports/UPDATING#34 integrate .. //depot/projects/dtrace/src/bin/sh/eval.c#5 integrate .. //depot/projects/dtrace/src/bin/sh/sh.1#8 integrate .. //depot/projects/dtrace/src/contrib/gcc/opts.c#5 integrate .. //depot/projects/dtrace/src/contrib/groff/tmac/doc-common#5 integrate .. //depot/projects/dtrace/src/contrib/groff/tmac/doc-syms#5 integrate .. //depot/projects/dtrace/src/contrib/groff/tmac/groff_mdoc.man#5 integrate .. //depot/projects/dtrace/src/contrib/wpa_supplicant/main.c#4 integrate .. //depot/projects/dtrace/src/crypto/openssl/ssl/ssl_lib.c#7 integrate .. //depot/projects/dtrace/src/etc/mtree/BSD.include.dist#9 integrate .. //depot/projects/dtrace/src/etc/mtree/BSD.local.dist#7 integrate .. //depot/projects/dtrace/src/etc/mtree/BSD.x11-4.dist#4 integrate .. //depot/projects/dtrace/src/etc/mtree/README#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/cached#4 delete .. //depot/projects/dtrace/src/gnu/usr.bin/groff/tmac/mdoc.local#9 integrate .. //depot/projects/dtrace/src/lib/libkse/Makefile#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/amd64/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/amd64/amd64/context.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/amd64/amd64/enter_uts.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/amd64/amd64/pthread_md.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/amd64/include/atomic_ops.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/amd64/include/pthread_md.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/arm/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/arm/arm/context.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/arm/arm/pthread_md.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/arm/include/atomic_ops.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/arm/include/pthread_md.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/i386/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/i386/i386/pthread_md.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/i386/i386/thr_enter_uts.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/i386/i386/thr_getcontext.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/i386/include/atomic_ops.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/i386/include/pthread_md.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/ia64/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/ia64/ia64/context.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/ia64/ia64/enter_uts.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/ia64/ia64/pthread_md.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/ia64/include/atomic_ops.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/ia64/include/pthread_md.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/include/atomic_ops.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/include/pthread_md.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/powerpc/assym.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/powerpc/assym.s#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/powerpc/context.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/powerpc/enter_uts.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/powerpc/powerpc/pthread_md.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/sparc64/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/sparc64/include/atomic_ops.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/sparc64/include/pthread_md.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/sparc64/sparc64/assym.s#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/sparc64/sparc64/pthread_md.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/arch/sparc64/sparc64/thr_getcontext.S#1 branch .. //depot/projects/dtrace/src/lib/libkse/pthread.map#1 branch .. //depot/projects/dtrace/src/lib/libkse/support/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/support/thr_support.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/sys/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/sys/lock.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/sys/lock.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/sys/thr_error.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/Makefile#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/README#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/guard_b.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/guard_b.exp#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/guard_s.pl#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/hello_b.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/hello_d.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/hello_d.exp#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/hello_s.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/join_leak_d.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/join_leak_d.exp#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/mutex_d.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/mutex_d.exp#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/propagate_s.pl#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/sem_d.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/sem_d.exp#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/sigsuspend_d.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/sigsuspend_d.exp#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/sigwait_d.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/sigwait_d.exp#1 branch .. //depot/projects/dtrace/src/lib/libkse/test/verify#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/Makefile.inc#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_accept.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_aio_suspend.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_atfork.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_destroy.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_get_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getdetachstate.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getguardsize.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getinheritsched.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getschedparam.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getschedpolicy.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getscope.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getstack.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getstackaddr.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_getstacksize.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_init.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setcreatesuspend_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setdetachstate.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setguardsize.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setinheritsched.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setschedparam.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setschedpolicy.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setscope.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setstack.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setstackaddr.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_attr_setstacksize.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_autoinit.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_barrier.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_barrierattr.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_cancel.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_clean.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_close.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_concurrency.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_cond.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_condattr_destroy.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_condattr_init.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_condattr_pshared.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_connect.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_creat.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_create.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_detach.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_equal.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_execve.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_exit.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_fcntl.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_find_thread.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_fork.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_fsync.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_getprio.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_getschedparam.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_info.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_init.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_join.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_kern.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_kill.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_main_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_mattr_init.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_mattr_kind_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_mattr_pshared.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_msync.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_multi_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_mutex.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_mutex_prioceiling.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_mutex_protocol.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_mutexattr_destroy.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_nanosleep.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_once.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_open.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_pause.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_poll.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_printf.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_priority_queue.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_private.h#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_pselect.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_pspinlock.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_raise.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_read.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_readv.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_resume_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_rtld.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_rwlock.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_rwlockattr.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_select.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_self.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sem.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_seterrno.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_setprio.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_setschedparam.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sig.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sigaction.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sigaltstack.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sigmask.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sigpending.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sigprocmask.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sigsuspend.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sigwait.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_single_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_sleep.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_spec.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_spinlock.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_stack.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_suspend_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_switch_np.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_symbols.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_system.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_tcdrain.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_vfork.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_wait.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_wait4.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_waitpid.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_write.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_writev.c#1 branch .. //depot/projects/dtrace/src/lib/libkse/thread/thr_yield.c#1 branch .. //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.c#8 integrate .. //depot/projects/dtrace/src/sys/boot/common/module.c#4 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-all.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-pci.h#11 integrate .. //depot/projects/dtrace/src/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sx.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#15 integrate .. //depot/projects/dtrace/src/sys/netinet/sctputil.c#10 integrate .. //depot/projects/dtrace/src/tools/regression/bin/sh/builtins/case1.0#1 branch .. //depot/projects/dtrace/src/usr.sbin/cached/Makefile#6 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agent.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agent.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agents/Makefile.inc#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agents/group.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agents/group.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agents/passwd.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agents/passwd.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agents/services.c#4 delete .. //depot/projects/dtrace/src/usr.sbin/cached/agents/services.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cached.8#5 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cached.c#4 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cached.conf.5#5 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cachedcli.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cachedcli.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cachelib.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cachelib.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cacheplcs.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/cacheplcs.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/config.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/config.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/debug.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/debug.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/hashtable.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/log.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/log.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/mp_rs_query.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/mp_rs_query.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/mp_ws_query.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/mp_ws_query.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/parser.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/parser.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/protocol.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/protocol.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/query.c#4 delete .. //depot/projects/dtrace/src/usr.sbin/cached/query.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/singletons.c#3 delete .. //depot/projects/dtrace/src/usr.sbin/cached/singletons.h#3 delete .. //depot/projects/dtrace/src/usr.sbin/pciconf/pciconf.8#6 integrate .. //depot/projects/dtrace/src/usr.sbin/pciconf/pciconf.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.8#4 integrate .. //depot/projects/dtrace/www/en/platforms/amd64/motherboards.sgml#17 integrate .. //depot/projects/dtrace/www/en/projects/newbies.sgml#6 integrate .. //depot/projects/dtrace/www/en/where.sgml#10 integrate .. //depot/projects/dtrace/www/share/sgml/advisories.xml#13 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#11 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#21 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/header.l10n.ent#5 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/libcommon.xsl#6 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/navibar.l10n.ent#4 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/news.xml#7 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/press.xml#6 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#17 (text+ko) ==== @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml,v 1.314 2007/09/03 16:39:51 keramida Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml,v 1.315 2007/10/03 20:35:35 danger Exp $ --> <chapter id="security"> @@ -4220,12 +4220,13 @@ <filename>~/.ssh/id_dsa</filename> or <filename>~/.ssh/id_rsa</filename>, whereas the public key is stored in <filename>~/.ssh/id_dsa.pub</filename> or - <filename>~/.ssh/id_rsa.pub</filename>, respectively for DSA and - RSA key types. The public key must be placed in - <filename>~/.ssh/authorized_keys</filename> of the remote - machine in order for the setup to work. Similarly, RSA version - 1 public keys should be placed in - <filename>~/.ssh/authorized_keys</filename>.</para> + <filename>~/.ssh/id_rsa.pub</filename>, respectively for + <acronym>DSA</acronym> and <acronym>RSA</acronym> key types. + The public key must be placed in the + <filename>~/.ssh/authorized_keys</filename> file of the remote + machine for both <acronym>RSA</acronym> or + <acronym>DSA</acronym> keys in order for the setup to + work.</para> <para>This will allow connection to the remote machine based upon SSH keys instead of passwords.</para> ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#17 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.825 - $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.26 2007/04/23 06:34:27 delphij Exp $ + Original Revision: 1.872 + $FreeBSD: doc/zh_CN.GB2312/books/porters-handbook/book.sgml,v 1.27 2007/10/02 02:56:37 loader Exp $ --> <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ @@ -335,6 +335,12 @@ 第三步以后, 检查是否所有新建的目录都被正确删除了。 在第四步以后, 试着运行一下所装的软件, 确保当它以 package 方式安装的时候也能正常工作。</para> + + <para>自动化这些步骤最简单的方法是通过 <application>ports tinderbox</application> + 来进行测试。 它可以维护 <literal>jails</literal> 并在其中完成全部测试工作, + 而不会破坏正在运行的系统的状态。 请参见 + <filename>ports/ports-mgmt/tinderbox</filename> + 以了解更多的信息。</para> </sect1> <sect1 id="porting-portlint"> @@ -1013,6 +1019,25 @@ <makevar>PORTNAME</makevar> 中。</para> </sect2> + <sect2> + <title><makevar>LATEST_LINK</makevar></title> + + <para>有时, 在 ports 套件中可能会存在同一程序的多个版本。 + 索引和预编译包的联编系统都需要能够将它们视为不同的软件包, 尽管其 + <makevar>PORTNAME</makevar>、 <makevar>PKGNAMEPREFIX</makevar>, 以及 + even <makevar>PKGNAMESUFFIX</makevar> 可能是一模一样的。 遇到这种情况时, + 就需要将除了 <quote>主</quote> port 之外的其他 port + 中的 <makevar>LATEST_LINK</makevar> 变量设为不同的值 + — 请参见 <filename>editors/vim5</filename> 和 + <filename>editors/vim</filename> port, 以及 + <filename>www/apache*</filename> 系列, 以了解它的用法。 + 需要注意的是, 如何确定 <quote>主</quote> 版本 — + <quote>最流行</quote>、 <quote>受支持最好</quote>, + <quote>变动最少</quote>, 等等 — 已经超过了本书能够给出的建议范围; + 这里只是向您介绍在选定了一个 + <quote>主</quote> port 之后如何指定其他 port 的版本。</para> + </sect2> + <sect2 id="porting-pkgname"> <title>包命名规则</title> @@ -1051,16 +1076,28 @@ <listitem> <para><filename>name</filename> 部分的首字母应该 - 小写。 (余下的部分能包含大写字母, 所以当您 + 小写。 (余下的部分可以包含大写字母, 所以当您 要转换一个包含大写字母软件的名字时, 您需要 - 自己做出判断。) 对于<literal>perl 5</literal> + 自己做出判断。) 对于 <literal>Perl 5</literal> 模块的命名, 有个传统的规则是, 在前面 加上 <literal>p5-</literal> 并把两个冒号的部分改为连字号, 如: - <literal>Data::Dumper</literal> 模块变成 - <literal>p5-Data-Dumper</literal>。 - 如果软件的名字里还有数字、 连字号、 下划线, - 您也可以把这些包括进来 (例如 <literal>kinput2</literal>)。</para> + <literal>Data::Dumper</literal> 模块对应的名字, 就应该是 + <literal>p5-Data-Dumper</literal>。</para> + </listitem> + + <listitem> + <para>确认 port 的名字和版本之间有清晰的分隔, 并放入 <makevar>PORTNAME</makevar> 和 + <makevar>PORTVERSION</makevar> 变量。 在 + <makevar>PORTNAME</makevar> 中包含版本部分的唯一理由是上游软件包真的采用这样的命名方式, + 类似 <filename>textproc/libxml2</filename> 或 + <filename>japanese/kinput2-freewnn</filename> port 这样。 否则, + 在 <makevar>PORTNAME</makevar> 中就不应包含任何版本信息。 + 许多 port 采用同样的 <makevar>PORTNAME</makevar> 名字是很正常的, + <filename>www/apache*</filename> port 便是如此; 在这种情况下, + 不同的版本 (以及不同的索引项) 是由 <makevar>PKGNAMEPREFIX</makevar>、 + <makevar>PKGNAMESUFFIX</makevar>, 以及 + <makevar>LATEST_LINK</makevar> 的值的不同而有所区别的。</para> </listitem> <listitem> @@ -1539,6 +1576,12 @@ </row> <row> + <entry><filename>kld*</filename></entry> + <entry>可加载内核模块。</entry> + <entry></entry> + </row> + + <row> <entry><filename>korean</filename></entry> <entry>韩语语言支持。</entry> <entry></entry> @@ -1861,6 +1904,12 @@ </row> <row> + <entry><filename>x11-drivers</filename></entry> + <entry>X11 驱动程序。</entry> + <entry></entry> + </row> + + <row> <entry><filename>x11-fm</filename></entry> <entry>X11 下的文件管理器。</entry> <entry></entry> @@ -1965,6 +2014,12 @@ </para> </listitem> + <listitem> + <para>需要安装可加载内核模块的 port 应在其 <makevar>CATEGORIES</makevar> + 中归入虚拟分类 <filename>kld</filename>。 + </para> + </listitem> + <listitem> <para><filename>misc</filename> 分类的 port 不能有其它非虚拟的分类。 @@ -3495,10 +3550,21 @@ <sect1 id="makefile-info"> <title>Info 文件</title> - <para>如果软件包需要安装 GNU 文件, - 则需要在 <makevar>INFO</makevar> 变量中列出 (不需要指定 - <literal>.info</literal> 后缀), 这样安装/卸载代码就会自动地在注册包时将它们加入到 - <filename>pkg-plist</filename> 了。</para> + <para>如果软件包需要安装 GNU info 文件, + 则需要在 <makevar>INFO</makevar> 变量中一一列出 (不需要指定 + <literal>.info</literal> 后缀)。 系统假定这些文件均会安装到 + <filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar></filename> 目录中。 + 如果软件包有需要, 也可以通过修改 <makevar>INFO_PATH</makevar> 来指定不同的位置。 + 不过, 并不推荐这样做。 所有列出的项目均是相对于 + <filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar></filename> 的文件路径。 + 例如, <filename role="package">lang/gcc33</filename> 表示将 + info 文件安装到 + <filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar>/gcc33</filename>, + 因此 <makevar>INFO</makevar> 应写成类似这样: + <programlisting>INFO= gcc33/cpp gcc33/cppinternals gcc33/g77 ... +</programlisting> + 这样安装/卸载代码就会自动地在注册包之前将它们加入到临时的 + <filename>pkg-plist</filename> 中了。</para> </sect1> <sect1 id="makefile-options"> @@ -3512,7 +3578,7 @@ 支持这些特性可以让用户体验更好, 并达到事半功倍的效果。</para> <sect2> - <title>开关 (<makevar>KNOBS</makevar>)</title> + <title>开关 (Knobs)</title> <sect3> <title><makevar>WITH_<replaceable>*</replaceable></makevar> 和 @@ -3680,6 +3746,7 @@ 而 <makevar>WITH_*</makevar> 和 <makevar>WITHOUT_*</makevar> 只有在引用了 <filename>bsd.port.pre.mk</filename> 之后才能开始检测。</para> + </sect3> <sect3> <title>例子</title> @@ -3702,6 +3769,7 @@ .include <bsd.port.post.mk></programlisting></para> </example> + </sect3> </sect2> @@ -3939,20 +4007,37 @@ </listitem> <listitem> + <para><makevar>DATADIR_REL</makevar> 会展开成 + <filename>share/<makevar>PORTNAME</makevar></filename>。</para> + </listitem> + + <listitem> <para><makevar>DOCSDIR</makevar> 会展开成 <filename><makevar>PREFIX</makevar>/share/doc/<makevar>PORTNAME</makevar></filename>。</para> </listitem> <listitem> + <para><makevar>DOCSDIR_REL</makevar> 会展开成 + <filename>share/doc/<makevar>PORTNAME</makevar></filename>。</para> + </listitem> + + <listitem> <para><makevar>EXAMPLESDIR</makevar> 会展开成 <filename><makevar>PREFIX</makevar>/share/examples/<makevar>PORTNAME</makevar></filename>。</para> </listitem> + + <listitem> + <para><makevar>EXAMPLESDIR_REL</makevar> 会展开成 + <filename>share/examples/<makevar>PORTNAME</makevar></filename>。</para> + </listitem> </itemizedlist> <note> - <para><makevar>NOPORTDOCS</makevar> 只控制将要装到 <makevar>DOCSDIR</makevar> - 的那些文档, 而不应影响标准的联机手册、 info 手册, 以及应装到 - <makevar>DATADIR</makevar>、 <makevar>EXAMPLESDIR</makevar> 的文件。</para> + <para><makevar>NOPORTDOCS</makevar> 只控制将要安装到 <makevar>DOCSDIR</makevar> + 的那些文档, 而不应影响标准的联机手册以及 info 手册的安装。 安装到 + <makevar>DATADIR</makevar> 和 <makevar>EXAMPLESDIR</makevar> + 的文件则相应地受 <makevar>NOPORTDATA</makevar> 和 + <makevar>NOPORTEXAMPLES</makevar> 控制。</para> </note> <para>这些变量也会被导出到 <makevar>PLIST_SUB</makevar> 中。 @@ -3963,7 +4048,7 @@ (更多的 <filename>pkg-plist</filename> 代换可以在 <link linkend="plist-sub">这里</link> 找到。)</para> - <para>所有的安装的文档文件和目录, + <para>所有非无条件安装的文档文件和目录, 都应在 <filename>pkg-plist</filename> 出现, 并且使用 <literal>%%PORTDOCS%%</literal> 前缀, 例如:</para> @@ -3988,6 +4073,11 @@ <programlisting>PORTDOCS= README.* ChangeLog docs/*</programlisting> <note> + <para>与 <makevar>PORTDOCS</makevar> 类似, + 对应于 <makevar>DATADIR</makevar> 和 + <makevar>EXAMPLESDIR</makevar> 的变量分别是 <makevar>PORTDATA</makevar> + 和 <makevar>PORTEXAMPLES</makevar>。</para> + <para>您也可以使用 <filename>pkg-message</filename> 这个文件, 来在安装时显示一些信息。 参见 <link linkend="porting-message">关于使用 @@ -4253,6 +4343,8 @@ <literal>GNU_CONFIGURE=yes</literal>。 如果希望传额外的参数给 <command>configure</command> 脚本 (默认参数为 <literal>--prefix=${PREFIX} + --infodir=${PREFIX}/${INFO_PATH} + --mandir=${MANPREFIX}/man ${CONFIGURE_TARGET}</literal>), 应通过 <makevar>CONFIGURE_ARGS</makevar> 来指定这些参数。 类似地, 可以通过 @@ -4410,12 +4502,10 @@ <para>可以同时指定多个不同的工具, 可以在一行中指定, 也可以用 Makefile 的 <literal>+=</literal> 结构。</para> - <para>在开始介绍其它工具之前, 需要强调的是, 这些结构只能用于构建 port。 - 如果希望进行跨平台的开发, 例如在 IDE 中, 则应使用 - <literal>devel/gnu-{automake,autoconf,libtool}</literal> 这些 port。 <filename - role="package">devel/anjuta</filename> 以及 <filename - role="package">devel/kdevelop</filename> (分别对应于 GNOME 和 KDE) - 是关于如何做到这一点的良好范例。</para> + <para>最后, 可以使用一个特殊的名为 + <literal>autotools</literal> 的工具, + 它会安装全部可用的 autotools 版本, + 以适应跨平台开发的需要。 您可以通过安装 <literal>devel/autotools</literal> port 来达到这一目的。</para> </sect2> @@ -4442,39 +4532,6 @@ <para>如果指定了 <literal>:env</literal> 操作符, 则表示只设置环境, 而跳过其他的操作。</para> - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>先前的写法</entry> - - <entry>新的 <makevar>USE_AUTOTOOLS</makevar> 结构</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>USE_LIBTOOL_VER=15</literal></entry> - - <entry><literal>libtool:15</literal></entry> - </row> - - <row> - <entry><literal>USE_INC_LIBTOOL_VER=15</literal></entry> - - <entry>已不再使用</entry> - </row> - - <row> - <entry><literal>WANT_LIBTOOL_VER=15</literal></entry> - - <entry><literal>libtool:15:env</literal></entry> - </row> - - </tbody> - </tgroup> - </informaltable> - <para>最后, <makevar>LIBTOOLFLAGS</makevar> 和 <makevar>LIBTOOLFILES</makevar> 可以用来替换最常修改的参数, 以及将被 <command>libtool</command> 修补的文件。 多数 port 不需要这样做。 @@ -4498,27 +4555,6 @@ 协助开发人员消除在 <makevar>USE_AUTOTOOLS</makevar> 框架以外的, 对于 autotools port 的依赖。 这个工具并不提供其它的操作符。</para> - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>先前的写法</entry> - - <entry>新的 <makevar>USE_AUTOTOOLS</makevar> 结构</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>USE_LIBLTDL=YES</literal></entry> - - <entry><literal>libltdl:15</literal></entry> - </row> - - </tbody> - </tgroup> - </informaltable> - </sect2> <sect2 id="using-autoconf"> @@ -4546,40 +4582,6 @@ 则表示只设置用于后续工作的环境。 如果不指定, 则会对 port 进行相应的修补和重新配置。</para> - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>先前的写法</entry> - - <entry>新的 <makevar>USE_AUTOTOOLS</makevar> 结构</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>USE_AUTOCONF_VER=213</literal></entry> - - <entry><literal>autoconf:213</literal></entry> - </row> - - <row> - <entry><literal>WANT_AUTOCONF_VER=259</literal></entry> - - <entry><literal>autoconf:259:env</literal></entry> - </row> - - <row> - <entry><literal>USE_AUTOHEADER_VER=253</literal></entry> - - <entry><literal>autoheader:253</literal> (implies - <literal>autoconf:253</literal>)</entry> - </row> - - </tbody> - </tgroup> - </informaltable> - <para>其它的可选变量, 如 <makevar>AUTOCONF_ARGS</makevar> 和 <makevar>AUTOHEADER_ARGS</makevar> 可以通过 port 的 @@ -4625,42 +4627,8 @@ <literal>:env</literal> 操作符表示仅仅设置用于后续使用的环境, 如果不设置, 则会对 port 进行重新配置。</para> - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>先前的写法</entry> - - <entry><makevar>USE_AUTOTOOLS</makevar> construct</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>USE_AUTOMAKE_VER=14</literal></entry> - - <entry><literal>automake:14</literal></entry> - </row> - - <row> - <entry><literal>WANT_AUTOMAKE_VER=15</literal></entry> - - <entry><literal>automake:15:env</literal></entry> - </row> - - <row> - <entry><literal>USE_ACLOCAL_VER=19</literal></entry> - - <entry><literal>aclocal:19</literal> (implies - <literal>automake:19</literal>)</entry> - </row> - - </tbody> - </tgroup> - </informaltable> - - <para>As with - <command>autoconf</command> 和 <command>autoheader</command>、 + <para>对于 + <command>autoconf</command> 和 <command>autoheader</command> 而言, <command>automake</command> 和 <command>aclocal</command> 提供了对应的可选参数变量 <makevar>AUTOMAKE_ARGS</makevar> 和 <makevar>ACLOCAL_ARGS</makevar>, 如果需要的话, @@ -4779,6 +4747,15 @@ <para>以上规则有一个例外, 即对应目录不存在或源码包不在那个目录中时, 允许使用作者的 id 作为 <makevar>MASTER_SITE_SUBDIR</makevar>。</para> + <para>所有这些选项均同时接受 <literal>YES</literal> + 和版本串, 类似 <literal>5.8.0+</literal> 这样的写法。 使用 + <literal>YES</literal> 表示 port 能够配合所有受支持的 <application>Perl</application> 版本来使用。 + 如果 port 只能配合特定版本的 <application>Perl</application> 来使用, + 则可以用版本串来表示, 例如最低版本 + (如 <literal>5.7.3+</literal>)、 最高版本 (如 + <literal>5.8.0-</literal>) 或某个具体的版本 (如 + <literal>5.8.3</literal>)。</para> + <table frame="none"> <title>用于用到 <literal>perl</literal> 的 port 的变量</title> @@ -4903,7 +4880,44 @@ <title>使用 X11</title> <sect2 id="x11-variables"> - <title>变量定义</title> + <title>X.Org 组件</title> + + <para>在 Ports 套件中提供的 X11 实现是 X.Org。 + 如果您的应用程序用到了 X 组件, 则应将 + <makevar>USE_XORG</makevar> 设为所需要的那些组件。 + 目前可用的组件包括:</para> + + <para><literal>bigreqsproto compositeproto damageproto dmx dmxproto + evieproto fixesproto fontcacheproto fontenc fontsproto fontutil + glproto ice inputproto kbproto libfs oldx printproto randrproto + recordproto renderproto resourceproto scrnsaverproto sm trapproto + videoproto x11 xau xaw xaw6 xaw7 xaw8 xbitmaps xcmiscproto xcomposite + xcursor xdamage xdmcp xevie xext xextproto xf86bigfontproto + xf86dgaproto xf86driproto xf86miscproto xf86rushproto + xf86vidmodeproto xfixes xfont xfontcache xft xi xinerama + xineramaproto xkbfile xkbui xmu xmuu xorg-server xp xpm xprintapputil + xprintutil xpr oto xproxymngproto xrandr xrender xres xscrnsaver xt + xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm</literal>.</para> + + <para>最新的列表, 可以在 + <filename>/usr/ports/Mk/bsd.xorg.mk</filename> 中找到。</para> + + <para>The Mesa Project 是一个致力于自由的 OpenGL + 实现的计划。 您可以使用 <makevar>USE_GL</makevar> 变量来让 port 依赖其不同的组件。 + 可用的选项包括: <literal>glut, glu, glw, gl</literal> 和 + <literal>linux</literal>。 为了实现向前兼容, + 当使用 <literal>yes</literal> 时系统会自动将其映射为 <literal>glu</literal>。</para> + + <example id="use-xorg-example"> + <title>使用 USE_XORG 的例子</title> + <programlisting>USE_XORG= xrender xft xkbfile xt xaw +USE_GL= glu</programlisting> + </example> + + <para>许多 ports 会定义 <makevar>USE_XLIB</makevar>, + 这会导致 port 依赖 50 多个动态连接库。 由于它出现于 X.org + 模块化之前, 因此这个变量仅为向前兼容的原因提供, + 新的 port 不应再使用它。</para> <table frame="none"> <title>用到 X 的 port 可以使用的变量</title> @@ -4911,29 +4925,23 @@ <tgroup cols="2"> <tbody> <row> - <entry><makevar>USE_X_PREFIX</makevar></entry> - - <entry>此 port 将文件安装到 <makevar>X11BASE_REL</makevar> 而非通常的 - <makevar>PREFIX</makevar>。</entry> - </row> - - <row> <entry><makevar>USE_XLIB</makevar></entry> - <entry>此 port 用到了 X 库。</entry> + <entry>此 port 用到了 X 库。 已过时 - 您应使用 <makevar>USE_XORG</makevar> 变量列出用到的 + X.Org 组件, 而不是使用这个变量。</entry> </row> <row> - <entry><makevar>USE_MOTIF</makevar></entry> + <entry><makevar>USE_IMAKE</makevar></entry> - <entry>此 port 使用 Motif 工具包。</entry> + <entry>此 port 用到了 <command>imake</command>。</entry> </row> <row> - <entry><makevar>USE_IMAKE</makevar></entry> + <entry><makevar>USE_X_PREFIX</makevar></entry> - <entry>此 port 用到了 <command>imake</command>。 这一变量也会自动设置 - <makevar>USE_X_PREFIX</makevar>。</entry> + <entry>已过时。 目前其作用与 + <makevar>USE_XLIB</makevar> 相同, 并可以直接用后者替换。</entry> </row> <row> @@ -5121,10 +5129,7 @@ 通过下面的官方 hack, 预编译包构建集群将启动采用虚拟帧缓存的 X server。 这样, 编译过程将有可用的 <envar>DISPLAY</envar>。</para> - <programlisting>.if defined(PACKAGE_BUILDING) -BUILD_DEPENDS+= Xvfb:${X_VFBSERVER_PORT} \ - ${X11BASE}/lib/X11/fonts/misc/8x13O.pcf.gz:${X_FONTS_MISC_PORT} -.endif</programlisting> + <programlisting>USE_DISPLAY= yes</programlisting> </sect2> @@ -5328,11 +5333,17 @@ <sect2 id="qt4-components"> <title>组件的选择 (仅限 Qt 4.x)</title> - <para>当 <makevar>USE_QT_VER</makevar> 设为 4 时, 可以通过 - <makevar>QT_COMPONENTS</makevar> 变量来指定 - Qt4 工具和函数库。 下表中列出了最重要的一些组件 (全部组件可以在 - <filename>/usr/ports/Mk/bsd.kde.mk</filename> 中的 - <makevar>_QT_COMPONENTS_ALL</makevar> 变量中找到):</para> + <para>当把 <makevar>USE_QT_VER</makevar> 设为 4 时, 就可以通过 + <makevar>QT_COMPONENTS</makevar> 变量来指定对 + Qt4 工具和函数库的依赖了。 通过在组件的名称后面添加 <literal>_build</literal> 或 <literal>_run</literal> + 这样的后缀, 则可相应地将这依赖关系限于联编或运行时刻。 + 在没有指定后缀时, 系统默认在联编和运行时刻均依赖该组件。 + 通常情况下在指明函数库一类的组件时应不使用后缀, + 联编工具类组件应使用 <literal>_build</literal> 后缀, + 而插件类组件, 则应使用 <literal>_run</literal> 后缀。 + 下表中列出了一些最常用的组件 (全部可用的组件, 则在 + <filename>/usr/ports/Mk/bsd.qt.mk</filename> + 中的 <makevar>_QT_COMPONENTS_ALL</makevar> 列出):</para> <table frame="none"> <title>可用的 Qt4 函数库组件</title> @@ -5377,6 +5388,11 @@ </row> <row> + <entry><literal>script</literal></entry> + <entry>脚本函数库</entry> + </row> + + <row> <entry><literal>sql</literal></entry> <entry>SQL 函数库</entry> </row> @@ -5407,24 +5423,26 @@ <tbody> <row> <entry><literal>moc</literal></entry> - <entry>元对象编译器 (几乎所有的 Qt 应用程序都需要这个)</entry> + <entry>元对象编译器 (几乎所有的 Qt 应用程序在联编过程中都需要它)</entry> </row> <row> <entry><literal>qmake</literal></entry> - <entry>用于 Qt 工程的联编工具</entry> + <entry>Makefile 生成器 / 联编工具</entry> </row> <row> <entry><literal>rcc</literal></entry> <entry>资源编译器 (如果应用程序中包含 <filename>*.rc</filename> 或 <filename>*.qrc</filename> - 文件)</entry> + 文件, 就需要它)</entry> </row> <row> <entry><literal>uic</literal></entry> - <entry>用户界面编译器 (如果应用程序用到了 GUI)</entry> + <entry>用户界面编译器 (如果应用程序中包含使用 Qt Designer + 创建的 <filename>*.ui</filename> 文件时就需要它 + - 一般说来 Qt 应用程序都会使用 GUI 的)</entry> </row> </tbody> @@ -5461,12 +5479,17 @@ <example id="qt4-components-example"> <title>选择 Qt4 组件</title> - <para>下面是 port - <filename role="package">editors/texmaker</filename> 中的一个片段, - 它用到了 Qt4 图形用户界面函数库 (这时会默认使用核心函数库) 及联编工具:</para> + <para>在这个例子中, 我们将要移植的应用程序用到了 + Qt4 图形用户界面函数库、 Qt4 核心 (core) 函数库、 + 所有 Qt4 代码生成工具以及 Qt4 的 + Makefile 生成器。 由于 gui 函数库会自动附带对核心函数库的依赖, + 因此并不需要明确指出需要 corelib 的依赖关系。 Qt4 代码生成工具 moc、 + uic 和 rcc 以及 Makefile 生成器 + qmake 只在联编过程中才会用到, + 因此可以指定 <literal>_build</literal> 后缀:</para> <programlisting>USE_QT_VER= 4 -QT_COMPONENTS= gui moc qmake rcc uic</programlisting> +QT_COMPONENTS= gui moc_build qmake_build rcc_build uic_build</programlisting> </example> </sect2> @@ -5515,21 +5538,6 @@ </listitem> </itemizedlist> - <note> - <para>目前, <filename>bsd.kde.mk</filename> 还不支持 pre/postmk, - 也就是说, 在使用了 <filename>bsd.port.pre.mk</filename> 之后, 就不能再指定 - <makevar>USE_QT_VER</makevar> 和 <makevar>QT_COMPONENTS</makevar> - 了。 如果您的 port 需要这样做, 请以传统方式编写依赖关系, 例如:</para> - - <programlisting>.include <bsd.port.pre.mk> - -.if defined(WITH_QT) -BUILD_DEPENDS+= moc4:${PORTSDIR}/devel/qt4-moc -LIB_DEPENDS+= QtCore:${PORTSDIR}/devel/qt4-corelib -.endif - -.include <bsd.port.post.mk></programlisting> - </note> </sect2> </sect1> @@ -6022,7 +6030,10 @@ <filename><makevar>PREFIX</makevar>/www/<replaceable>应用程序的名字</replaceable></filename>。 为方便起见, 这个路径在 <filename>Makefile</filename> 和 <filename>pkg-plist</filename> - 均以 <makevar>WWWDIR</makevar> 变量的形式提供。</para> + 均以 <makevar>WWWDIR</makevar> 变量的形式提供。 在 + <filename>Makefile</filename> 中可以使用 + <makevar>WWWDIR_REL</makevar> 来表示包含了 + <makevar>PREFIX</makevar> 的该变量值。</para> <para>web 服务器进程所用的用户和用户组, 分别以 <makevar>WWWOWN</makevar> 和 <makevar>WWWGRP</makevar> 变量的形式提供, @@ -6704,6 +6715,7 @@ </tbody> </tgroup> </table> + </sect2> <sect2 id="wx-components"> <title>选择组件</title> @@ -7805,6 +7817,10 @@ <filename>Makefile</filename> 中使用。 最新版本的 &os; 并不为脚本名增加任何后缀, 但较早的版本则曾使用过 <filename>.sh</filename> 后缀。</para> + <note> + <para>新增的脚本均不应使用 <filename>.sh</filename> + 后缀。 未来, 仍然包含这一后缀的脚本将被批量改名。</para> + </note> <sect2> <title>卸载时停止服务</title> @@ -8377,15 +8393,17 @@ 实际上, port 会安装到 <makevar>DESTDIR</makevar>/<makevar>PREFIX</makevar>, 并注册到位于 <makevar>DESTDIR</makevar>/var/db/pkg - 的预编译包数据库中。 在撰写 port 时, 遵循 - <makevar>DESTDIR</makevar> 的配置十分重要。</para> + 的预编译包数据库中。 由于 <makevar>DESTDIR</makevar> 是由 + ports 框架藉由 &man.chroot.8; 来实现的, 您在撰写符合 + <makevar>DESTDIR</makevar> 规范的 ports 时并不需要什么额外的工作。</para> <para>一般而言 <makevar>PREFIX</makevar> 会设为 <makevar>LOCALBASE_REL</makevar> (默认是 <filename>/usr/local</filename>)。 如果设置了 <makevar>USE_X_PREFIX</makevar> 或 <makevar>USE_IMAKE</makevar>, - 则 <makevar>PREFIX</makevar> 会设为 <makevar>X11BASE_REL</makevar> (默认是 - <filename>/usr/X11R6</filename>)。 如果设置了 + 则 <makevar>PREFIX</makevar> 会设为 <makevar>X11BASE</makevar> + (为了向前兼容, 这个变量的默认值是 <makevar>LOCALBASE</makevar>, + 未来它将被删除)。 如果设置了 <makevar>USE_LINUX_PREFIX</makevar>, 则 <makevar>PREFIX</makevar> 会设为 <makevar>LINUXBASE_REL</makevar> (默认是 <filename>/compat/linux</filename>)。</para> @@ -8435,47 +8453,6 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710050210.l952A2Oq026736>
