From owner-svn-src-user@FreeBSD.ORG Sun Jan 19 19:58:54 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B748FAB1; Sun, 19 Jan 2014 19:58:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9AEF01827; Sun, 19 Jan 2014 19:58:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0JJwsTd073614; Sun, 19 Jan 2014 19:58:54 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0JJwjJo073562; Sun, 19 Jan 2014 19:58:45 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401191958.s0JJwjJo073562@svn.freebsd.org> From: Glen Barber Date: Sun, 19 Jan 2014 19:58:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r260892 - in user/gjb/hacking/release-embedded: . bin/cat bin/df bin/pax/tests bin/sh bin/sh/tests bin/test/tests cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zinject c... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 19:58:54 -0000 Author: gjb Date: Sun Jan 19 19:58:44 2014 New Revision: 260892 URL: http://svnweb.freebsd.org/changeset/base/260892 Log: MFH: Tracking commit (r260891) Sponsored by: The FreeBSD Foundation Added: user/gjb/hacking/release-embedded/bin/pax/tests/legacy_test.pl - copied unchanged from r260891, head/bin/pax/tests/legacy_test.pl user/gjb/hacking/release-embedded/contrib/atf/atf-c++/atf-c++.pc.in - copied unchanged from r260891, head/contrib/atf/atf-c++/atf-c++.pc.in user/gjb/hacking/release-embedded/contrib/atf/atf-c/atf-c.pc.in - copied unchanged from r260891, head/contrib/atf/atf-c/atf-c.pc.in user/gjb/hacking/release-embedded/contrib/atf/atf-sh/atf-sh.pc.in - copied unchanged from r260891, head/contrib/atf/atf-sh/atf-sh.pc.in user/gjb/hacking/release-embedded/lib/atf/common.mk - copied unchanged from r260891, head/lib/atf/common.mk user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/Makefile.inc - copied unchanged from r260891, head/lib/atf/libatf-c++/tests/Makefile.inc user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/detail/ - copied from r260891, head/lib/atf/libatf-c++/tests/detail/ user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/Makefile.inc - copied unchanged from r260891, head/lib/atf/libatf-c/tests/Makefile.inc user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/detail/ - copied from r260891, head/lib/atf/libatf-c/tests/detail/ user/gjb/hacking/release-embedded/release/doc/en_US.ISO8859-1/share/xml/catalog.xml - copied unchanged from r260891, head/release/doc/en_US.ISO8859-1/share/xml/catalog.xml user/gjb/hacking/release-embedded/release/doc/en_US.ISO8859-1/share/xml/release.xsl - copied unchanged from r260891, head/release/doc/en_US.ISO8859-1/share/xml/release.xsl user/gjb/hacking/release-embedded/release/doc/share/xml/release.xsl - copied unchanged from r260891, head/release/doc/share/xml/release.xsl user/gjb/hacking/release-embedded/release/pkg_repos/ - copied from r260891, head/release/pkg_repos/ user/gjb/hacking/release-embedded/share/man/man4/geom_uncompress.4 - copied unchanged from r260891, head/share/man/man4/geom_uncompress.4 user/gjb/hacking/release-embedded/share/man/man4/virtio_random.4 - copied unchanged from r260891, head/share/man/man4/virtio_random.4 user/gjb/hacking/release-embedded/sys/amd64/conf/VT - copied unchanged from r260891, head/sys/amd64/conf/VT user/gjb/hacking/release-embedded/sys/arm/at91/at91_gpio.h - copied unchanged from r260891, head/sys/arm/at91/at91_gpio.h user/gjb/hacking/release-embedded/sys/arm/at91/at91_smc.c - copied unchanged from r260891, head/sys/arm/at91/at91_smc.c user/gjb/hacking/release-embedded/sys/arm/at91/at91_smc.h - copied unchanged from r260891, head/sys/arm/at91/at91_smc.h user/gjb/hacking/release-embedded/sys/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu - copied unchanged from r260891, head/sys/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu user/gjb/hacking/release-embedded/sys/dev/nand/nfc_at91.h - copied unchanged from r260891, head/sys/dev/nand/nfc_at91.h user/gjb/hacking/release-embedded/sys/dev/virtio/random/ - copied from r260891, head/sys/dev/virtio/random/ user/gjb/hacking/release-embedded/sys/i386/conf/VT - copied unchanged from r260891, head/sys/i386/conf/VT user/gjb/hacking/release-embedded/sys/modules/iwnfw/iwn105/ - copied from r260891, head/sys/modules/iwnfw/iwn105/ user/gjb/hacking/release-embedded/sys/modules/virtio/random/ - copied from r260891, head/sys/modules/virtio/random/ Deleted: user/gjb/hacking/release-embedded/bin/pax/tests/legacy_test.sh user/gjb/hacking/release-embedded/release/amd64/pkg-stage.conf user/gjb/hacking/release-embedded/release/doc/de_DE.ISO8859-1/ user/gjb/hacking/release-embedded/release/doc/en_US.ISO8859-1/share/xml/catalog user/gjb/hacking/release-embedded/release/doc/en_US.ISO8859-1/share/xml/release.dsl user/gjb/hacking/release-embedded/release/doc/fr_FR.ISO8859-1/ user/gjb/hacking/release-embedded/release/doc/ja_JP.eucJP/ user/gjb/hacking/release-embedded/release/doc/ru_RU.KOI8-R/ user/gjb/hacking/release-embedded/release/doc/share/xml/catalog user/gjb/hacking/release-embedded/release/doc/share/xml/default.dsl user/gjb/hacking/release-embedded/release/doc/share/xml/release.dsl user/gjb/hacking/release-embedded/release/doc/zh_CN.GB2312/ user/gjb/hacking/release-embedded/release/i386/pkg-stage.conf Modified: user/gjb/hacking/release-embedded/UPDATING user/gjb/hacking/release-embedded/bin/cat/cat.c user/gjb/hacking/release-embedded/bin/df/df.1 user/gjb/hacking/release-embedded/bin/pax/tests/Makefile user/gjb/hacking/release-embedded/bin/sh/input.c user/gjb/hacking/release-embedded/bin/sh/tests/Makefile user/gjb/hacking/release-embedded/bin/sh/trap.c user/gjb/hacking/release-embedded/bin/sh/trap.h user/gjb/hacking/release-embedded/bin/test/tests/Makefile user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zinject/zinject.c user/gjb/hacking/release-embedded/cddl/usr.bin/zinject/Makefile user/gjb/hacking/release-embedded/contrib/atf/FREEBSD-Xlist user/gjb/hacking/release-embedded/contrib/atf/atf-c++/detail/test_helpers.cpp user/gjb/hacking/release-embedded/contrib/bsnmp/lib/snmpagent.c user/gjb/hacking/release-embedded/contrib/gcc/config/arm/freebsd.h user/gjb/hacking/release-embedded/contrib/gcc/cp/ChangeLog.apple user/gjb/hacking/release-embedded/contrib/gcc/cp/parser.c user/gjb/hacking/release-embedded/contrib/ntp/ntpd/ntp_config.c user/gjb/hacking/release-embedded/etc/mtree/BSD.tests.dist user/gjb/hacking/release-embedded/gnu/lib/libgcc/Makefile user/gjb/hacking/release-embedded/gnu/usr.bin/gdb/kgdb/trgt.c user/gjb/hacking/release-embedded/lib/atf/Makefile.inc user/gjb/hacking/release-embedded/lib/atf/libatf-c++/Makefile user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/Makefile user/gjb/hacking/release-embedded/lib/atf/libatf-c/Makefile user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/Makefile user/gjb/hacking/release-embedded/lib/libc/Makefile user/gjb/hacking/release-embedded/lib/libc/gen/fts.3 user/gjb/hacking/release-embedded/lib/libc/gen/fts.c user/gjb/hacking/release-embedded/lib/libc/include/port_before.h user/gjb/hacking/release-embedded/lib/libc/resolv/res_send.c user/gjb/hacking/release-embedded/lib/libc/stdlib/getsubopt.c user/gjb/hacking/release-embedded/lib/libc/sys/accept.2 user/gjb/hacking/release-embedded/lib/libc/sys/chflags.2 user/gjb/hacking/release-embedded/lib/libc/sys/pipe.2 user/gjb/hacking/release-embedded/lib/libcxxrt/Version.map user/gjb/hacking/release-embedded/lib/libkvm/Makefile user/gjb/hacking/release-embedded/lib/libkvm/kvm_ia64.c user/gjb/hacking/release-embedded/lib/libmd/sha256.h user/gjb/hacking/release-embedded/lib/libmd/sha256c.c user/gjb/hacking/release-embedded/libexec/rtld-elf/Makefile user/gjb/hacking/release-embedded/release/Makefile user/gjb/hacking/release-embedded/release/doc/en_US.ISO8859-1/errata/article.xml user/gjb/hacking/release-embedded/release/doc/en_US.ISO8859-1/relnotes/article.xml user/gjb/hacking/release-embedded/release/doc/share/mk/doc.relnotes.mk user/gjb/hacking/release-embedded/release/doc/share/xml/catalog.xml user/gjb/hacking/release-embedded/release/scripts/pkg-stage.sh user/gjb/hacking/release-embedded/sbin/camcontrol/camcontrol.c user/gjb/hacking/release-embedded/sbin/kldload/kldload.c user/gjb/hacking/release-embedded/sbin/route/keywords user/gjb/hacking/release-embedded/sbin/route/route.8 user/gjb/hacking/release-embedded/sbin/route/route.c user/gjb/hacking/release-embedded/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 user/gjb/hacking/release-embedded/share/man/man4/Makefile user/gjb/hacking/release-embedded/share/man/man4/kld.4 user/gjb/hacking/release-embedded/share/man/man9/Makefile user/gjb/hacking/release-embedded/share/man/man9/malloc.9 user/gjb/hacking/release-embedded/share/man/man9/mbuf.9 user/gjb/hacking/release-embedded/share/man/man9/sglist.9 user/gjb/hacking/release-embedded/share/misc/committers-ports.dot user/gjb/hacking/release-embedded/share/mk/bsd.libnames.mk user/gjb/hacking/release-embedded/share/mk/bsd.test.mk user/gjb/hacking/release-embedded/share/mk/tap.test.mk user/gjb/hacking/release-embedded/sys/amd64/amd64/identcpu.c user/gjb/hacking/release-embedded/sys/amd64/conf/NOTES user/gjb/hacking/release-embedded/sys/amd64/include/vmm.h user/gjb/hacking/release-embedded/sys/amd64/vmm/amd/amdv.c user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmcs.c user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmcs.h user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.c user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.h user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx_genassym.c user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx_support.S user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vioapic.c user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.c user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.h user/gjb/hacking/release-embedded/sys/amd64/vmm/vmm.c user/gjb/hacking/release-embedded/sys/amd64/vmm/vmm_stat.c user/gjb/hacking/release-embedded/sys/amd64/vmm/vmm_stat.h user/gjb/hacking/release-embedded/sys/arm/at91/at91rm9200.c user/gjb/hacking/release-embedded/sys/arm/at91/at91sam9260.c user/gjb/hacking/release-embedded/sys/arm/at91/at91sam9g20.c user/gjb/hacking/release-embedded/sys/arm/at91/at91sam9g45.c user/gjb/hacking/release-embedded/sys/arm/at91/at91sam9x5.c user/gjb/hacking/release-embedded/sys/arm/at91/at91var.h user/gjb/hacking/release-embedded/sys/arm/at91/board_hl201.c user/gjb/hacking/release-embedded/sys/arm/at91/board_sam9260ek.c user/gjb/hacking/release-embedded/sys/arm/at91/files.at91 user/gjb/hacking/release-embedded/sys/arm/at91/uart_dev_at91usart.c user/gjb/hacking/release-embedded/sys/arm/conf/ATMEL user/gjb/hacking/release-embedded/sys/arm/conf/HL201 user/gjb/hacking/release-embedded/sys/arm/conf/SAM9260EK user/gjb/hacking/release-embedded/sys/arm/freescale/imx/imx51_ipuv3_fbd.c user/gjb/hacking/release-embedded/sys/arm/s3c2xx0/uart_dev_s3c2410.c user/gjb/hacking/release-embedded/sys/arm/sa11x0/uart_dev_sa1110.c user/gjb/hacking/release-embedded/sys/arm/xilinx/uart_dev_cdnc.c user/gjb/hacking/release-embedded/sys/cam/cam_debug.h user/gjb/hacking/release-embedded/sys/cam/cam_periph.c user/gjb/hacking/release-embedded/sys/cam/cam_periph.h user/gjb/hacking/release-embedded/sys/cam/cam_xpt.c user/gjb/hacking/release-embedded/sys/cam/scsi/scsi_low.c user/gjb/hacking/release-embedded/sys/cam/scsi/scsi_xpt.c user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c user/gjb/hacking/release-embedded/sys/compat/freebsd32/freebsd32_misc.c user/gjb/hacking/release-embedded/sys/conf/files.amd64 user/gjb/hacking/release-embedded/sys/conf/files.i386 user/gjb/hacking/release-embedded/sys/contrib/ipfilter/netinet/ip_compat.h user/gjb/hacking/release-embedded/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c user/gjb/hacking/release-embedded/sys/dev/ahci/ahci.c user/gjb/hacking/release-embedded/sys/dev/altera/atse/if_atse.c user/gjb/hacking/release-embedded/sys/dev/bxe/bxe.c user/gjb/hacking/release-embedded/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c user/gjb/hacking/release-embedded/sys/dev/mfi/mfi_cam.c user/gjb/hacking/release-embedded/sys/dev/nand/nfc_at91.c user/gjb/hacking/release-embedded/sys/dev/netmap/netmap.c user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_generic.c user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_mem2.c user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_vale.c user/gjb/hacking/release-embedded/sys/dev/qlxge/qls_os.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_core.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_cpu.h user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_imx.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_lpc.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_ns8250.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_ns8250.h user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_pl011.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_quicc.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_sab82532.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_z8530.c user/gjb/hacking/release-embedded/sys/dev/uart/uart_if.m user/gjb/hacking/release-embedded/sys/dev/usb/controller/ehci.c user/gjb/hacking/release-embedded/sys/dev/usb/controller/uhci.c user/gjb/hacking/release-embedded/sys/dev/usb/controller/xhci.c user/gjb/hacking/release-embedded/sys/dev/usb/input/ukbd.c user/gjb/hacking/release-embedded/sys/dev/usb/net/uhso.c user/gjb/hacking/release-embedded/sys/dev/usb/serial/u3g.c user/gjb/hacking/release-embedded/sys/dev/usb/serial/umcs.c user/gjb/hacking/release-embedded/sys/dev/usb/usb_dev.c user/gjb/hacking/release-embedded/sys/dev/usb/usb_device.c user/gjb/hacking/release-embedded/sys/dev/usb/usb_device.h user/gjb/hacking/release-embedded/sys/dev/usb/usb_hub.c user/gjb/hacking/release-embedded/sys/dev/usb/usb_hub.h user/gjb/hacking/release-embedded/sys/dev/usb/usb_request.c user/gjb/hacking/release-embedded/sys/dev/usb/usb_transfer.c user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_rsu.c user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_run.c user/gjb/hacking/release-embedded/sys/dev/virtio/block/virtio_blk.c user/gjb/hacking/release-embedded/sys/dev/virtio/scsi/virtio_scsi.c user/gjb/hacking/release-embedded/sys/dev/vt/hw/xboxfb/xboxfb.c user/gjb/hacking/release-embedded/sys/fs/ext2fs/ext2_inode_cnv.c user/gjb/hacking/release-embedded/sys/fs/nfs/nfs_var.h user/gjb/hacking/release-embedded/sys/fs/nfsserver/nfs_nfsdcache.c user/gjb/hacking/release-embedded/sys/fs/nfsserver/nfs_nfsdkrpc.c user/gjb/hacking/release-embedded/sys/geom/multipath/g_multipath.c user/gjb/hacking/release-embedded/sys/geom/uncompress/g_uncompress.c user/gjb/hacking/release-embedded/sys/i386/conf/NOTES user/gjb/hacking/release-embedded/sys/i386/i386/identcpu.c user/gjb/hacking/release-embedded/sys/ia64/conf/GENERIC user/gjb/hacking/release-embedded/sys/ia64/ia64/exception.S user/gjb/hacking/release-embedded/sys/kern/kern_event.c user/gjb/hacking/release-embedded/sys/kern/subr_sglist.c user/gjb/hacking/release-embedded/sys/kern/uipc_mbuf.c user/gjb/hacking/release-embedded/sys/kern/uipc_sockbuf.c user/gjb/hacking/release-embedded/sys/kern/uipc_socket.c user/gjb/hacking/release-embedded/sys/kern/uipc_syscalls.c user/gjb/hacking/release-embedded/sys/mips/adm5120/uart_dev_adm5120.c user/gjb/hacking/release-embedded/sys/mips/atheros/uart_dev_ar933x.c user/gjb/hacking/release-embedded/sys/mips/cavium/ciu.c user/gjb/hacking/release-embedded/sys/mips/cavium/uart_dev_oct16550.c user/gjb/hacking/release-embedded/sys/mips/rt305x/uart_dev_rt305x.c user/gjb/hacking/release-embedded/sys/modules/geom/Makefile user/gjb/hacking/release-embedded/sys/modules/geom/geom_uncompress/Makefile user/gjb/hacking/release-embedded/sys/modules/iwnfw/Makefile user/gjb/hacking/release-embedded/sys/modules/sound/driver/ai2s/Makefile user/gjb/hacking/release-embedded/sys/modules/virtio/Makefile user/gjb/hacking/release-embedded/sys/net/ieee8023ad_lacp.c user/gjb/hacking/release-embedded/sys/net/if.c user/gjb/hacking/release-embedded/sys/net/if_arcsubr.c user/gjb/hacking/release-embedded/sys/net/if_dl.h user/gjb/hacking/release-embedded/sys/net/if_ethersubr.c user/gjb/hacking/release-embedded/sys/net/if_fddisubr.c user/gjb/hacking/release-embedded/sys/net/if_iso88025subr.c user/gjb/hacking/release-embedded/sys/net/if_lagg.c user/gjb/hacking/release-embedded/sys/net/netmap_user.h user/gjb/hacking/release-embedded/sys/net/route.c user/gjb/hacking/release-embedded/sys/net/route.h user/gjb/hacking/release-embedded/sys/net/rtsock.c user/gjb/hacking/release-embedded/sys/net80211/ieee80211_mesh.c user/gjb/hacking/release-embedded/sys/netinet/in.c user/gjb/hacking/release-embedded/sys/netinet/in_mcast.c user/gjb/hacking/release-embedded/sys/netinet/ip_carp.c user/gjb/hacking/release-embedded/sys/netinet/ip_output.c user/gjb/hacking/release-embedded/sys/netinet/tcp_syncache.c user/gjb/hacking/release-embedded/sys/netinet6/in6.c user/gjb/hacking/release-embedded/sys/netinet6/in6_ifattach.c user/gjb/hacking/release-embedded/sys/netinet6/in6_mcast.c user/gjb/hacking/release-embedded/sys/netinet6/in6_var.h user/gjb/hacking/release-embedded/sys/netinet6/mld6.c user/gjb/hacking/release-embedded/sys/netinet6/nd6.c user/gjb/hacking/release-embedded/sys/netinet6/nd6.h user/gjb/hacking/release-embedded/sys/netinet6/nd6_rtr.c user/gjb/hacking/release-embedded/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/gjb/hacking/release-embedded/sys/powerpc/include/atomic.h user/gjb/hacking/release-embedded/sys/powerpc/powermac/macgpio.c user/gjb/hacking/release-embedded/sys/powerpc/powermac/macgpiovar.h user/gjb/hacking/release-embedded/sys/powerpc/powermac/pmu.c user/gjb/hacking/release-embedded/sys/sys/mbuf.h user/gjb/hacking/release-embedded/sys/sys/random.h user/gjb/hacking/release-embedded/sys/sys/sf_base.h user/gjb/hacking/release-embedded/sys/sys/sf_sync.h user/gjb/hacking/release-embedded/sys/sys/sglist.h user/gjb/hacking/release-embedded/sys/sys/socket.h user/gjb/hacking/release-embedded/sys/vm/vm_pageout.c user/gjb/hacking/release-embedded/tools/build/mk/OptionalObsoleteFiles.inc user/gjb/hacking/release-embedded/tools/tools/mcgrab/mcgrab.cc user/gjb/hacking/release-embedded/tools/tools/netmap/Makefile user/gjb/hacking/release-embedded/tools/tools/netmap/bridge.c user/gjb/hacking/release-embedded/tools/tools/netmap/nm_util.c user/gjb/hacking/release-embedded/tools/tools/netmap/nm_util.h user/gjb/hacking/release-embedded/tools/tools/netmap/pcap.c user/gjb/hacking/release-embedded/tools/tools/netmap/pkt-gen.c user/gjb/hacking/release-embedded/tools/tools/netmap/vale-ctl.c user/gjb/hacking/release-embedded/tools/tools/usbtest/usb_msc_test.c user/gjb/hacking/release-embedded/tools/tools/usbtest/usb_msc_test.h user/gjb/hacking/release-embedded/usr.bin/atf/atf-sh/Makefile user/gjb/hacking/release-embedded/usr.bin/atf/atf-sh/tests/Makefile user/gjb/hacking/release-embedded/usr.bin/elfdump/elfdump.c user/gjb/hacking/release-embedded/usr.bin/find/function.c user/gjb/hacking/release-embedded/usr.bin/killall/killall.c user/gjb/hacking/release-embedded/usr.bin/ktrdump/ktrdump.c user/gjb/hacking/release-embedded/usr.bin/netstat/main.c user/gjb/hacking/release-embedded/usr.bin/netstat/netstat.1 user/gjb/hacking/release-embedded/usr.bin/script/script.c user/gjb/hacking/release-embedded/usr.sbin/bhyvectl/bhyvectl.c user/gjb/hacking/release-embedded/usr.sbin/bsdinstall/scripts/services Directory Properties: user/gjb/hacking/release-embedded/ (props changed) Modified: user/gjb/hacking/release-embedded/UPDATING ============================================================================== --- user/gjb/hacking/release-embedded/UPDATING Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/UPDATING Sun Jan 19 19:58:44 2014 (r260892) @@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140110: + If a Makefile in a tests/ directory was auto-generating a Kyuafile + instead of providing an explicit one, this would prevent such + Makefile from providing its own Kyuafile in the future during + NO_CLEAN builds. This has been fixed in the Makefiles but manual + intervention is needed to clean an objdir if you use NO_CLEAN: + # find /usr/obj -name Kyuafile | xargs rm -f + 20131213: The behavior of gss_pseudo_random() for the krb5 mechanism has changed, for applications requesting a longer random string Modified: user/gjb/hacking/release-embedded/bin/cat/cat.c ============================================================================== --- user/gjb/hacking/release-embedded/bin/cat/cat.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/cat/cat.c Sun Jan 19 19:58:44 2014 (r260892) @@ -316,6 +316,7 @@ udom_open(const char *path, int flags) sou.sun_family = AF_UNIX; if ((len = strlcpy(sou.sun_path, path, sizeof(sou.sun_path))) >= sizeof(sou.sun_path)) { + close(fd); errno = ENAMETOOLONG; return (-1); } Modified: user/gjb/hacking/release-embedded/bin/df/df.1 ============================================================================== --- user/gjb/hacking/release-embedded/bin/df/df.1 Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/df/df.1 Sun Jan 19 19:58:44 2014 (r260892) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd January 24, 2013 +.Dd January 16, 2014 .Dt DF 1 .Os .Sh NAME @@ -83,13 +83,13 @@ Use 1073741824 byte (1 Gibibyte) blocks This overrides any .Ev BLOCKSIZE specification from the environment. -.It Fl H +.It Fl h .Dq Human-readable output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. -.It Fl h +.It Fl H .Dq Human-readable output. Use unit suffixes: Byte, Kilobyte, Megabyte, Modified: user/gjb/hacking/release-embedded/bin/pax/tests/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/bin/pax/tests/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/pax/tests/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -4,6 +4,6 @@ TESTSDIR= ${TESTSBASE}/bin/pax -TAP_TESTS_SH= legacy_test +TAP_TESTS_PERL= legacy_test .include Copied: user/gjb/hacking/release-embedded/bin/pax/tests/legacy_test.pl (from r260891, head/bin/pax/tests/legacy_test.pl) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/bin/pax/tests/legacy_test.pl Sun Jan 19 19:58:44 2014 (r260892, copy of r260891, head/bin/pax/tests/legacy_test.pl) @@ -0,0 +1,89 @@ +# $FreeBSD$ + +use strict; +use warnings; + +use Test::More tests => 6; +use File::Path qw(rmtree mkpath); +use Cwd; + +my $n = 0; +sub create_file { + my $fn = shift; + + $n++; + (my $dir = $fn) =~ s,/[^/]+$,,; + mkpath $dir; + open my $fd, ">", $fn or die "$fn: $!"; + print $fd "file $n\n"; +} + + +ustar_pathnames: { SKIP: { + # Prove that pax breaks up ustar pathnames properly + + my $top = getcwd . "/ustar-pathnames-1"; + skip "Current path is too long", 6 if length $top > 92; + rmtree $top; + my $subdir = "x" . "x" x (92 - length $top); + my $work94 = "$top/$subdir"; + mkpath $work94; # $work is 94 characters long + + my $x49 = "x" x 49; + my $x50 = "x" x 50; + my $x60 = "x" x 60; + my $x95 = "x" x 95; + + my @paths = ( + "$work94/x099", # 99 chars + "$work94/xx100", # 100 chars + "$work94/xxx101", # 101 chars + "$work94/$x49/${x50}x199", # 199 chars + "$work94/$x49/${x50}xx200", # 200 chars + "$work94/$x49/${x50}xxx201", # 201 chars + "$work94/$x60/${x95}254", # 254 chars + "$work94/$x60/${x95}x255", # 255 chars + ); + + my @l = map { length } @paths; + + my $n = 0; + create_file $_ for @paths; + system "pax -wf ustar.ok $work94"; + ok($? == 0, "Wrote 'ustar.ok' containing files with lengths @l"); + + (my $orig = $top) =~ s,1$,2,; + rmtree $orig; + rename $top, $orig; + + system "pax -rf ustar.ok"; + ok($? == 0, "Restored 'ustar.ok' containing files with lengths @l"); + + system "diff -ru $orig $top"; + ok($? == 0, "Restored files are identical"); + + rmtree $top; + rename $orig, $top; + + # 256 chars (with components < 100 chars) should not work + push @paths, "$work94/x$x60/${x95}x256"; # 256 chars + push @l, length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail1 $work94"; + ok($?, "Failed to write 'ustar.fail1' containing files with lengths @l"); + + # Components with 100 chars shouldn't work + unlink $paths[-1]; + $paths[-1] = "$work94/${x95}xc100"; # 100 char filename + $l[-1] = length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail2 $work94"; + ok($?, "Failed to write 'ustar.fail2' with a 100 char filename"); + + unlink $paths[-1]; + $paths[-1] = "$work94/${x95}xc100/x"; # 100 char component + $l[-1] = length $paths[-1]; + create_file $paths[-1]; + system "pax -wf ustar.fail3 $work94"; + ok($?, "Failed to write 'ustar.fail3' with a 100 char component"); +}} Modified: user/gjb/hacking/release-embedded/bin/sh/input.c ============================================================================== --- user/gjb/hacking/release-embedded/bin/sh/input.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/sh/input.c Sun Jan 19 19:58:44 2014 (r260892) @@ -162,20 +162,16 @@ preadfd(void) int nr; parsenextc = parsefile->buf; -#ifndef NO_HISTORY - if (el != NULL && gotwinch) { - gotwinch = 0; - el_resize(el); - } -#endif retry: #ifndef NO_HISTORY if (parsefile->fd == 0 && el) { static const char *rl_cp; static int el_len; - if (rl_cp == NULL) + if (rl_cp == NULL) { + el_resize(el); rl_cp = el_gets(el, &el_len); + } if (rl_cp == NULL) nr = el_len == 0 ? 0 : -1; else { Modified: user/gjb/hacking/release-embedded/bin/sh/tests/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/bin/sh/tests/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/sh/tests/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -6,6 +6,12 @@ TESTSDIR= ${TESTSBASE}/bin/sh TAP_TESTS_SH= legacy_test TAP_TESTS_SH_SED_legacy_test= -e 's,__SH__,/bin/sh,g' +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" SUBDIR+= builtins errors execution expansion parameters parser set-e Modified: user/gjb/hacking/release-embedded/bin/sh/trap.c ============================================================================== --- user/gjb/hacking/release-embedded/bin/sh/trap.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/sh/trap.c Sun Jan 19 19:58:44 2014 (r260892) @@ -80,7 +80,6 @@ static char *volatile trap[NSIG]; /* tra static volatile sig_atomic_t gotsig[NSIG]; /* indicates specified signal received */ static int ignore_sigchld; /* Used while handling SIGCHLD traps. */ -volatile sig_atomic_t gotwinch; static int last_trapsig; static int exiting; /* exitshell() has been called */ @@ -293,12 +292,6 @@ setsignal(int signo) action = S_IGN; break; #endif -#ifndef NO_HISTORY - case SIGWINCH: - if (rootshell && iflag) - action = S_CATCH; - break; -#endif } } @@ -400,11 +393,6 @@ onsig(int signo) gotsig[signo] = 1; pendingsig = signo; } - -#ifndef NO_HISTORY - if (signo == SIGWINCH) - gotwinch = 1; -#endif } @@ -490,9 +478,6 @@ setinteractive(int on) setsignal(SIGINT); setsignal(SIGQUIT); setsignal(SIGTERM); -#ifndef NO_HISTORY - setsignal(SIGWINCH); -#endif is_interactive = on; } Modified: user/gjb/hacking/release-embedded/bin/sh/trap.h ============================================================================== --- user/gjb/hacking/release-embedded/bin/sh/trap.h Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/sh/trap.h Sun Jan 19 19:58:44 2014 (r260892) @@ -36,7 +36,6 @@ extern volatile sig_atomic_t pendingsig; extern volatile sig_atomic_t pendingsig_waitcmd; extern int in_dotrap; -extern volatile sig_atomic_t gotwinch; void clear_traps(void); int have_traps(void); Modified: user/gjb/hacking/release-embedded/bin/test/tests/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/bin/test/tests/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/bin/test/tests/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -5,5 +5,11 @@ TESTSDIR= ${TESTSBASE}/bin/test TAP_TESTS_SH= legacy_test +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" .include Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sun Jan 19 19:58:44 2014 (r260892) @@ -3012,6 +3012,7 @@ zdb_read_block(char *thing, spa_t *spa) free(dup); return; } + i += p - &flagstr[i + 1]; /* skip over the number */ } } Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zinject/zinject.c ============================================================================== --- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zinject/zinject.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zinject/zinject.c Sun Jan 19 19:58:44 2014 (r260892) @@ -148,6 +148,7 @@ #include #include +#include #undef verify /* both libzfs.h and zfs_context.h want to define this */ Modified: user/gjb/hacking/release-embedded/cddl/usr.bin/zinject/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/cddl/usr.bin/zinject/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/cddl/usr.bin/zinject/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -16,6 +16,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/open CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common +CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs/ CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/head CFLAGS+= -I${.CURDIR}/../../lib/libumem Modified: user/gjb/hacking/release-embedded/contrib/atf/FREEBSD-Xlist ============================================================================== --- user/gjb/hacking/release-embedded/contrib/atf/FREEBSD-Xlist Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/contrib/atf/FREEBSD-Xlist Sun Jan 19 19:58:44 2014 (r260892) @@ -8,7 +8,6 @@ Makefile* aclocal.m4 admin/ atf-*/atf-*.m4 -atf-*/atf-*.pc.in atf-config/ atf-report/ atf-run/ Copied: user/gjb/hacking/release-embedded/contrib/atf/atf-c++/atf-c++.pc.in (from r260891, head/contrib/atf/atf-c++/atf-c++.pc.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/contrib/atf/atf-c++/atf-c++.pc.in Sun Jan 19 19:58:44 2014 (r260892, copy of r260891, head/contrib/atf/atf-c++/atf-c++.pc.in) @@ -0,0 +1,11 @@ +# ATF pkg-config file + +cxx=__CXX__ +includedir=__INCLUDEDIR__ +libdir=__LIBDIR__ + +Name: atf-c++ +Description: Automated Testing Framework (C++ binding) +Version: __ATF_VERSION__ +Cflags: -I${includedir} +Libs: -L${libdir} -latf-c++ -latf-c Modified: user/gjb/hacking/release-embedded/contrib/atf/atf-c++/detail/test_helpers.cpp ============================================================================== --- user/gjb/hacking/release-embedded/contrib/atf/atf-c++/detail/test_helpers.cpp Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/contrib/atf/atf-c++/detail/test_helpers.cpp Sun Jan 19 19:58:44 2014 (r260892) @@ -40,6 +40,18 @@ #include "process.hpp" #include "test_helpers.hpp" +// Path to the directory containing the libatf-c tests, used to locate the +// process_helpers program. If NULL (the default), the code will use a +// relative path. Otherwise, the provided path will be used; this is so +// that we can locate the helpers binary if the installation uses a +// different layout than the one we provide (as is the case in FreeBSD). +#if defined(ATF_C_TESTS_BASE) +static const char* atf_c_tests_base = ATF_C_TESTS_BASE; +#else +static const char* atf_c_tests_base = NULL; +#endif +#undef ATF_C_TESTS_BASE + void build_check_cxx_o_aux(const atf::fs::path& sfile, const char* failmsg, const bool expect_pass) @@ -80,12 +92,17 @@ header_check(const char *hdrname) atf::fs::path get_process_helpers_path(const atf::tests::tc& tc, bool is_detail) { - if (is_detail) - return atf::fs::path(tc.get_config_var("srcdir")) / - ".." / ".." / "atf-c" / "detail" / "process_helpers"; - else - return atf::fs::path(tc.get_config_var("srcdir")) / - ".." / "atf-c" / "detail" / "process_helpers"; + const char* helper = "detail/process_helpers"; + if (atf_c_tests_base == NULL) { + if (is_detail) + return atf::fs::path(tc.get_config_var("srcdir")) / + ".." / ".." / "atf-c" / helper; + else + return atf::fs::path(tc.get_config_var("srcdir")) / + ".." / "atf-c" / helper; + } else { + return atf::fs::path(atf_c_tests_base) / helper; + } } void Copied: user/gjb/hacking/release-embedded/contrib/atf/atf-c/atf-c.pc.in (from r260891, head/contrib/atf/atf-c/atf-c.pc.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/contrib/atf/atf-c/atf-c.pc.in Sun Jan 19 19:58:44 2014 (r260892, copy of r260891, head/contrib/atf/atf-c/atf-c.pc.in) @@ -0,0 +1,11 @@ +# ATF pkg-config file + +cc=__CC__ +includedir=__INCLUDEDIR__ +libdir=__LIBDIR__ + +Name: atf-c +Description: Automated Testing Framework (C binding) +Version: __ATF_VERSION__ +Cflags: -I${includedir} +Libs: -L${libdir} -latf-c Copied: user/gjb/hacking/release-embedded/contrib/atf/atf-sh/atf-sh.pc.in (from r260891, head/contrib/atf/atf-sh/atf-sh.pc.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/contrib/atf/atf-sh/atf-sh.pc.in Sun Jan 19 19:58:44 2014 (r260892, copy of r260891, head/contrib/atf/atf-sh/atf-sh.pc.in) @@ -0,0 +1,8 @@ +# ATF pkg-config file + +exec_prefix=__EXEC_PREFIX__ +interpreter=${exec_prefix}/bin/atf-sh + +Name: atf-sh +Description: Automated Testing Framework (POSIX shell binding) +Version: __ATF_VERSION__ Modified: user/gjb/hacking/release-embedded/contrib/bsnmp/lib/snmpagent.c ============================================================================== --- user/gjb/hacking/release-embedded/contrib/bsnmp/lib/snmpagent.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/contrib/bsnmp/lib/snmpagent.c Sun Jan 19 19:58:44 2014 (r260892) @@ -510,6 +510,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struc for (cnt = 0; cnt < pdu->error_index; cnt++) { eomib = 1; for (i = non_rep; i < pdu->nbindings; i++) { + + if (resp->nbindings == SNMP_MAX_BINDINGS) + /* PDU is full */ + goto done; + if (cnt == 0) result = do_getnext(&context, &pdu->bindings[i], &resp->bindings[resp->nbindings], pdu); Modified: user/gjb/hacking/release-embedded/contrib/gcc/config/arm/freebsd.h ============================================================================== --- user/gjb/hacking/release-embedded/contrib/gcc/config/arm/freebsd.h Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/contrib/gcc/config/arm/freebsd.h Sun Jan 19 19:58:44 2014 (r260892) @@ -72,6 +72,9 @@ #undef TARGET_DEFAULT_FLOAT_ABI #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT) + #undef ARM_DEFAULT_ABI #define ARM_DEFAULT_ABI ARM_ABI_AAPCS_LINUX Modified: user/gjb/hacking/release-embedded/contrib/gcc/cp/ChangeLog.apple ============================================================================== --- user/gjb/hacking/release-embedded/contrib/gcc/cp/ChangeLog.apple Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/contrib/gcc/cp/ChangeLog.apple Sun Jan 19 19:58:44 2014 (r260892) @@ -302,15 +302,6 @@ (cp_parser_objc_declaration): Parses attribute list and passes it down to cp_parser_objc_class_interface/cp_parser_objc_protocol_declaration. -2007-07-24 Fariborz Jahanian - - Radar 5355344 - * cp-tree.h (cp_objc_protocol_id_list): New declaration - * cp-lang.c (cp_objc_protocol_id_list): New stub - * parser.c (cp_parser_type_name): Added code to disambiguate - conditional from a protocol type. - (cp_parser_objc_tentative_protocol_refs_opt): New - 2007-07-13 Fariborz Jahanian Radar 5277239 Modified: user/gjb/hacking/release-embedded/contrib/gcc/cp/parser.c ============================================================================== --- user/gjb/hacking/release-embedded/contrib/gcc/cp/parser.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/contrib/gcc/cp/parser.c Sun Jan 19 19:58:44 2014 (r260892) @@ -1827,10 +1827,6 @@ static tree cp_parser_objc_identifier_li /* APPLE LOCAL end radar 3803157 - objc attribute */ static tree cp_parser_objc_protocol_refs_opt (cp_parser *); -/* APPLE LOCAL begin radar 5355344 */ -static bool cp_parser_objc_tentative_protocol_refs_opt - (cp_parser *, tree *); -/* APPLE LOCAL end radar 5355344 */ static void cp_parser_objc_declaration (cp_parser *); static tree cp_parser_objc_statement @@ -17873,32 +17869,6 @@ cp_parser_objc_protocol_refs_opt (cp_par return protorefs; } -/* APPLE LOCAL begin radar 5355344 */ -/* This routine also parses a list of Objective-C protocol references; except that - if list is not valid, it returns FALSE and back-tracks parsing. */ - -static bool -cp_parser_objc_tentative_protocol_refs_opt (cp_parser* parser, tree *protorefs) -{ - *protorefs = NULL_TREE; - if(cp_lexer_next_token_is (parser->lexer, CPP_LESS)) - { - cp_parser_parse_tentatively (parser); - cp_lexer_consume_token (parser->lexer); /* Eat '<'. */ - *protorefs = cp_parser_objc_identifier_list (parser); - if (!cp_objc_protocol_id_list (*protorefs)) - { - cp_parser_abort_tentative_parse (parser); - return false; - } - if (cp_parser_parse_definitely (parser)) - cp_parser_require (parser, CPP_GREATER, "`>'"); - } - - return true; -} -/* APPLE LOCAL end radar 5355344 */ - /* Parse a Objective-C visibility specification. */ static void Modified: user/gjb/hacking/release-embedded/contrib/ntp/ntpd/ntp_config.c ============================================================================== --- user/gjb/hacking/release-embedded/contrib/ntp/ntpd/ntp_config.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/contrib/ntp/ntpd/ntp_config.c Sun Jan 19 19:58:44 2014 (r260892) @@ -597,6 +597,8 @@ getconfig( #endif /* not SYS_WINNT */ } + proto_config(PROTO_MONITOR, 0, 0., NULL); + for (;;) { if (tok == CONFIG_END) break; Modified: user/gjb/hacking/release-embedded/etc/mtree/BSD.tests.dist ============================================================================== --- user/gjb/hacking/release-embedded/etc/mtree/BSD.tests.dist Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/etc/mtree/BSD.tests.dist Sun Jan 19 19:58:44 2014 (r260892) @@ -49,8 +49,12 @@ lib atf libatf-c + detail + .. .. libatf-c++ + detail + .. .. test-programs .. Modified: user/gjb/hacking/release-embedded/gnu/lib/libgcc/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/gnu/lib/libgcc/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/gnu/lib/libgcc/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -34,9 +34,9 @@ OBJS= # added to below in various ways #--------------------------------------------------------------------------- # -# When upgrading GCC, get the following defintions straight from Makefile.in -# # Library members defined in libgcc2.c. +# When upgrading GCC, obtain the following list from mklibgcc.in +# LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \ _cmpdi2 _ucmpdi2 \ _enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \ @@ -44,7 +44,7 @@ LIB2FUNCS= _muldi3 _negdi2 _lshrdi3 _ash _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \ _popcountsi2 _popcountdi2 _paritysi2 _paritydi2 _powisf2 _powidf2 \ _powixf2 _powitf2 _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 \ - _divxc3 _divtc3 + _divxc3 _divtc3 _bswapsi2 _bswapdi2 .if ${COMPILER_TYPE} != "clang" || ${TARGET_CPUARCH} != "arm" LIB2FUNCS+= _clear_cache .endif @@ -119,8 +119,8 @@ LIB1ASMFUNCS = _dvmd_tls _bb_init_func .if ${MK_ARM_EABI} != "no" LIB2ADDEH = unwind-arm.c libunwind.S pr-support.c unwind-c.c # Some compilers generate __aeabi_ functions libgcc_s is missing -DPADD+= ${LIBGCC} -LDADD+= -lgcc +DPADD+= ${LIBCOMPILER_RT} +LDADD+= -lcompiler_rt .else LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c .endif Modified: user/gjb/hacking/release-embedded/gnu/usr.bin/gdb/kgdb/trgt.c ============================================================================== --- user/gjb/hacking/release-embedded/gnu/usr.bin/gdb/kgdb/trgt.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/gnu/usr.bin/gdb/kgdb/trgt.c Sun Jan 19 19:58:44 2014 (r260892) @@ -53,6 +53,18 @@ __FBSDID("$FreeBSD$"); #include "kgdb.h" +#ifdef CROSS_DEBUGGER +/* + * We suppress the call to add_target() of core_ops in corelow.c because if + * there are multiple core_stratum targets, the find_core_target() function + * won't know which one to return and returns none. We need it to return + * our target. We only have to do that when we're building a cross-debugger + * because fbsd-threads.c is part of a native debugger and it too defines + * coreops_suppress_target with 1 as the initializer. + */ +int coreops_suppress_target = 1; +#endif + static CORE_ADDR stoppcbs; static void kgdb_core_cleanup(void *); Modified: user/gjb/hacking/release-embedded/lib/atf/Makefile.inc ============================================================================== --- user/gjb/hacking/release-embedded/lib/atf/Makefile.inc Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/atf/Makefile.inc Sun Jan 19 19:58:44 2014 (r260892) @@ -38,6 +38,7 @@ CFLAGS+= -DATF_BUILD_CPPFLAGS='"${_CPPFL CFLAGS+= -DATF_BUILD_CXX='"${CXX}"' CFLAGS+= -DATF_BUILD_CXXFLAGS='"${_CXXFLAGS}"' CFLAGS+= -DATF_CONFDIR='"${CONFDIR}/atf"' +CFLAGS+= -DATF_C_TESTS_BASE='"${TESTSBASE}/lib/atf/libatf-c"' CFLAGS+= -DATF_INCLUDEDIR='"${INCLUDEDIR}"' CFLAGS+= -DATF_LIBDIR='"${LIBDIR}"' CFLAGS+= -DATF_LIBEXECDIR='"${LIBEXECDIR}"' Copied: user/gjb/hacking/release-embedded/lib/atf/common.mk (from r260891, head/lib/atf/common.mk) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/lib/atf/common.mk Sun Jan 19 19:58:44 2014 (r260892, copy of r260891, head/lib/atf/common.mk) @@ -0,0 +1,19 @@ +# $FreeBSD$ +# +# Common Makefile code for all components of ATF. +# + +.if !defined(ATF) +.error "ATF must be defined and point to the contrib/atf directory" +.endif + +# Depend on the atf-version target to generate a file that contains the +# version number of the currently imported ATF release and that only +# changes on new imports. +atf-version: atf-version-real + @cmp -s atf-version atf-version-real \ + || cp atf-version-real atf-version +atf-version-real: .PHONY + @grep 'define VERSION' ${ATF}/bconfig.h \ + | cut -d '"' -f 2 >atf-version-real +CLEANFILES+= atf-version atf-version-real Modified: user/gjb/hacking/release-embedded/lib/atf/libatf-c++/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/lib/atf/libatf-c++/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/atf/libatf-c++/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -76,8 +76,21 @@ INCSDIR_atf-c++.hpp= ${INCLUDEDIR} MAN= atf-c++-api.3 +all: atf-c++.pc +atf-c++.pc: atf-c++.pc.in atf-version + sed -e 's,__CXX__,${CXX},g' \ + -e 's,__INCLUDEDIR__,${INCLUDEDIR},g' \ + -e 's,__LIBDIR__,${LIBDIR},g' \ + -e "s,__ATF_VERSION__,$$(cat atf-version),g" \ + <${ATF}/atf-c++/atf-c++.pc.in >atf-c++.pc + +beforeinstall: + ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + atf-c++.pc ${DESTDIR}${LIBDATADIR}/pkgconfig + .if ${MK_TESTS} != "no" SUBDIR= tests .endif +.include "../common.mk" .include Modified: user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -3,6 +3,7 @@ .include TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c++ +TESTS_SUBDIRS= detail ATF= ${.CURDIR:H:H:H:H}/contrib/atf .PATH: ${ATF}/atf-c++ @@ -14,7 +15,6 @@ FILESDIR= ${TESTSDIR} FILES= macros_hpp_test.cpp FILES+= unused_test.cpp -# Tests in atf-c++. .for _T in atf_c++_test \ build_test \ check_test \ @@ -28,20 +28,4 @@ SRCS.${_T}= ${_T}.cpp test_helpers.cpp ATF_TESTS_SH= pkg_config_test -# Tests in atf-c++/detail. - -.for _T in application_test \ - env_test \ - exceptions_test \ - expand_test \ - fs_test \ - parser_test \ - process_test \ - sanity_test \ - text_test \ - ui_test -ATF_TESTS_CXX+= ${_T} -SRCS.${_T}= ${_T}.cpp test_helpers.cpp -.endfor - .include Copied: user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/Makefile.inc (from r260891, head/lib/atf/libatf-c++/tests/Makefile.inc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/lib/atf/libatf-c++/tests/Makefile.inc Sun Jan 19 19:58:44 2014 (r260892, copy of r260891, head/lib/atf/libatf-c++/tests/Makefile.inc) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" Modified: user/gjb/hacking/release-embedded/lib/atf/libatf-c/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/lib/atf/libatf-c/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/atf/libatf-c/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -74,8 +74,21 @@ INCSDIR_atf-c.h= ${INCLUDEDIR} MAN= atf-c-api.3 +all: atf-c.pc +atf-c.pc: atf-c.pc.in atf-version + sed -e 's,__CC__,${CC},g' \ + -e 's,__INCLUDEDIR__,${INCLUDEDIR},g' \ + -e 's,__LIBDIR__,${LIBDIR},g' \ + -e "s,__ATF_VERSION__,$$(cat atf-version),g" \ + <${ATF}/atf-c/atf-c.pc.in >atf-c.pc + +beforeinstall: + ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + atf-c.pc ${DESTDIR}${LIBDATADIR}/pkgconfig + .if ${MK_TESTS} != "no" SUBDIR= tests .endif +.include "../common.mk" .include Modified: user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -3,6 +3,7 @@ .include TESTSDIR= ${TESTSBASE}/lib/atf/libatf-c +TESTS_SUBDIRS= detail ATF= ${.CURDIR:H:H:H:H}/contrib/atf .PATH: ${ATF}/atf-c @@ -19,8 +20,6 @@ FILESDIR= ${TESTSDIR} FILES= macros_h_test.c FILES+= unused_test.c -# Tests in atf-c. - .for _T in atf_c_test \ build_test \ check_test \ @@ -36,24 +35,4 @@ SRCS.${_T}= ${_T}.c test_helpers.c ATF_TESTS_SH= pkg_config_test -# Tests in atf-c/detail. - -.for _T in dynstr_test \ - env_test \ - fs_test \ - list_test \ - map_test \ - process_test \ - sanity_test \ - text_test \ - user_test -ATF_TESTS_C+= ${_T} -SRCS.${_T}= ${_T}.c test_helpers.c -.endfor - -PROGS+= process_helpers -SRCS.process_helpers= process_helpers.c -MAN.process_helpers= # defined -BINDIR.process_helpers= ${TESTSDIR} - .include Copied: user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/Makefile.inc (from r260891, head/lib/atf/libatf-c/tests/Makefile.inc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/lib/atf/libatf-c/tests/Makefile.inc Sun Jan 19 19:58:44 2014 (r260892, copy of r260891, head/lib/atf/libatf-c/tests/Makefile.inc) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" Modified: user/gjb/hacking/release-embedded/lib/libc/Makefile ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/Makefile Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/Makefile Sun Jan 19 19:58:44 2014 (r260892) @@ -40,11 +40,11 @@ CFLAGS+=${CANCELPOINTS_CFLAGS} .endif # -# Only link with static libgcc.a (no libgcc_eh.a). +# Link with static libcompiler_rt.a. # -DPADD+= ${LIBGCC} +DPADD+= ${LIBCOMPILER_RT} LDFLAGS+= -nodefaultlibs -LDADD+= -lgcc +LDADD+= -lcompiler_rt .if ${MK_SSP} != "no" LDADD+= -lssp_nonshared Modified: user/gjb/hacking/release-embedded/lib/libc/gen/fts.3 ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/gen/fts.3 Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/gen/fts.3 Sun Jan 19 19:58:44 2014 (r260892) @@ -28,7 +28,7 @@ .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 .\" $FreeBSD$ .\" -.Dd May 21, 2013 +.Dd January 12, 2014 .Dt FTS 3 .Os .Sh NAME @@ -304,7 +304,6 @@ file is a member. A parent structure for the initial entry point is provided as well, however, only the .Fa fts_level , -.Fa fts_bignum , .Fa fts_number and .Fa fts_pointer @@ -366,13 +365,6 @@ The .Fa fts_name field is always .Dv NUL Ns -terminated . -.Pp -Note that the use of -.Fa fts_bignum -is mutually exclusive with the use of -.Fa fts_number -or -.Fa fts_pointer . .Sh FTS_OPEN The .Fn fts_open Modified: user/gjb/hacking/release-embedded/lib/libc/gen/fts.c ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/gen/fts.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/gen/fts.c Sun Jan 19 19:58:44 2014 (r260892) @@ -62,7 +62,7 @@ static size_t fts_maxarglen(char * cons static void fts_padjust(FTS *, FTSENT *); static int fts_palloc(FTS *, size_t); static FTSENT *fts_sort(FTS *, FTSENT *, size_t); -static int fts_stat(FTS *, FTSENT *, int); +static int fts_stat(FTS *, FTSENT *, int, int); static int fts_safe_changedir(FTS *, FTSENT *, int, char *); static int fts_ufslinks(FTS *, const FTSENT *); @@ -171,7 +171,7 @@ fts_open(argv, options, compar) p->fts_level = FTS_ROOTLEVEL; p->fts_parent = parent; p->fts_accpath = p->fts_name; - p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW)); + p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW), -1); /* Command-line "." and ".." are real directories. */ if (p->fts_info == FTS_DOT) @@ -326,7 +326,7 @@ fts_read(FTS *sp) /* Any type of file may be re-visited; re-stat and re-turn. */ if (instr == FTS_AGAIN) { - p->fts_info = fts_stat(sp, p, 0); + p->fts_info = fts_stat(sp, p, 0, -1); return (p); } @@ -338,7 +338,7 @@ fts_read(FTS *sp) */ if (instr == FTS_FOLLOW && (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { - p->fts_info = fts_stat(sp, p, 1); + p->fts_info = fts_stat(sp, p, 1, -1); if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) { @@ -429,7 +429,7 @@ next: tmp = p; if (p->fts_instr == FTS_SKIP) goto next; if (p->fts_instr == FTS_FOLLOW) { - p->fts_info = fts_stat(sp, p, 1); + p->fts_info = fts_stat(sp, p, 1, -1); if (p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if ((p->fts_symfd = _open(".", O_RDONLY | O_CLOEXEC, 0)) < 0) { @@ -800,10 +800,11 @@ mem1: saved_errno = errno; if (ISSET(FTS_NOCHDIR)) { p->fts_accpath = p->fts_path; memmove(cp, p->fts_name, p->fts_namelen + 1); - } else + p->fts_info = fts_stat(sp, p, 0, _dirfd(dirp)); + } else { p->fts_accpath = p->fts_name; - /* Stat it. */ - p->fts_info = fts_stat(sp, p, 0); + p->fts_info = fts_stat(sp, p, 0, -1); + } /* Decrement link count if applicable. */ if (nlinks > 0 && (p->fts_info == FTS_D || @@ -868,13 +869,19 @@ mem1: saved_errno = errno; } static int -fts_stat(FTS *sp, FTSENT *p, int follow) +fts_stat(FTS *sp, FTSENT *p, int follow, int dfd) { FTSENT *t; dev_t dev; ino_t ino; struct stat *sbp, sb; int saved_errno; + const char *path; + + if (dfd == -1) + path = p->fts_accpath, dfd = AT_FDCWD; + else + path = p->fts_name; /* If user needs stat info, stat buffer already allocated. */ sbp = ISSET(FTS_NOSTAT) ? &sb : p->fts_statp; @@ -896,16 +903,16 @@ fts_stat(FTS *sp, FTSENT *p, int follow) * fail, set the errno from the stat call. */ if (ISSET(FTS_LOGICAL) || follow) { - if (stat(p->fts_accpath, sbp)) { + if (fstatat(dfd, path, sbp, 0)) { saved_errno = errno; - if (!lstat(p->fts_accpath, sbp)) { + if (!fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { errno = 0; return (FTS_SLNONE); } p->fts_errno = saved_errno; goto err; } - } else if (lstat(p->fts_accpath, sbp)) { + } else if (fstatat(dfd, path, sbp, AT_SYMLINK_NOFOLLOW)) { p->fts_errno = errno; err: memset(sbp, 0, sizeof(struct stat)); return (FTS_NS); Modified: user/gjb/hacking/release-embedded/lib/libc/include/port_before.h ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/include/port_before.h Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/include/port_before.h Sun Jan 19 19:58:44 2014 (r260892) @@ -5,7 +5,7 @@ #define _LIBC 1 #define DO_PTHREADS 1 -#define USE_KQUEUE 1 +#define USE_POLL 1 #define ISC_SOCKLEN_T socklen_t #define ISC_FORMAT_PRINTF(fmt, args) \ Modified: user/gjb/hacking/release-embedded/lib/libc/resolv/res_send.c ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/resolv/res_send.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/resolv/res_send.c Sun Jan 19 19:58:44 2014 (r260892) @@ -77,7 +77,7 @@ __FBSDID("$FreeBSD$"); */ #include "port_before.h" -#ifndef USE_KQUEUE +#if !defined(USE_KQUEUE) && !defined(USE_POLL) #include "fd_setsize.h" #endif @@ -963,7 +963,7 @@ send_dg(res_state statp, timeout.tv_nsec/1000000; pollfd.fd = s; pollfd.events = POLLRDNORM; - n = poll(&pollfd, 1, polltimeout); + n = _poll(&pollfd, 1, polltimeout); #endif /* USE_POLL */ if (n == 0) { Modified: user/gjb/hacking/release-embedded/lib/libc/stdlib/getsubopt.c ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/stdlib/getsubopt.c Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/stdlib/getsubopt.c Sun Jan 19 19:58:44 2014 (r260892) @@ -45,9 +45,7 @@ __FBSDID("$FreeBSD$"); char *suboptarg; int -getsubopt(optionp, tokens, valuep) - char **optionp, **valuep; - char * const *tokens; +getsubopt(char **optionp, char * const *tokens, char **valuep) { int cnt; char *p; Modified: user/gjb/hacking/release-embedded/lib/libc/sys/accept.2 ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/sys/accept.2 Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/sys/accept.2 Sun Jan 19 19:58:44 2014 (r260892) @@ -32,7 +32,8 @@ .Dt ACCEPT 2 .Os .Sh NAME -.Nm accept +.Nm accept , +.Nm accept4 .Nd accept a connection on a socket .Sh LIBRARY .Lb libc Modified: user/gjb/hacking/release-embedded/lib/libc/sys/chflags.2 ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/sys/chflags.2 Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/sys/chflags.2 Sun Jan 19 19:58:44 2014 (r260892) @@ -34,7 +34,8 @@ .Sh NAME .Nm chflags , .Nm lchflags , -.Nm fchflags +.Nm fchflags , +.Nm chflagsat .Nd set file flags .Sh LIBRARY .Lb libc Modified: user/gjb/hacking/release-embedded/lib/libc/sys/pipe.2 ============================================================================== --- user/gjb/hacking/release-embedded/lib/libc/sys/pipe.2 Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libc/sys/pipe.2 Sun Jan 19 19:58:44 2014 (r260892) @@ -32,7 +32,8 @@ .Dt PIPE 2 .Os .Sh NAME -.Nm pipe +.Nm pipe , +.Nm pipe2 .Nd create descriptor pair for interprocess communication .Sh LIBRARY .Lb libc Modified: user/gjb/hacking/release-embedded/lib/libcxxrt/Version.map ============================================================================== --- user/gjb/hacking/release-embedded/lib/libcxxrt/Version.map Sun Jan 19 19:49:24 2014 (r260891) +++ user/gjb/hacking/release-embedded/lib/libcxxrt/Version.map Sun Jan 19 19:58:44 2014 (r260892) @@ -111,6 +111,19 @@ CXXABI_1.3 { "typeinfo for void"; "typeinfo for wchar_t const*"; "typeinfo for wchar_t"; + # C++11 typeinfo not understood by our linker + # std::nullptr_t + _ZTIDn;_ZTIPDn;_ZTIPKDn; + # char16_t + _ZTIDi;_ZTIPDi;_ZTIPKDi; + # char32_t + _ZTIDs;_ZTIPDs;_ZTIPKDs; + # IEEE 754r decimal floating point + _ZTIDd;_ZTIPDd;_ZTIPKDd; + _ZTIDe;_ZTIPDe;_ZTIPKDe; + _ZTIDf;_ZTIPDf;_ZTIPKDf; + # IEEE 754r half-precision floating point + _ZTIDh;_ZTIPDh;_ZTIPKDh; "typeinfo for bool*"; "typeinfo for wchar_t*"; @@ -195,6 +208,19 @@ CXXABI_1.3 { "typeinfo name for void*"; "typeinfo name for unsigned int*"; "typeinfo name for float*"; + # C++11 typeinfo not understood by our linker + # std::nullptr_t + _ZTSDn;_ZTIPDn;_ZTIPKDn; + # char16_t + _ZTSDi;_ZTIPDi;_ZTIPKDi; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Jan 19 22:01:09 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7D039FF5; Sun, 19 Jan 2014 22:01:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 695B110EF; Sun, 19 Jan 2014 22:01:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0JM190m022587; Sun, 19 Jan 2014 22:01:09 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0JM19sp022586; Sun, 19 Jan 2014 22:01:09 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401192201.s0JM19sp022586@svn.freebsd.org> From: Glen Barber Date: Sun, 19 Jan 2014 22:01:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r260895 - in user/gjb/hacking/release-embedded: release/tools release/tools/arm tools/release X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 22:01:09 -0000 Author: gjb Date: Sun Jan 19 22:01:08 2014 New Revision: 260895 URL: http://svnweb.freebsd.org/changeset/base/260895 Log: Move tools/release/${XDEV}/ to release/tools/${XDEV}/. In general, the workflow used for the latest releases has been to checkout head/release/ to a directory outside of any build environments, modify the release.conf accordingly, and run: # ./release.sh -c ./release.conf By moving tools/release/${XDEV}/ (for RPI-B build testing, in this case), any dependency on a different branch of the source tree can be removed. In particular, release.sh expects the tools/release/${XDEV}/crochet-${KERNEL}.conf file to exist, so by moving the crochet configuration file to a directory in release/, it becomes possible to build images for branches that do not yet have the necessary configuration files and/or scripts. Sponsored by: The FreeBSD Foundation Added: user/gjb/hacking/release-embedded/release/tools/ user/gjb/hacking/release-embedded/release/tools/arm/ - copied from r260891, user/gjb/hacking/release-embedded/tools/release/arm/ Deleted: user/gjb/hacking/release-embedded/tools/release/ From owner-svn-src-user@FreeBSD.ORG Sun Jan 19 22:25:58 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E081E56B; Sun, 19 Jan 2014 22:25:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C0CEA11E4; Sun, 19 Jan 2014 22:25:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0JMPwDs031285; Sun, 19 Jan 2014 22:25:58 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0JMPv70031280; Sun, 19 Jan 2014 22:25:57 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401192225.s0JMPv70031280@svn.freebsd.org> From: Glen Barber Date: Sun, 19 Jan 2014 22:25:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r260896 - in user/gjb/hacking/release-embedded/release: . arm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jan 2014 22:25:58 -0000 Author: gjb Date: Sun Jan 19 22:25:57 2014 New Revision: 260896 URL: http://svnweb.freebsd.org/changeset/base/260896 Log: When bootstrapping the build chroot, the default environment is set up for the amd64/amd64 TARGET/TARGET_ARCH combination. Some of the build tools used here (u-boot in particular) require use of gcc(1). The lang/gcc* from ports/ will install as 'gccNN' instead of 'gcc', so they cannot be used without extra hacks. Add an EMBEDDED_WORLD_FLAGS variable to be used to properly set up the build chroot. For the RPI-B case, EMBEDDED_WORLD_FLAGS is set to 'WITH_GCC=1', which is used to set up the build chroot. While here, in followup to r260895, do not rely on the necessary configuration files and/or scripts to exist in the build target src/ tree. To work around cases where files do not exist, copy (from the local release/ checkout) the tools/${XDEV}/crochet-${KERNEL}.conf to ${CHROOTDIR}/tmp/external/crochet-${KERNEL}.conf to make them accessible to the external utilities that need them (i.e., crochet). Sponsored by: The FreeBSD Foundation Modified: user/gjb/hacking/release-embedded/release/arm/RPI-B.conf user/gjb/hacking/release-embedded/release/arm/release.sh user/gjb/hacking/release-embedded/release/release.conf.sample user/gjb/hacking/release-embedded/release/release.sh Modified: user/gjb/hacking/release-embedded/release/arm/RPI-B.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/RPI-B.conf Sun Jan 19 22:01:08 2014 (r260895) +++ user/gjb/hacking/release-embedded/release/arm/RPI-B.conf Sun Jan 19 22:25:57 2014 (r260896) @@ -17,6 +17,7 @@ SVNROOT="svn://svn.FreeBSD.org" SRCBRANCH="base/head@rHEAD" DOCBRANCH="doc/head@rHEAD" PORTBRANCH="ports/head@rHEAD" +EMBEDDED_WORLD_FLAGS="WITH_GCC=1" NODOC=yes # Build target configuration Modified: user/gjb/hacking/release-embedded/release/arm/release.sh ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/release.sh Sun Jan 19 22:01:08 2014 (r260895) +++ user/gjb/hacking/release-embedded/release/arm/release.sh Sun Jan 19 22:25:57 2014 (r260896) @@ -50,7 +50,7 @@ main() { install_uboot mkdir -p ${CHROOTDIR}/tmp/crochet/work eval chroot ${CHROOTDIR} /bin/sh /tmp/crochet/crochet.sh \ - -c /usr/src/tools/release/${XDEV}/crochet-${KERNEL}.conf + -c /tmp/external/${XDEV}/crochet-${KERNEL}.conf } main "$@" Modified: user/gjb/hacking/release-embedded/release/release.conf.sample ============================================================================== --- user/gjb/hacking/release-embedded/release/release.conf.sample Sun Jan 19 22:01:08 2014 (r260895) +++ user/gjb/hacking/release-embedded/release/release.conf.sample Sun Jan 19 22:25:57 2014 (r260896) @@ -40,3 +40,11 @@ PORTBRANCH="ports/head@rHEAD" #NOPORTS= #RELSTRING= #WITH_DVD= + +## Set when building embedded images. +#EMBEDDEDBUILD= + +## Set to specify userland-specific make(1) flags that affect the +## build chroot environment. +#EMBEDDED_WORLD_FLAGS="" + Modified: user/gjb/hacking/release-embedded/release/release.sh ============================================================================== --- user/gjb/hacking/release-embedded/release/release.sh Sun Jan 19 22:01:08 2014 (r260895) +++ user/gjb/hacking/release-embedded/release/release.sh Sun Jan 19 22:25:57 2014 (r260896) @@ -37,6 +37,7 @@ export PATH # The directory within which the release will be built. CHROOTDIR="/scratch" +RELENGDIR="$(realpath $(dirname $(basename ${0})))" # The default svn checkout server, and svn branches for src/, doc/, # and ports/. @@ -47,6 +48,7 @@ PORTBRANCH="ports/head@rHEAD" # Set for embedded device builds. EMBEDDEDBUILD= +EMBEDDED_WORLD_FLAGS= # Sometimes one needs to checkout src with --force svn option. # If custom kernel configs copied to src tree before checkout, e.g. @@ -135,9 +137,9 @@ else ARCH_FLAGS= fi CHROOT_MAKEENV="MAKEOBJDIRPREFIX=${CHROOTDIR}/tmp/obj" -CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${CONF_FILES}" -CHROOT_IMAKEFLAGS="${CONF_FILES}" -CHROOT_DMAKEFLAGS="${CONF_FILES}" +CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${CONF_FILES} ${EMBEDDED_WORLD_FLAGS}" +CHROOT_IMAKEFLAGS="${CONF_FILES} ${EMBEDDED_WORLD_FLAGS}" +CHROOT_DMAKEFLAGS="${CONF_FILES} ${EMBEDDED_WORLD_FLAGS}" RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} ${CONF_FILES}" RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}" RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \ @@ -194,8 +196,16 @@ fi # Embedded builds do not use the 'make release' target. if [ "X${EMBEDDEDBUILD}" != "X" ]; then - if [ -e ${CHROOTDIR}/usr/src/release/${XDEV}/release.sh ]; then - /bin/sh ${CHROOTDIR}/usr/src/release/${XDEV}/release.sh + # If a crochet configuration file exists in *this* checkout of + # release/, copy it to the /tmp/external directory within the chroot. + # This allows building embedded releases without relying on updated + # scripts and/or configurations to exist in the branch being built. + if [ -e ${RELENGDIR}/tools/${XDEV}/crochet-${KERNEL}.conf ] && \ + [ -e ${RELENGDIR}/${XDEV}/release.sh ]; then + mkdir -p ${CHROOTDIR}/tmp/external/${XDEV}/ + cp ${RELENGDIR}/tools/${XDEV}/crochet-${KERNEL}.conf \ + ${CHROOTDIR}/tmp/external/${XDEV}/crochet-${KERNEL}.conf + /bin/sh ${RELENGDIR}/${XDEV}/release.sh fi # If the script does not exist for this architecture, exit. # This probably should be checked earlier, but allowing the rest From owner-svn-src-user@FreeBSD.ORG Wed Jan 22 08:19:52 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D28EA88A; Wed, 22 Jan 2014 08:19:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A5BB21D40; Wed, 22 Jan 2014 08:19:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0M8JqYJ032340; Wed, 22 Jan 2014 08:19:52 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0M8JqcA032339; Wed, 22 Jan 2014 08:19:52 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201401220819.s0M8JqcA032339@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Wed, 22 Jan 2014 08:19:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261007 - user/gonzo X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jan 2014 08:19:52 -0000 Author: gonzo Date: Wed Jan 22 08:19:52 2014 New Revision: 261007 URL: http://svnweb.freebsd.org/changeset/base/261007 Log: Create user directory Added: user/gonzo/ From owner-svn-src-user@FreeBSD.ORG Wed Jan 22 08:33:34 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 24E686B; Wed, 22 Jan 2014 08:33:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1064B1E97; Wed, 22 Jan 2014 08:33:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0M8XYnC039444; Wed, 22 Jan 2014 08:33:34 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0M8XW7v039435; Wed, 22 Jan 2014 08:33:32 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201401220833.s0M8XW7v039435@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Wed, 22 Jan 2014 08:33:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261008 - in user/gonzo/bugzilla-freebsd: . AutoAssigner X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jan 2014 08:33:34 -0000 Author: gonzo Date: Wed Jan 22 08:33:32 2014 New Revision: 261008 URL: http://svnweb.freebsd.org/changeset/base/261008 Log: Import bugzilla/freebsd integration stuff Added: user/gonzo/bugzilla-freebsd/ user/gonzo/bugzilla-freebsd/AutoAssigner/ user/gonzo/bugzilla-freebsd/AutoAssigner/Config.pm (contents, props changed) user/gonzo/bugzilla-freebsd/AutoAssigner/Extension.pm (contents, props changed) user/gonzo/bugzilla-freebsd/README user/gonzo/bugzilla-freebsd/gnats_in.pl (contents, props changed) user/gonzo/bugzilla-freebsd/import_ports_index.pl (contents, props changed) user/gonzo/bugzilla-freebsd/svn_in.pl (contents, props changed) Added: user/gonzo/bugzilla-freebsd/AutoAssigner/Config.pm ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gonzo/bugzilla-freebsd/AutoAssigner/Config.pm Wed Jan 22 08:33:32 2014 (r261008) @@ -0,0 +1,12 @@ +package Bugzilla::Extension::AutoAssigner; +use strict; +use constant NAME => 'AutoAssigner'; +use constant REQUIRED_MODULES => [ + { + package => 'Data-Dumper', + module => 'Data::Dumper', + version => 0, + }, +]; + +__PACKAGE__->NAME; Added: user/gonzo/bugzilla-freebsd/AutoAssigner/Extension.pm ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gonzo/bugzilla-freebsd/AutoAssigner/Extension.pm Wed Jan 22 08:33:32 2014 (r261008) @@ -0,0 +1,66 @@ +package Bugzilla::Extension::AutoAssigner; + +use strict; +use base qw(Bugzilla::Extension); + +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Group; +use Bugzilla::User; +use Bugzilla::User::Setting; +use Bugzilla::Util qw(diff_arrays html_quote); +use Bugzilla::Status qw(is_open_state); +use Bugzilla::Install::Filesystem; + +use constant REL_EXAMPLE => -127; + +our $VERSION = '1.0'; + +use Data::Dumper; + +sub bug_end_of_create { + my ($self, $args) = @_; + + # This code doesn't actually *do* anything, it's just here to show you + # how to use this hook. + my $bug = $args->{'bug'}; + my $timestamp = $args->{'timestamp'}; + + my $bug_id = $bug->id; + my $subject = $bug->short_desc; + my $component = $bug->component; + if ($component eq 'ports') { + if ($subject =~ /^\s*(\S+\/\S+)\s*:/) { + my $port = $1; + my $dbh = Bugzilla->dbh; + my $sth = $dbh->prepare("SELECT maintainer FROM freebsd_ports_index where port=?"); + $sth->execute($port); + my ($maintainer) = $sth->fetchrow_array(); + return unless(defined($maintainer)); + eval { + my $user = Bugzilla::User->check($maintainer); + }; + return if ($@ ne ''); + $bug->add_cc($maintainer); + $bug->update(); + } + } +} + +sub db_schema_abstract_schema { + my ($class, $args) = @_; + my $schema = $args->{schema}; + + $schema->{freebsd_ports_index} = { + FIELDS => [ + port => {TYPE => 'varchar(255)', NOTNULL => 1}, + maintainer => {TYPE => 'varchar(255)', NOTNULL => 1}, + ], + INDEXES => [ + freebsd_ports_index_port_id => { FIELDS => ['port'], TYPE => 'UNIQUE' }, + ], + }; +} + +# This must be the last line of your extension. +__PACKAGE__->NAME; Added: user/gonzo/bugzilla-freebsd/README ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gonzo/bugzilla-freebsd/README Wed Jan 22 08:33:32 2014 (r261008) @@ -0,0 +1,10 @@ +AutoAssigner - add port maintainer to Cc for newly created bugs in + ports category. Summary of the bug should have "category/port: " + prefix. Extension creates table for INDEX file content. File + itself is imported by import_ports_index.pl + +gnats_in.pl - script that parses emails generated by submit-pr and + creates new bug in Bugzilla. + +subversion_in.pl - Very basic dfilter-like script. Gets sendmail + commit email on input, parses and posts comment to bug mentioned Added: user/gonzo/bugzilla-freebsd/gnats_in.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gonzo/bugzilla-freebsd/gnats_in.pl Wed Jan 22 08:33:32 2014 (r261008) @@ -0,0 +1,454 @@ +#!/usr/local/bin/perl -w +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Inbound Email System. +# +# The Initial Developer of the Original Code is Akamai Technologies, Inc. +# Portions created by Akamai are Copyright (C) 2006 Akamai Technologies, +# Inc. All Rights Reserved. +# +# Contributor(s): Max Kanat-Alexander + +use strict; +use warnings; + +# MTAs may call this script from any directory, but it should always +# run from this one so that it can find its modules. +use Cwd qw(abs_path); +use File::Basename qw(dirname); +BEGIN { + # Untaint the abs_path. + my ($a) = abs_path($0) =~ /^(.*)$/; + chdir dirname($a); +} + +use lib qw(/usr/local/www/bugs42.freebsd.org/lib/ /usr/local/www/bugs42.freebsd.org/); + +use Data::Dumper; +use Email::Address; +use Email::Reply qw(reply); +use Email::MIME; +use Email::MIME::Attachment::Stripper; +use Getopt::Long qw(:config bundling); +use Pod::Usage; +use Encode; +use Scalar::Util qw(blessed); + +use Bugzilla; +use Bugzilla::Attachment; +use Bugzilla::Bug; +use Bugzilla::BugMail; +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Mailer; +use Bugzilla::Token; +use Bugzilla::User; +use Bugzilla::Util; +use Bugzilla::Hook; + +############# +# Constants # +############# + + +our %fields_defaults = ( + op_sys => 'FreeBSD', + rep_platform => 'old_All', + product => 'FreeBSD', + version => 'unspecified', +); + +our %priority_map = ( + medium => 'normal' +); + +our %severity_map = ( + 'non-critical' => 'normal', + critical => 'old critical', + serious => 'normal' +); + +# $input_email is a global so that it can be used in die_handler. +our ($input_email, %switch); + +#################### +# Main Subroutines # +#################### + +sub parse_mail { + my ($mail_text) = @_; + debug_print('Parsing Email'); + $input_email = Email::MIME->new($mail_text); + + my %fields = %{ $switch{'default'} || {} }; + Bugzilla::Hook::process('email_in_before_parse', { mail => $input_email, + fields => \%fields }); + + my $body = get_body($input_email); + + debug_print("Body:\n" . $body, 3); + + my @body_lines = split(/\r?\n/s, $body); + + # If there are fields specified. + my %gnats_fields; + my $current_field; + foreach my $line (@body_lines) { + if ($line =~ /^>([\w-]+):\s*(.*)\s*/) { + $current_field = lc($1); + $gnats_fields{$current_field} = $2; + } + else { + $gnats_fields{$current_field} .= "\n$line"; + } + } + + foreach my $k (keys %gnats_fields) { + $gnats_fields{$k} = trim ($gnats_fields{$k}); + } + + debug_print("GNATS Fields:\n" . Dumper(\%gnats_fields), 2); + $fields{priority} = $priority_map{$gnats_fields{priority}} || $gnats_fields{priority}; + $fields{severity} = $severity_map{$gnats_fields{severity}} || $gnats_fields{severity}; + $fields{component} = $gnats_fields{category}; + # $fields{cf_type} = $gnats_fields{class}; + + %fields = %{ Bugzilla::Bug::map_fields(\%fields) }; + + my ($reporter) = Email::Address->parse($input_email->header('From')); + $fields{'reporter'} = $reporter->address; + # $fields{'cf_originator_email'} = $reporter->address; + $fields{'reporter'} = 'gonzo@freebsd.org'; + + # Default values + foreach my $k (keys %fields_defaults) { + $fields{$k} = $fields_defaults{$k}; + } + + my $subject = $input_email->header('Subject'); + $fields{'short_desc'} = $gnats_fields{'synopsis'} || $subject; + + my $comment = ''; + + + if (defined($gnats_fields{'description'}) && $gnats_fields{'description'} =~ /\S/s) { + $comment .= $gnats_fields{'description'}; + } + + if (defined($gnats_fields{'environment'}) && $gnats_fields{'environment'} =~ /\S/s) { + my $envstr = $gnats_fields{'environment'}; + if ($envstr =~ /(?:FreeBSD )?([0-9]+\.[0-9\.]+-((PRE)?RELEASE|BETA[0-9]|CURRENT|STABLE))(-p\d+)?( [a-z0-9]+)?/) { + my $version_name = $1; + my $product = Bugzilla::Product->check($fields_defaults{product}); + eval { + my $version_obj = Bugzilla::Version->check({ product => $product, + name => $version_name }); + }; + if ($@ eq '') { + $fields{'version'} = $version_name; + } + } + $comment .= "\n\nEnvironment:\n"; + $comment .= $gnats_fields{'environment'}; + } + + if (defined($gnats_fields{'how-to-repeat'}) && $gnats_fields{'how-to-repeat'} =~ /\S/s) { + $comment .= "\n\nHow-To-Repeat:\n"; + $comment .= $gnats_fields{'how-to-repeat'}; + } + + if (defined($gnats_fields{'fix'})) { + my $attachments; + my $fix = $gnats_fields{'fix'}; + ($fix, $attachments) = parse_fix($fix); + if ($fix =~ /\S/s) { + $comment .= "\n\nFix:\n"; + $comment .= $fix; + } + + $fields{'attachments'} = $attachments if (@$attachments); + } + + $fields{'comment'} = $comment; + + debug_print("Parsed Fields:\n" . Dumper(\%fields), 2); + + return \%fields; +} + +sub post_bug { + my ($fields) = @_; + debug_print('Posting a new bug...'); + + my $user = Bugzilla->user; + + my ($retval, $non_conclusive_fields) = + Bugzilla::User::match_field({ + 'assigned_to' => { 'type' => 'single' }, + 'qa_contact' => { 'type' => 'single' }, + 'cc' => { 'type' => 'multi' } + }, $fields, MATCH_SKIP_CONFIRM); + + if ($retval != USER_MATCH_SUCCESS) { + ThrowUserError('user_match_too_many', {fields => $non_conclusive_fields}); + } + + my $bug = Bugzilla::Bug->create($fields); + debug_print("Created bug " . $bug->id); + return ($bug, $bug->comments->[0]); +} + +sub handle_attachments { + my ($bug, $attachments, $comment) = @_; + return if !$attachments; + debug_print("Handling attachments..."); + my $dbh = Bugzilla->dbh; + $dbh->bz_start_transaction(); + my ($update_comment, $update_bug); + foreach my $attachment (@$attachments) { + my $data = delete $attachment->{payload}; + debug_print("Inserting Attachment: " . Dumper($attachment), 2); + $attachment->{content_type} ||= 'application/octet-stream'; + my $ispatch = 0; + $ispatch = 1 if ($attachment->{filename} =~ /(diff|patch)$/); + my $obj = Bugzilla::Attachment->create({ + bug => $bug, + description => $attachment->{filename}, + filename => $attachment->{filename}, + mimetype => $attachment->{content_type}, + ispatch => $ispatch, + data => $data, + }); + # If we added a comment, and our comment does not already have a type, + # and this is our first attachment, then we make the comment an + # "attachment created" comment. + if ($comment and !$comment->type and !$update_comment) { + $comment->set_all({ type => CMT_ATTACHMENT_CREATED, + extra_data => $obj->id }); + $update_comment = 1; + } + else { + $bug->add_comment('', { type => CMT_ATTACHMENT_CREATED, + extra_data => $obj->id }); + $update_bug = 1; + } + } + # We only update the comments and bugs at the end of the transaction, + # because doing so modifies bugs_fulltext, which is a non-transactional + # table. + $bug->update() if $update_bug; + $comment->update() if $update_comment; + $dbh->bz_commit_transaction(); +} + +###################### +# Helper Subroutines # +###################### + +sub debug_print { + my ($str, $level) = @_; + $level ||= 1; + print STDERR "$str\n" if $level <= $switch{'verbose'}; +} + +sub get_body { + my ($email) = @_; + + my $ct = $email->content_type || 'text/plain'; + debug_print("Splitting Body and Attachments [Type: $ct]..."); + + my $body; + if ($ct =~ /^multipart\/(alternative|signed)/i) { + $body = get_text_alternative($email); + } + else { + my $stripper = new Email::MIME::Attachment::Stripper( + $email, force_filename => 1); + my $message = $stripper->message; + $body = get_text_alternative($message); + } + + return $body; +} + +sub parse_fix { + my ($fix) = @_; + my $stripped_fix = ''; + my $attachments = []; + my $attachment; + my @fix_lines = split(/\r?\n/s, $fix); + foreach my $line (@fix_lines) { + if ($line =~ /^\s*--{1,8}\s?([A-Za-z0-9-_.,:%]+) (begins|starts) here\s?--+\s*/mi) { + push @$attachments, $attachment if (defined($attachment)); + $attachment = { + 'payload' => '', + 'filename' => $1, + 'content_type' => 'text/plain', + }; + } + elsif ($line =~ /^\s*--{1,8}\s?([A-Za-z0-9-_.,:%]+) ends here\s?--+\s*\n/mi) { + push @$attachments, $attachment if (defined($attachment)); + $attachment = undef; + } + elsif ($line =~ /^# This is a shell archive/) { + push @$attachments, $attachment if (defined($attachment)); + $attachment = { + 'payload' => "$line\n", + 'filename' => 'file.shar', + 'content_type' => 'application/x-shar', + }; + } + elsif (($line =~ /^exit$/) && defined($attachment) && ($attachment->{content_type} =~/x-shar/)) { + $attachment->{'payload'} .= "$line\n"; + push @$attachments, $attachment if (defined($attachment)); + $attachment = undef; + } + + elsif (defined($attachment)) { + $attachment->{'payload'} .= "$line\n"; + } + else { + $stripped_fix .= "$line\n"; + } + } + push @$attachments, $attachment if (defined($attachment)); + return ($stripped_fix, $attachments) +} + +sub get_text_alternative { + my ($email) = @_; + + my @parts = $email->parts; + my $body; + foreach my $part (@parts) { + my $ct = $part->content_type || 'text/plain'; + my $charset = 'iso-8859-1'; + # The charset may be quoted. + if ($ct =~ /charset="?([^;"]+)/) { + $charset= $1; + } + debug_print("Part Content-Type: $ct", 2); + debug_print("Part Character Encoding: $charset", 2); + if (!$ct || $ct =~ /^text\/plain/i) { + $body = $part->body; + if (Bugzilla->params->{'utf8'} && !utf8::is_utf8($body)) { + $body = Encode::decode($charset, $body); + } + last; + } + } + + if (!defined $body) { + # Note that this only happens if the email does not contain any + # text/plain parts. If the email has an empty text/plain part, + # you're fine, and this message does NOT get thrown. + ThrowUserError('email_no_text_plain'); + } + + return $body; +} + +sub html_strip { + my ($var) = @_; + # Trivial HTML tag remover (this is just for error messages, really.) + $var =~ s/<[^>]*>//g; + # And this basically reverses the Template-Toolkit html filter. + $var =~ s/\&/\&/g; + $var =~ s/\<//g; + $var =~ s/\"/\"/g; + $var =~ s/@/@/g; + # Also remove undesired newlines and consecutive spaces. + $var =~ s/[\n\s]+/ /gms; + return $var; +} + +sub die_handler { + my ($msg) = @_; + + # In Template-Toolkit, [% RETURN %] is implemented as a call to "die". + # But of course, we really don't want to actually *die* just because + # the user-error or code-error template ended. So we don't really die. + return if blessed($msg) && $msg->isa('Template::Exception') + && $msg->type eq 'return'; + + # If this is inside an eval, then we should just act like...we're + # in an eval (instead of printing the error and exiting). + die(@_) if $^S; + + # We can't depend on the MTA to send an error message, so we have + # to generate one properly. + if ($input_email) { + $msg =~ s/at .+ line.*$//ms; + $msg =~ s/^Compilation failed in require.+$//ms; + $msg = html_strip($msg); + my $from = Bugzilla->params->{'mailfrom'}; + my $reply = reply(to => $input_email, from => $from, top_post => 1, + body => "$msg\n"); + # MessageToMTA($reply->as_string); + } + print STDERR "$msg\n"; + # We exit with a successful value, because we don't want the MTA + # to *also* send a failure notice. + exit; +} + +############### +# Main Script # +############### + +$SIG{__DIE__} = \&die_handler; + +GetOptions(\%switch, 'help|h', 'verbose|v+', 'default=s%', 'override=s%'); +$switch{'verbose'} ||= 0; + +# Print the help message if that switch was selected. +pod2usage({-verbose => 0, -exitval => 1}) if $switch{'help'}; + +Bugzilla->usage_mode(USAGE_MODE_EMAIL); + +my @mail_lines = ; +my $mail_text = join("", @mail_lines); +my $mail_fields = parse_mail($mail_text); + +Bugzilla::Hook::process('email_in_after_parse', { fields => $mail_fields }); + +my $attachments = delete $mail_fields->{'attachments'}; + +my $username = $mail_fields->{'reporter'}; +# If emailsuffix is in use, we have to remove it from the email address. +if (my $suffix = Bugzilla->params->{'emailsuffix'}) { + $username =~ s/\Q$suffix\E$//i; +} + +my $user = Bugzilla::User->check($username); +Bugzilla->set_user($user); + +my ($bug, $comment); +($bug, $comment) = post_bug($mail_fields); + +handle_attachments($bug, $attachments, $comment); + +# This is here for post_bug and handle_attachments, so that when posting a bug +# with an attachment, any comment goes out as an attachment comment. +# +# Eventually this should be sending the mail for process_bug, too, but we have +# to wait for $bug->update() to be fully used in email_in.pl first. So +# currently, process_bug.cgi does the mail sending for bugs, and this does +# any mail sending for attachments after the first one. +Bugzilla::BugMail::Send($bug->id, { changer => Bugzilla->user }); +debug_print("Sent bugmail"); +print "--> " . $bug->id . "\n"; + + +__END__ Added: user/gonzo/bugzilla-freebsd/import_ports_index.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gonzo/bugzilla-freebsd/import_ports_index.pl Wed Jan 22 08:33:32 2014 (r261008) @@ -0,0 +1,29 @@ +#!/usr/local/bin/perl -w + +use strict; +use warnings; + +use lib qw(/usr/local/www/bugs42.freebsd.org/lib/ /usr/local/www/bugs42.freebsd.org/); +use Bugzilla; + +open F, "< /var/ports/INDEX-9"; + +my %maintainers; + +while() { + chomp; + my @fields = split /\|/; + my $port = $fields[1]; + $port =~ s@/usr/ports/@@; + my $maintainer = $fields[5]; + $maintainers{$port} = $maintainer; +} + +my $dbh = Bugzilla->dbh; +$dbh->bz_start_transaction(); +$dbh->do("DELETE from freebsd_ports_index"); +my $sth = $dbh->prepare("insert into freebsd_ports_index values (?, ?)"); +foreach my $k (keys %maintainers) { + $sth->execute($k, $maintainers{$k}); +} +$dbh->bz_commit_transaction(); Added: user/gonzo/bugzilla-freebsd/svn_in.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gonzo/bugzilla-freebsd/svn_in.pl Wed Jan 22 08:33:32 2014 (r261008) @@ -0,0 +1,284 @@ +#!/usr/local/bin/perl -w +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Inbound Email System. +# +# The Initial Developer of the Original Code is Akamai Technologies, Inc. +# Portions created by Akamai are Copyright (C) 2006 Akamai Technologies, +# Inc. All Rights Reserved. +# +# Contributor(s): Max Kanat-Alexander + +use strict; +use warnings; + +# MTAs may call this script from any directory, but it should always +# run from this one so that it can find its modules. +use Cwd qw(abs_path); +use File::Basename qw(dirname); +BEGIN { + # Untaint the abs_path. + my ($a) = abs_path($0) =~ /^(.*)$/; + chdir dirname($a); +} + +use lib qw(/usr/local/www/bugs42.freebsd.org/lib/ /usr/local/www/bugs42.freebsd.org/); + +use Data::Dumper; +use Email::Address; +use Email::Reply qw(reply); +use Email::MIME; +use Email::MIME::Attachment::Stripper; +use Getopt::Long qw(:config bundling); +use Pod::Usage; +use Encode; +use Scalar::Util qw(blessed); + +use Bugzilla; +use Bugzilla::Attachment; +use Bugzilla::Bug; +use Bugzilla::BugMail; +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Mailer; +use Bugzilla::Token; +use Bugzilla::User; +use Bugzilla::Util; +use Bugzilla::Hook; + +# $input_email is a global so that it can be used in die_handler. +our ($input_email, %switch); + +#################### +# Main Subroutines # +#################### + +sub parse_mail { + my ($mail_text) = @_; + debug_print('Parsing Email'); + $input_email = Email::MIME->new($mail_text); + + my %fields = %{ $switch{'default'} || {} }; + Bugzilla::Hook::process('email_in_before_parse', { mail => $input_email, + fields => \%fields }); + + my $body = get_body($input_email); + + # debug_print("Body:\n" . $body, 3); + + my @body_lines = split(/\r?\n/s, $body); + + my @comment_lines = (); + foreach my $l (@body_lines) { + last if ($l =~ /^Modified:.*\/.*/); + push @comment_lines, $l; + } + my $comment = join "\n", @comment_lines; + $fields{'comment'} = $comment; + if ($comment =~ /\n\s*PR:\s*(?:\w+\/)?(\d+)/) { + $fields{'bug_id'} = $1; + } + + debug_print("Parsed Fields:\n" . Dumper(\%fields), 2); + + return \%fields; +} + +###################### +# Helper Subroutines # +###################### + +sub debug_print { + my ($str, $level) = @_; + $level ||= 1; + print STDERR "$str\n" if $level <= $switch{'verbose'}; +} + +sub get_body { + my ($email) = @_; + + my $ct = $email->content_type || 'text/plain'; + debug_print("Splitting Body and Attachments [Type: $ct]..."); + + my $body; + if ($ct =~ /^multipart\/(alternative|signed)/i) { + $body = get_text_alternative($email); + } + else { + my $stripper = new Email::MIME::Attachment::Stripper( + $email, force_filename => 1); + my $message = $stripper->message; + $body = get_text_alternative($message); + } + + return $body; +} + +sub parse_fix { + my ($fix) = @_; + my $stripped_fix = ''; + my $attachments = []; + my $attachment; + my @fix_lines = split(/\r?\n/s, $fix); + foreach my $line (@fix_lines) { + if ($line =~ /^\s*--{1,8}\s?([A-Za-z0-9-_.,:%]+) (begins|starts) here\s?--+\s*/mi) { + push @$attachments, $attachment if (defined($attachment)); + $attachment = { + 'payload' => '', + 'filename' => $1, + 'content_type' => 'text/plain', + }; + } + elsif ($line =~ /^\s*--{1,8}\s?([A-Za-z0-9-_.,:%]+) ends here\s?--+\s*\n/mi) { + push @$attachments, $attachment if (defined($attachment)); + $attachment = undef; + } + elsif ($line =~ /^# This is a shell archive/) { + push @$attachments, $attachment if (defined($attachment)); + $attachment = { + 'payload' => "$line\n", + 'filename' => 'file.shar', + 'content_type' => 'application/x-shar', + }; + } + elsif (($line =~ /^exit$/) && defined($attachment) && ($attachment->{content_type} =~/x-shar/)) { + $attachment->{'payload'} .= "$line\n"; + push @$attachments, $attachment if (defined($attachment)); + $attachment = undef; + } + + elsif (defined($attachment)) { + $attachment->{'payload'} .= "$line\n"; + } + else { + $stripped_fix .= "$line\n"; + } + } + push @$attachments, $attachment if (defined($attachment)); + return ($stripped_fix, $attachments) +} + +sub get_text_alternative { + my ($email) = @_; + + my @parts = $email->parts; + my $body; + foreach my $part (@parts) { + my $ct = $part->content_type || 'text/plain'; + my $charset = 'iso-8859-1'; + # The charset may be quoted. + if ($ct =~ /charset="?([^;"]+)/) { + $charset= $1; + } + debug_print("Part Content-Type: $ct", 2); + debug_print("Part Character Encoding: $charset", 2); + if (!$ct || $ct =~ /^text\/plain/i) { + $body = $part->body; + if (Bugzilla->params->{'utf8'} && !utf8::is_utf8($body)) { + $body = Encode::decode($charset, $body); + } + last; + } + } + + if (!defined $body) { + # Note that this only happens if the email does not contain any + # text/plain parts. If the email has an empty text/plain part, + # you're fine, and this message does NOT get thrown. + ThrowUserError('email_no_text_plain'); + } + + return $body; +} + +sub html_strip { + my ($var) = @_; + # Trivial HTML tag remover (this is just for error messages, really.) + $var =~ s/<[^>]*>//g; + # And this basically reverses the Template-Toolkit html filter. + $var =~ s/\&/\&/g; + $var =~ s/\<//g; + $var =~ s/\"/\"/g; + $var =~ s/@/@/g; + # Also remove undesired newlines and consecutive spaces. + $var =~ s/[\n\s]+/ /gms; + return $var; +} + +sub die_handler { + my ($msg) = @_; + + # In Template-Toolkit, [% RETURN %] is implemented as a call to "die". + # But of course, we really don't want to actually *die* just because + # the user-error or code-error template ended. So we don't really die. + return if blessed($msg) && $msg->isa('Template::Exception') + && $msg->type eq 'return'; + + # If this is inside an eval, then we should just act like...we're + # in an eval (instead of printing the error and exiting). + die(@_) if $^S; + + # We can't depend on the MTA to send an error message, so we have + # to generate one properly. + if ($input_email) { + $msg =~ s/at .+ line.*$//ms; + $msg =~ s/^Compilation failed in require.+$//ms; + $msg = html_strip($msg); + my $from = Bugzilla->params->{'mailfrom'}; + my $reply = reply(to => $input_email, from => $from, top_post => 1, + body => "$msg\n"); + # MessageToMTA($reply->as_string); + } + print STDERR "$msg\n"; + # We exit with a successful value, because we don't want the MTA + # to *also* send a failure notice. + exit; +} + +############### +# Main Script # +############### + +$SIG{__DIE__} = \&die_handler; + +GetOptions(\%switch, 'help|h', 'verbose|v+', 'default=s%', 'override=s%'); +$switch{'verbose'} ||= 0; + +# Print the help message if that switch was selected. +pod2usage({-verbose => 0, -exitval => 1}) if $switch{'help'}; + +Bugzilla->usage_mode(USAGE_MODE_EMAIL); + +my @mail_lines = ; +my $mail_text = join("", @mail_lines); +my $mail_fields = parse_mail($mail_text); + +exit(0) unless(defined($mail_fields->{'bug_id'})); + +my $bug_id = $mail_fields->{'bug_id'}; +my $comment = $mail_fields->{'comment'}; +my $bug = Bugzilla::Bug->check($bug_id); + +my $username = 'dfilter@freebsd.org'; +my $user = Bugzilla::User->check($username); +Bugzilla->set_user($user); + +$bug->add_comment($comment); +my $dbh = Bugzilla->dbh; +$dbh->bz_start_transaction(); + +$bug->update(); +$dbh->bz_commit_transaction(); + +__END__ From owner-svn-src-user@FreeBSD.ORG Wed Jan 22 09:25:17 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 176D5490; Wed, 22 Jan 2014 09:25:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0210B129A; Wed, 22 Jan 2014 09:25:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0M9PGpB059486; Wed, 22 Jan 2014 09:25:16 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0M9PGNd059485; Wed, 22 Jan 2014 09:25:16 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201401220925.s0M9PGNd059485@svn.freebsd.org> From: Peter Holm Date: Wed, 22 Jan 2014 09:25:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261011 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jan 2014 09:25:17 -0000 Author: pho Date: Wed Jan 22 09:25:16 2014 New Revision: 261011 URL: http://svnweb.freebsd.org/changeset/base/261011 Log: Added test scenario that triggers the "panic: softdep_deallocate_dependencies: dangling deps" Sponsored by: EMC / Isilon storage division Added: user/pho/stress2/misc/dangling.sh (contents, props changed) Added: user/pho/stress2/misc/dangling.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/dangling.sh Wed Jan 22 09:25:16 2014 (r261011) @@ -0,0 +1,85 @@ +#!/bin/sh + +# +# Copyright (c) 2014 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +# "panic: softdep_deallocate_dependencies: dangling deps" seen. +# "panic: softdep_write_inodeblock: indirect pointer #0 mismatch" seen. +# http://people.freebsd.org/~pho/stress/log/dangling.txt +# http://people.freebsd.org/~pho/stress/log/dangling2.txt + +# Test scenario seems optimized for 4 CPUs. + +. ../default.cfg + + +mount | grep $mntpoint | grep -q /dev/md && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart + +mdconfig -a -t swap -s 4g -u $mdstart || exit 1 +bsdlabel -w md$mdstart auto +newfs $newfs_flags md${mdstart}$part > /dev/null +mount /dev/md${mdstart}$part $mntpoint +chmod 777 $mntpoint + +export runRUNTIME=4m +export RUNDIR=$mntpoint/stressX +set `df -ik /mnt | tail -1 | awk '{print $4,$7}'` +export KBLOCKS=$(($1 / 4)) +export INODES=$(($2 / 4)) + +export symlinkHOG=1 +export rwHOG=1 +export mkdirHOG=1 + +export LOAD=100 +export symlinkLOAD=100 +export rwLOAD=100 +export mkdirLOAD=100 +export TESTPROGS=" +testcases/symlink/symlink +testcases/fts/fts +testcases/mkdir/mkdir +testcases/rw/rw +" + +for i in `jot 10`; do + su $testuser -c 'cd ..; ./testcases/run/run $TESTPROGS' > \ + /dev/null 2>&1 & + sleep 60 + kill $! + ../tools/killall.sh > /dev/null 2>&1 + ../tools/killall.sh > /dev/null 2>&1 +done + +while mount | grep $mntpoint | grep -q /dev/md; do + umount $mntpoint || sleep 1 +done +mdconfig -d -u $mdstart From owner-svn-src-user@FreeBSD.ORG Wed Jan 22 09:27:58 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EE90C594; Wed, 22 Jan 2014 09:27:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DBAF212B0; Wed, 22 Jan 2014 09:27:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0M9RwNM059775; Wed, 22 Jan 2014 09:27:58 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0M9Rwuo059774; Wed, 22 Jan 2014 09:27:58 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201401220927.s0M9Rwuo059774@svn.freebsd.org> From: Peter Holm Date: Wed, 22 Jan 2014 09:27:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261012 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jan 2014 09:27:59 -0000 Author: pho Date: Wed Jan 22 09:27:58 2014 New Revision: 261012 URL: http://svnweb.freebsd.org/changeset/base/261012 Log: Added the option of an external filter script for syscall tests. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/syscall5.sh Modified: user/pho/stress2/misc/syscall5.sh ============================================================================== --- user/pho/stress2/misc/syscall5.sh Wed Jan 22 09:25:16 2014 (r261011) +++ user/pho/stress2/misc/syscall5.sh Wed Jan 22 09:27:58 2014 (r261012) @@ -82,6 +82,11 @@ while [ $n -gt 0 ]; do name=`grep -w $n /usr/include/sys/syscall.h | awk '{print $2}' | sed 's/SYS_//'` [ -z "$name" ] && name="unknown" + if [ -x ../tools/exclude_syscall.sh ]; then + name=`../tools/exclude_syscall.sh $n` + [ $name = "Excluded" ] && + { n=$((n - 1)); continue; } + fi echo "`date '+%T'` syscall $n ($name)" | tee /dev/tty >> ./syscall5.log printf "`date '+%T'` syscall $n ($name)\r\n" > /dev/console From owner-svn-src-user@FreeBSD.ORG Wed Jan 22 09:30:36 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ADD996EC; Wed, 22 Jan 2014 09:30:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9AF4512CF; Wed, 22 Jan 2014 09:30:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0M9UaNp061109; Wed, 22 Jan 2014 09:30:36 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0M9Ua3K061108; Wed, 22 Jan 2014 09:30:36 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201401220930.s0M9Ua3K061108@svn.freebsd.org> From: Peter Holm Date: Wed, 22 Jan 2014 09:30:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261013 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jan 2014 09:30:36 -0000 Author: pho Date: Wed Jan 22 09:30:36 2014 New Revision: 261013 URL: http://svnweb.freebsd.org/changeset/base/261013 Log: Only run ipcrm(1) for the user "nobody". Exclude thr_create() from tests. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/syscall4.sh Modified: user/pho/stress2/misc/syscall4.sh ============================================================================== --- user/pho/stress2/misc/syscall4.sh Wed Jan 22 09:27:58 2014 (r261012) +++ user/pho/stress2/misc/syscall4.sh Wed Jan 22 09:30:36 2014 (r261013) @@ -73,7 +73,8 @@ while [ $((`date '+%s'` - st)) -lt $((10 killall $q -9 syscall4 fi wait - ipcs | awk '/^(q|m|s)/ {print " -" $1, $2}' | xargs -L 1 ipcrm + ipcs | grep nobody | awk '/^(q|m|s)/ {print " -" $1, $2}' | + xargs -L 1 ipcrm done killall $q -9 syscall4 ps aux | grep -v grep | egrep "syscall4" | egrep -v "\.sh" && @@ -132,6 +133,7 @@ static int ignore[] = { SYS_sigtimedwait, SYS_sigwaitinfo, #if __FreeBSD_version < 804500 + SYS_thr_create, SYS_thr_new, #endif #if __FreeBSD_version >= 900041 From owner-svn-src-user@FreeBSD.ORG Fri Jan 24 22:13:00 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 42EBE853; Fri, 24 Jan 2014 22:13:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 2445E1E9F; Fri, 24 Jan 2014 22:13:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0OMD06t055086; Fri, 24 Jan 2014 22:13:00 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0OMCx8d055076; Fri, 24 Jan 2014 22:12:59 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401242212.s0OMCx8d055076@svn.freebsd.org> From: Glen Barber Date: Fri, 24 Jan 2014 22:12:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261139 - in user/gjb/hacking/release-embedded/release: arm tools/arm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jan 2014 22:13:00 -0000 Author: gjb Date: Fri Jan 24 22:12:59 2014 New Revision: 261139 URL: http://svnweb.freebsd.org/changeset/base/261139 Log: Add initial support for building arm BEAGLEBONE images. - In arm/release.sh: - Move crochet work directory creation to occur earlier, since its parent directory is needed to store a fetched u-boot version. - Add a before_build() function as a quick hack to run board-specific (kernel configuration specific, really) commands, if any. - For the BEAGLEBONE kernel, a specific version of u-boot source is needed. Fetch the source in before_build() for this case. Unfortunately, there are no checksums available (that I can find) for these sources. For a quick solution, add the hard-coded sha256 of the tarball, and fetch from my public_html/ directory. A more permanent solution for this needs to be found. Add initial release.sh and crochet configuration files for the BEAGLEBONE build. Sponsored by: The FreeBSD Foundation Added: user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf (contents, props changed) user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf (contents, props changed) Modified: user/gjb/hacking/release-embedded/release/arm/release.sh Added: user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf Fri Jan 24 22:12:59 2014 (r261139) @@ -0,0 +1,36 @@ +# +# $FreeBSD$ +# + +# This is only supported on amd64 right now. It may work on +# i386, but I do not have the hardware to test, so until I get +# a VM set up to make sure, be cautious and assume it will not. +if [ "$(uname -p)" != "amd64" ] || [ "$(uname -m)" != "amd64" ]; then + echo "This is only supported on amd64 right now." + exit 0 +fi + +# Build chroot configuration +TARGET="amd64" +TARGET_ARCH="amd64" +SVNROOT="svn://svn.FreeBSD.org" +SRCBRANCH="base/head@rHEAD" +DOCBRANCH="doc/head@rHEAD" +PORTBRANCH="ports/head@rHEAD" +EMBEDDED_WORLD_FLAGS="WITH_GCC=1" +NODOC=yes + +# Build target configuration +# Since this file is sourced by a script that runs another +# script, these must be exported. +set -a +CHROOTDIR="/scratch" +EMBEDDEDBUILD=1 +EMBEDDEDPORTS="lang/python textproc/gsed" +XDEV="arm" +XDEV_ARCH="arm" +KERNEL="BEAGLEBONE" +CROCHETSRC="https://github.com/kientzle/crochet-freebsd" +CROCHETBRANCH="trunk" +set +a + Modified: user/gjb/hacking/release-embedded/release/arm/release.sh ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/release.sh Fri Jan 24 21:05:07 2014 (r261138) +++ user/gjb/hacking/release-embedded/release/arm/release.sh Fri Jan 24 22:12:59 2014 (r261139) @@ -10,6 +10,26 @@ set -e +before_build() { + case ${KERNEL} in + BEAGLEBONE) + KNOWNHASH="4150e5a4480707c55a8d5b4570262e43af68d8ed3bdc0a433d8e7df47989a69e" + chroot ${CHROOTDIR} fetch -o /tmp/crochet/u-boot-2013.04.tar.bz2 \ + http://people.freebsd.org/~gjb/u-boot-2013.04.tar.bz2 + UBOOT_HASH="$(sha256 -q ${CHROOTDIR}/tmp/crochet/u-boot-2013.04.tar.bz2)" + if [ "${UBOOT_HASH}" != "${KNOWNHASH}" ]; then + echo "Checksum mismatch! Exiting now." + exit 1 + fi + chroot ${CHROOTDIR} tar xf /tmp/crochet/u-boot-2013.04.tar.bz2 \ + -C /tmp/crochet/ + ;; + *) + # Fallthrough. + ;; + esac +} + install_crochet() { chroot ${CHROOTDIR} svn co -q ${CROCHETSRC}/${CROCHETBRANCH} \ /tmp/crochet @@ -46,9 +66,10 @@ main() { BATCH=1 FORCE_PKG_REGISTER=1 install clean distclean done + mkdir -p ${CHROOTDIR}/tmp/crochet/work + before_build install_crochet install_uboot - mkdir -p ${CHROOTDIR}/tmp/crochet/work eval chroot ${CHROOTDIR} /bin/sh /tmp/crochet/crochet.sh \ -c /tmp/external/${XDEV}/crochet-${KERNEL}.conf } Added: user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf Fri Jan 24 22:12:59 2014 (r261139) @@ -0,0 +1,27 @@ +# +# $FreeBSD$ +# + +# This is the configuration file for use with crochet to produce +# FreeBSD BeagleBone images. + +board_setup BeagleBone +option ImageSize 1gb +option AutoSize + +export MAKEOBJDIRPREFIX=/usr/obj +FREEBSD_SRC=/usr/src +__MAKE_CONF=/dev/null +SRCCONF=/dev/null +WORKDIR=/usr/obj +_BRANCH=$(make -C ${FREEBSD_SRC}/release -V BRANCH) +_REVISION=$(make -C ${FREEBSD_SRC}/release -V REVISION) +KERNCONF=BEAGLEBONE +FREEBSD_BUILDWORLD_EXTRA_ARGS="" +FREEBSD_INSTALLWORLD_EXTRA_ARGS="" +FREEBSD_BUILDKERNEL_EXTRA_ARGS="" +FREEBSD_INSTALLKERNEL_EXTRA_ARGS="" +FREEBSD_WORLD_EXTRA_ARGS="" +FREEBSD_KERNEL_EXTRA_ARGS="" +FREEBSD_EXTRA_ARGS="" +IMG=${WORKDIR}/FreeBSD-${_REVISION}-${_BRANCH}-${KERNCONF}.img From owner-svn-src-user@FreeBSD.ORG Sat Jan 25 09:07:55 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EE5E53AE; Sat, 25 Jan 2014 09:07:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DAE931E3F; Sat, 25 Jan 2014 09:07:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0P97tWA015597; Sat, 25 Jan 2014 09:07:55 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0P97tkT015595; Sat, 25 Jan 2014 09:07:55 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401250907.s0P97tkT015595@svn.freebsd.org> From: Glen Barber Date: Sat, 25 Jan 2014 09:07:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261152 - in user/gjb/hacking/release-embedded/release: arm tools/arm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 09:07:56 -0000 Author: gjb Date: Sat Jan 25 09:07:55 2014 New Revision: 261152 URL: http://svnweb.freebsd.org/changeset/base/261152 Log: Explicitly set XDEV_ARCH and TARGET_ARCH to 'armv6', which resolves boot-time issues when building 10.0-RELEASE images. Sponsored by: The FreeBSD Foundation Modified: user/gjb/hacking/release-embedded/release/arm/RPI-B.conf user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf Modified: user/gjb/hacking/release-embedded/release/arm/RPI-B.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/RPI-B.conf Sat Jan 25 07:35:09 2014 (r261151) +++ user/gjb/hacking/release-embedded/release/arm/RPI-B.conf Sat Jan 25 09:07:55 2014 (r261152) @@ -28,7 +28,7 @@ CHROOTDIR="/scratch" EMBEDDEDBUILD=1 EMBEDDEDPORTS="lang/python textproc/gsed" XDEV="arm" -XDEV_ARCH="arm" +XDEV_ARCH="armv6" KERNEL="RPI-B" CROCHETSRC="https://github.com/kientzle/crochet-freebsd" CROCHETBRANCH="trunk" Modified: user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf Sat Jan 25 07:35:09 2014 (r261151) +++ user/gjb/hacking/release-embedded/release/tools/arm/crochet-RPI-B.conf Sat Jan 25 09:07:55 2014 (r261152) @@ -17,6 +17,8 @@ WORKDIR=/usr/obj _BRANCH=$(make -C ${FREEBSD_SRC}/release -V BRANCH) _REVISION=$(make -C ${FREEBSD_SRC}/release -V REVISION) KERNCONF=RPI-B +TARGET=arm +TARGET_ARCH=armv6 FREEBSD_BUILDWORLD_EXTRA_ARGS="" FREEBSD_INSTALLWORLD_EXTRA_ARGS="" FREEBSD_BUILDKERNEL_EXTRA_ARGS="" From owner-svn-src-user@FreeBSD.ORG Sat Jan 25 23:59:21 2014 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2C239EE4; Sat, 25 Jan 2014 23:59:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 17B28137F; Sat, 25 Jan 2014 23:59:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0PNxKPD089498; Sat, 25 Jan 2014 23:59:20 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0PNxK5m089496; Sat, 25 Jan 2014 23:59:20 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401252359.s0PNxK5m089496@svn.freebsd.org> From: Glen Barber Date: Sat, 25 Jan 2014 23:59:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r261174 - in user/gjb/hacking/release-embedded/release: arm tools/arm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Jan 2014 23:59:21 -0000 Author: gjb Date: Sat Jan 25 23:59:20 2014 New Revision: 261174 URL: http://svnweb.freebsd.org/changeset/base/261174 Log: Fix TARGET_ARCH and XDEV_ARCH for BEAGLEBONE, should be arm/armv6. Sponsored by: The FreeBSD Foundation Modified: user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf Modified: user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf Sat Jan 25 22:50:42 2014 (r261173) +++ user/gjb/hacking/release-embedded/release/arm/BEAGLEBONE.conf Sat Jan 25 23:59:20 2014 (r261174) @@ -28,7 +28,7 @@ CHROOTDIR="/scratch" EMBEDDEDBUILD=1 EMBEDDEDPORTS="lang/python textproc/gsed" XDEV="arm" -XDEV_ARCH="arm" +XDEV_ARCH="armv6" KERNEL="BEAGLEBONE" CROCHETSRC="https://github.com/kientzle/crochet-freebsd" CROCHETBRANCH="trunk" Modified: user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf ============================================================================== --- user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf Sat Jan 25 22:50:42 2014 (r261173) +++ user/gjb/hacking/release-embedded/release/tools/arm/crochet-BEAGLEBONE.conf Sat Jan 25 23:59:20 2014 (r261174) @@ -17,6 +17,8 @@ WORKDIR=/usr/obj _BRANCH=$(make -C ${FREEBSD_SRC}/release -V BRANCH) _REVISION=$(make -C ${FREEBSD_SRC}/release -V REVISION) KERNCONF=BEAGLEBONE +TARGET=arm +TARGET_ARCH=armv6 FREEBSD_BUILDWORLD_EXTRA_ARGS="" FREEBSD_INSTALLWORLD_EXTRA_ARGS="" FREEBSD_BUILDKERNEL_EXTRA_ARGS=""