From owner-svn-src-vendor@FreeBSD.ORG Sun May 19 16:45:17 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B3855DFE; Sun, 19 May 2013 16:45:17 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 94B0EFE3; Sun, 19 May 2013 16:45:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4JGjHQS046230; Sun, 19 May 2013 16:45:17 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4JGjHMv046229; Sun, 19 May 2013 16:45:17 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201305191645.r4JGjHMv046229@svn.freebsd.org> From: "Simon J. Gerraty" Date: Sun, 19 May 2013 16:45:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r250811 - vendor/NetBSD/bmake X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 May 2013 16:45:17 -0000 Author: sjg Date: Sun May 19 16:45:17 2013 New Revision: 250811 URL: http://svnweb.freebsd.org/changeset/base/250811 Log: Automate import dance Modified: vendor/NetBSD/bmake/do-update.sh Modified: vendor/NetBSD/bmake/do-update.sh ============================================================================== --- vendor/NetBSD/bmake/do-update.sh Sun May 19 16:25:09 2013 (r250810) +++ vendor/NetBSD/bmake/do-update.sh Sun May 19 16:45:17 2013 (r250811) @@ -8,7 +8,6 @@ ECHO= SVN=${SVN:-/usr/local/bin/svn} SITE=${SITE:-ftp://ftp.netbsd.org/pub/NetBSD/misc/sjg} - # For consistency... Error() { echo ERROR: ${1+"$@"} >&2 @@ -56,51 +55,31 @@ option_parsing() { return $(($_shift - $#)) } -# Call this function after all argument parsing has been done. -sanity_checks() { - # Do we have a working Subversion client? - ${SVN} --version -q >/dev/null || \ - Error "Cannot find a working subversion client." - - # Verify that a PR number and reviewer(s) were specified on the - # command line. - [ "$VERSION" ] || Error "We will a version \"number\" (can be a string). Use VERSION=." - # Need one (and only one) of ${url} or ${TARBALL} set. - [ "${url:-$TARBALL}" -a "${url:-$TARBALL}" != "${TARBALL:-$url}" ] && Error "Please set either \"url\" or \"TARBALL\" (not both) in your import script." - [ -d dist ] || Error "The directory dist/ does not exist." -} - ### option_parsing "$@" shift $? -sanity_checks -fetch $SITE/bmake-${VERSION}.tar.gz.sha1 -fetch $SITE/bmake-${VERSION}.tar.gz +Cd `dirname $0` +test -s ${TARBALL:-/dev/null} || Error need TARBALL +rm -rf bmake +TF=/tmp/.$USER.$$ -HAVE=`sha1 bmake-${VERSION}.tar.gz` -WANT=`cat bmake-${VERSION}.tar.gz.sha1` -if [ x"$HAVE" != x"$WANT" ]; then - Error "Fetched distfile does not have the expected SHA1 hash." -fi - -tar xf bmake-${VERSION}.tar.gz +tar zxf $TARBALL +MAKE_VERSION=`grep '^MAKE_VERSION' bmake/Makefile | sed 's,.*=[[:space:]]*,,'` rm -rf bmake/missing - -svn-vendorimport.sh bmake dist -${SVN} stat dist - -rm -f bmake-${VERSION}.tar.gz bmake-${VERSION}.tar.gz.sha1 - -echo "Import the ${VERSION} release of the \"Portable\" BSD make tool (from NetBSD). - -Submitted by: Simon Gerraty " > /tmp/commit-log - -${ECHO} ${SVN} ci -F /tmp/commit-log dist - -SVNURL=$(${SVN} info | grep URL: | awk '{print $2}') - -${ECHO} ${SVN} copy \ - -m "\"Tag\" the ${VERSION} Portable BSD make import." \ - ${SVNURL}/dist ${SVNURL}/${VERSION} +('cd' dist && $SVN list -R) | grep -v '/$' | sort > $TF.old +('cd' bmake && find . -type f ) | cut -c 3- | sort > $TF.new +comm -23 $TF.old $TF.new > $TF.rmlist +comm -13 $TF.old $TF.new > $TF.addlist +[ -s $TF.rmlist ] && { echo rm:; cat $TF.rmlist; } +[ -s $TF.addlist ] && { echo add:; cat $TF.addlist; } +('cd' bmake && tar cf - . | tar xf - -C ../dist) +('cd' dist +test -s $TF.rmlist && xargs $SVN rm < $TF.rmlist +test -s $TF.addlist && xargs $SVN --parents add < $TF.addlist +) + +url=`$SVN info | sed -n '/URL:/s,URL: ,,p'` +echo After committing dist... +echo $SVN cp $url/dist $url/$MAKE_VERSION From owner-svn-src-vendor@FreeBSD.ORG Mon May 20 22:35:36 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E7534948; Mon, 20 May 2013 22:35:35 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D6D8EB62; Mon, 20 May 2013 22:35:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4KMZZ1d081865; Mon, 20 May 2013 22:35:35 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4KMZWBH081842; Mon, 20 May 2013 22:35:32 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201305202235.r4KMZWBH081842@svn.freebsd.org> From: "Simon J. Gerraty" Date: Mon, 20 May 2013 22:35:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r250835 - in vendor/NetBSD/bmake/dist: . mk X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 May 2013 22:35:36 -0000 Author: sjg Date: Mon May 20 22:35:32 2013 New Revision: 250835 URL: http://svnweb.freebsd.org/changeset/base/250835 Log: Import bmake-20130520 to keep us in sync. Added: vendor/NetBSD/bmake/dist/mk/stage-install.sh (contents, props changed) Modified: vendor/NetBSD/bmake/dist/ChangeLog vendor/NetBSD/bmake/dist/FILES vendor/NetBSD/bmake/dist/Makefile vendor/NetBSD/bmake/dist/meta.c vendor/NetBSD/bmake/dist/mk/ChangeLog vendor/NetBSD/bmake/dist/mk/FILES vendor/NetBSD/bmake/dist/mk/gendirdeps.mk vendor/NetBSD/bmake/dist/mk/install-mk vendor/NetBSD/bmake/dist/mk/meta.stage.mk vendor/NetBSD/bmake/dist/mk/meta2deps.py vendor/NetBSD/bmake/dist/mk/meta2deps.sh vendor/NetBSD/bmake/dist/mk/options.mk vendor/NetBSD/bmake/dist/mk/progs.mk vendor/NetBSD/bmake/dist/suff.c vendor/NetBSD/bmake/dist/var.c Modified: vendor/NetBSD/bmake/dist/ChangeLog ============================================================================== --- vendor/NetBSD/bmake/dist/ChangeLog Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/ChangeLog Mon May 20 22:35:32 2013 (r250835) @@ -1,3 +1,17 @@ +2013-05-20 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20130520 + generate manifest from component FILES rather than have to + update FILES when mk/FILES changes. + +2013-05-18 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20130518 + Merge with NetBSD make, pick up + o suff.c: don't skip all processsing for .PHONY targets + else wildcard srcs do not get expanded. + o var.c: expand name of variable to delete if necessary. + 2013-03-30 Simon J. Gerraty * Makefile (MAKE_VERSION): 20130330 Modified: vendor/NetBSD/bmake/dist/FILES ============================================================================== --- vendor/NetBSD/bmake/dist/FILES Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/FILES Mon May 20 22:35:32 2013 (r250835) @@ -1,29 +1,26 @@ -FILES ChangeLog -bmake.cat1 -boot-strap -bsd.after-import.mk -os.sh -makefile.in +FILES Makefile Makefile.config.in PSD.doc/Makefile PSD.doc/tutorial.ms README +aclocal.m4 arch.c +bmake.1 +bmake.cat1 +boot-strap +bsd.after-import.mk buf.c buf.h compat.c cond.c -make-conf.h -make_malloc.c -make_malloc.h config.h.in configure -aclocal.m4 configure.in dir.c dir.h +dirname.c find_lib.sh for.c getopt.c @@ -32,16 +29,6 @@ hash.h install-sh job.c job.h -meta.c -meta.h -dirname.c -realpath.c -strlcpy.c -strlist.c -strlist.h -stresep.c -trace.c -trace.h lst.h lst.lib/Makefile lst.lib/lstAppend.c @@ -74,26 +61,36 @@ lst.lib/lstReplace.c lst.lib/lstSucc.c machine.sh main.c +make-bootstrap.sh.in +make-conf.h make.1 -bmake.1 make.c make.h -make-bootstrap.sh.in +make_malloc.c +make_malloc.h +makefile.in +meta.c +meta.h missing/sys/cdefs.h mkdeps.sh nonints.h +os.sh parse.c pathnames.h ranlib.h +realpath.c setenv.c sigcompat.c sprite.h str.c +stresep.c +strlcpy.c +strlist.c +strlist.h suff.c targ.c -util.c -var.c -wait.h +trace.c +trace.h unit-tests/Makefile.in unit-tests/comment unit-tests/cond1 @@ -123,63 +120,6 @@ unit-tests/test.exp unit-tests/unexport unit-tests/unexport-env unit-tests/varcmd -mk/ChangeLog -mk/FILES -mk/README -mk/auto.obj.mk -mk/autoconf.mk -mk/autodep.mk -mk/auto.dep.mk -mk/dep.mk -mk/doc.mk -mk/dpadd.mk -mk/final.mk -mk/host-target.mk -mk/host.libnames.mk -mk/inc.mk -mk/init.mk -mk/install-mk -mk/java.mk -mk/lib.mk -mk/libnames.mk -mk/libs.mk -mk/links.mk -mk/man.mk -mk/mk-files.txt -mk/nls.mk -mk/obj.mk -mk/options.mk -mk/own.mk -mk/prlist.mk -mk/prog.mk -mk/progs.mk -mk/rst2htm.mk -mk/scripts.mk -mk/srctop.mk -mk/subdir.mk -mk/sys.mk -mk/sys.clean-env.mk -mk/sys.dependfile.mk -mk/sys/AIX.mk -mk/sys/Darwin.mk -mk/sys/Generic.mk -mk/sys/HP-UX.mk -mk/sys/IRIX.mk -mk/sys/Linux.mk -mk/sys/NetBSD.mk -mk/sys/OSF1.mk -mk/sys/OpenBSD.mk -mk/sys/SunOS.mk -mk/sys/UnixWare.mk -mk/target-flags.mk -mk/warnings.mk -mk/yacc.mk -mk/dirdeps.mk -mk/gendirdeps.mk -mk/install-new.mk -mk/meta2deps.py -mk/meta2deps.sh -mk/meta.sys.mk -mk/meta.autodep.mk -mk/meta.stage.mk -mk/meta.subdir.mk +util.c +var.c +wait.h Modified: vendor/NetBSD/bmake/dist/Makefile ============================================================================== --- vendor/NetBSD/bmake/dist/Makefile Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/Makefile Mon May 20 22:35:32 2013 (r250835) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.10 2013/03/31 05:57:19 sjg Exp $ +# $Id: Makefile,v 1.12 2013/05/20 16:05:10 sjg Exp $ # Base version on src date -MAKE_VERSION= 20130330 +MAKE_VERSION= 20130520 PROG= bmake Modified: vendor/NetBSD/bmake/dist/meta.c ============================================================================== --- vendor/NetBSD/bmake/dist/meta.c Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/meta.c Mon May 20 22:35:32 2013 (r250835) @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.29 2013/03/31 05:49:51 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.30 2013/05/16 21:56:56 sjg Exp $ */ /* * Implement 'meta' mode. @@ -543,7 +543,7 @@ boolValue(char *s) * Initialization we need before reading makefiles. */ void -meta_init() +meta_init(void) { #ifdef USE_FILEMON /* this allows makefiles to test if we have filemon support */ Modified: vendor/NetBSD/bmake/dist/mk/ChangeLog ============================================================================== --- vendor/NetBSD/bmake/dist/mk/ChangeLog Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/ChangeLog Mon May 20 22:35:32 2013 (r250835) @@ -1,3 +1,23 @@ +2013-05-10 Simon J. Gerraty + + * install-mk (MK_VERSION): 20130505 + * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC + for when $MACHINE isn't enough for objdir distinction. + Bring meta2deps.sh closer to par with meta2deps.py. + +2013-04-18 Simon J. Gerraty + + * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' + also if the target 'beforeinstall' exists, make it depend on + .dirdep (incase it uses STAGE_INSTALL). + +2013-04-17 Simon J. Gerraty + + * install-mk (MK_VERSION): 20130401 ;-) + * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as + wrapper around install(1). + * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ + 2013-03-30 Simon J. Gerraty * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. Modified: vendor/NetBSD/bmake/dist/mk/FILES ============================================================================== --- vendor/NetBSD/bmake/dist/mk/FILES Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/FILES Mon May 20 22:35:32 2013 (r250835) @@ -31,6 +31,7 @@ progs.mk rst2htm.mk scripts.mk srctop.mk +stage-install.sh subdir.mk sys.mk sys.clean-env.mk Modified: vendor/NetBSD/bmake/dist/mk/gendirdeps.mk ============================================================================== --- vendor/NetBSD/bmake/dist/mk/gendirdeps.mk Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/gendirdeps.mk Mon May 20 22:35:32 2013 (r250835) @@ -1,4 +1,4 @@ -# $Id: gendirdeps.mk,v 1.21 2013/03/28 20:01:05 sjg Exp $ +# $Id: gendirdeps.mk,v 1.22 2013/05/11 05:16:26 sjg Exp $ # Copyright (c) 2010-2013, Juniper Networks, Inc. # All rights reserved. @@ -111,13 +111,24 @@ _py_d = .if ${META2DEPS:E} == "py" # we can afford to do this all the time. DPDEPS ?= no -META2DEPS_CMD = ${_time} ${PYTHON} ${META2DEPS} ${_py_d} \ - -R ${RELDIR} -H ${HOST_TARGET} \ - ${M2D_OBJROOTS:O:u:@o@-O $o@} - +META2DEPS_CMD = ${_time} ${PYTHON} ${META2DEPS} ${_py_d} .if ${DPDEPS:tl} != "no" META2DEPS_CMD += -D ${DPDEPS} .endif +META2DEPS_FILTER = sed 's,^src:,${SRCTOP}/,;s,^\([^/]\),${OBJTOP}/\1,' | +.elif ${META2DEPS:E} == "sh" +META2DEPS_CMD = ${_time} ${_sh_x} ${META2DEPS} OBJTOP=${_OBJTOP} +.else +META2DEPS_CMD ?= ${META2DEPS} +.endif + +.if ${TARGET_OBJ_SPEC:U${MACHINE}} != ${MACHINE} +META2DEPS_CMD += -T ${TARGET_OBJ_SPEC} +.endif +META2DEPS_CMD += \ + -R ${RELDIR} -H ${HOST_TARGET} \ + ${M2D_OBJROOTS:O:u:@o@-O $o@} + M2D_OBJROOTS += ${OBJTOP} ${_OBJROOT} ${_objroot} .if defined(SB_OBJROOT) @@ -133,13 +144,6 @@ META2DEPS_ARGS += MACHINE=none META2DEPS_CMD += -S ${SB_BACKING_SB}/src M2D_OBJROOTS += ${SB_BACKING_SB}/${SB_OBJPREFIX} .endif -META2DEPS_FILTER = sed 's,^src:,${SRCTOP}/,;s,^\([^/]\),${OBJTOP}/\1,' | -.elif ${META2DEPS:E} == "sh" -META2DEPS_CMD = ${_time} ${_sh_x} ${META2DEPS} \ - OBJTOP=${_objtop} SB_OBJROOT=${_objroot} -.else -META2DEPS_CMD ?= ${META2DEPS} -.endif # we are only interested in the dirs # sepecifically those we read something from. Modified: vendor/NetBSD/bmake/dist/mk/install-mk ============================================================================== --- vendor/NetBSD/bmake/dist/mk/install-mk Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/install-mk Mon May 20 22:35:32 2013 (r250835) @@ -55,7 +55,7 @@ # Simon J. Gerraty # RCSid: -# $Id: install-mk,v 1.88 2013/03/31 22:31:59 sjg Exp $ +# $Id: install-mk,v 1.90 2013/05/11 05:16:26 sjg Exp $ # # @(#) Copyright (c) 1994 Simon J. Gerraty # @@ -70,7 +70,7 @@ # sjg@crufty.net # -MK_VERSION=20130330 +MK_VERSION=20130505 OWNER= GROUP= MODE=444 Modified: vendor/NetBSD/bmake/dist/mk/meta.stage.mk ============================================================================== --- vendor/NetBSD/bmake/dist/mk/meta.stage.mk Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/meta.stage.mk Mon May 20 22:35:32 2013 (r250835) @@ -1,4 +1,4 @@ -# $Id: meta.stage.mk,v 1.24 2013/03/23 02:25:19 sjg Exp $ +# $Id: meta.stage.mk,v 1.30 2013/04/19 16:32:57 sjg Exp $ # # @(#) Copyright (c) 2011, Simon J. Gerraty # @@ -228,4 +228,17 @@ STAGING_WAIT ?= .WAIT all: ${STAGING_WAIT} staging +.if exists(${.PARSEDIR}/stage-install.sh) && !defined(STAGE_INSTALL) +# this will run install(1) and then followup with .dirdep files. +STAGE_INSTALL := sh ${.PARSEDIR:tA}/stage-install.sh INSTALL="${INSTALL}" OBJDIR=${.OBJDIR:tA} +.endif + +# if ${INSTALL} gets run during 'all' assume it is for staging? +.if ${.TARGETS:Nall} == "" && defined(STAGE_INSTALL) +INSTALL := ${STAGE_INSTALL} +.if target(beforeinstall) +beforeinstall: .dirdep +.endif +.endif + .endif Modified: vendor/NetBSD/bmake/dist/mk/meta2deps.py ============================================================================== --- vendor/NetBSD/bmake/dist/mk/meta2deps.py Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/meta2deps.py Mon May 20 22:35:32 2013 (r250835) @@ -35,7 +35,7 @@ We only pay attention to a subset of the """ RCSid: - $Id: meta2deps.py,v 1.12 2013/03/31 22:31:59 sjg Exp $ + $Id: meta2deps.py,v 1.13 2013/05/11 05:16:26 sjg Exp $ Copyright (c) 2011-2013, Juniper Networks, Inc. All rights reserved. @@ -124,6 +124,12 @@ def sort_unique(list, cmp=None, key=None nl.append(e) return nl +def add_trims(x): + return ['/' + x + '/', + '/' + x, + x + '/', + x] + class MetaFile: """class to parse meta files generated by bmake.""" @@ -152,6 +158,9 @@ class MetaFile: set to 'none' if we are not cross-building. More specifically if machine cannot be deduced from objdirs. + TARGET_SPEC + Sometimes MACHINE isn't enough. + HOST_TARGET when we build for the psuedo machine 'host' the object tree uses HOST_TARGET rather than MACHINE. @@ -177,6 +186,8 @@ class MetaFile: self.debug_out = getv(conf, 'debug_out', sys.stderr) self.machine = getv(conf, 'MACHINE', '') + self.machine_arch = getv(conf, 'MACHINE_ARCH', '') + self.target_spec = getv(conf, 'TARGET_SPEC', '') self.curdir = getv(conf, 'CURDIR') self.reldir = getv(conf, 'RELDIR') self.dpdeps = getv(conf, 'DPDEPS') @@ -196,16 +207,11 @@ class MetaFile: if not _srctop in self.srctops: self.srctops.append(_srctop) - trim_list = ['/' + self.machine + '/', - '/' + self.machine, - self.machine + '/', - self.machine] - + trim_list = add_trims(self.machine) if self.machine == 'host': - trim_list += ['/' + self.host_target + '/', - '/' + self.host_target, - self.host_target + '/', - self.host_target] + trim_list += add_trims(self.host_target) + if self.target_spec: + trim_list += add_trims(self.target_spec) for objroot in getv(conf, 'OBJROOTS', []): for e in trim_list: @@ -303,6 +309,8 @@ class MetaFile: print >> self.debug_out, "found %s: %s\n" % (ddepf, ddep) if ddep.endswith(self.machine): ddep = ddep[0:-(1+len(self.machine))] + elif self.target_spec and ddep.endswith(self.target_spec): + ddep = ddep[0:-(1+len(self.target_spec))] if not ddep: # no .dirdeps, so remember that we've seen the raw input @@ -520,6 +528,8 @@ def main(argv, klass=MetaFile, xopts='', -m "MACHINE" + -a "MACHINE_ARCH" + -H "HOST_TARGET" -D "DPDEPS" @@ -548,6 +558,9 @@ def main(argv, klass=MetaFile, xopts='', machine = os.environ['MACHINE'] if machine: conf['MACHINE'] = machine + machine_arch = os.environ['MACHINE_ARCH'] + if machine_arch: + conf['MACHINE_ARCH'] = machine_arch srctop = os.environ['SB_SRC'] if srctop: conf['SRCTOPS'].append(srctop) @@ -560,9 +573,11 @@ def main(argv, klass=MetaFile, xopts='', debug = 0 output = True - opts, args = getopt.getopt(argv[1:], 'dS:C:O:R:m:D:H:q' + xopts) + opts, args = getopt.getopt(argv[1:], 'a:dS:C:O:R:m:D:H:qT:' + xopts) for o, a in opts: - if o == '-d': + if o == '-a': + conf['MACHINE_ARCH'] = a + elif o == '-d': debug += 1 elif o == '-q': output = False @@ -582,6 +597,8 @@ def main(argv, klass=MetaFile, xopts='', conf['DPDEPS'] = a elif o == '-m': conf['MACHINE'] = a + elif o == '-T': + conf['TARGET_SPEC'] = a elif xoptf: xoptf(o, a, conf) Modified: vendor/NetBSD/bmake/dist/mk/meta2deps.sh ============================================================================== --- vendor/NetBSD/bmake/dist/mk/meta2deps.sh Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/meta2deps.sh Mon May 20 22:35:32 2013 (r250835) @@ -49,8 +49,8 @@ # The output, is a set of absolute paths with "SB" like: #.nf # -# $SB/obj-i386/junos/gnu/lib/csu -# $SB/obj-i386/junos/gnu/lib/libgcc +# $SB/obj-i386/bsd/gnu/lib/csu +# $SB/obj-i386/bsd/gnu/lib/libgcc # $SB/obj-i386/bsd/include # $SB/obj-i386/bsd/lib/csu/i386-elf # $SB/obj-i386/bsd/lib/libc @@ -77,9 +77,9 @@ # RCSid: -# $Id: meta2deps.sh,v 1.5 2013/02/10 19:21:46 sjg Exp $ +# $Id: meta2deps.sh,v 1.6 2013/05/11 05:16:26 sjg Exp $ -# Copyright (c) 2010-2012, Juniper Networks, Inc. +# Copyright (c) 2010-2013, Juniper Networks, Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -115,16 +115,89 @@ meta2dirs() { sort -u } +add_list() { + sep=' ' + suffix= + while : + do + case "$1" in + "|") sep="$1"; shift;; + -s) suffix="$2"; shift 2;; + *) break;; + esac + done + name=$1 + shift + eval list="\$$name" + for top in "$@" + do + case "$sep$list$sep" in + *"$sep$top$suffix$sep"*) continue;; + esac + list="${list:+$list$sep}$top$suffix" + done + eval "$name=\"$list\"" +} + meta2deps() { DPDEPS= + SRCTOPS=$SRCTOP + OBJROOTS= while : do case "$1" in *=*) eval export "$1"; shift;; + -a) MACHINE_ARCH=$2; shift 2;; + -m) MACHINE=$2; shift 2;; + -C) CURDIR=$2; shift 2;; + -H) HOST_TARGET=$2; shift 2;; + -S) add_list SRCTOPS $2; shift 2;; + -O) add_list OBJROOTS $2; shift 2;; + -R) RELDIR=$2; shift 2;; + -T) TARGET_SPEC=$2; shift 2;; *) break;; esac done + _th= _o= + case "$MACHINE" in + host) _ht=$HOST_TARGET;; + esac + + for o in $OBJROOTS + do + case "$MACHINE,/$o/" in + host,*$HOST_TARGET*) ;; + *$MACHINE*|*${TARGET_SPEC:-$MACHINE}*) ;; + *) add_list _o $o; continue;; + esac + for x in $_ht $TARGET_SPEC $MACHINE + do + case "$o" in + "") continue;; + */$x/) add_list _o ${o%$x/}; o=;; + */$x) add_list _o ${o%$x}; o=;; + *$x/) add_list _o ${o%$x/}; o=;; + *$x) add_list _o ${o%$x}; o=;; + esac + done + done + OBJROOTS="$_o" + + case "$OBJTOP" in + "") + for o in $OBJROOTS + do + OBJTOP=$o${TARGET_SPEC:-$MACHINE} + break + done + ;; + esac + src_re= + obj_re= + add_list '|' -s '/*' src_re $SRCTOPS + add_list '|' -s '*' obj_re $OBJROOTS + [ -z "$RELDIR" ] && unset DPDEPS tf=/tmp/m2d$$-$USER rm -f $tf.* @@ -166,8 +239,7 @@ meta2deps() { esac case "$op,$path" in - *.dirdep) continue;; - W,*srcrel) continue;; + W,*srcrel|*.dirdep) continue;; C,*) case "$path" in /*) cwd=$path;; @@ -182,8 +254,7 @@ meta2deps() { ;; *) dir=${path%/*} case "$path" in - $SB/*|${SB_BACKING_SB:-$SB}/*) ;; - $SB_OBJROOT*) ;; + $src_re|$obj_re) ;; /*/stage/*) ;; /*) continue;; *) for path in $ldir/$path $cwd/$path @@ -215,7 +286,7 @@ meta2deps() { esac case "$dir" in ${CURDIR:-.}|${CURDIR:-.}/*|"") continue;; - $SRCTOP/*|${SB_BACKING_SB:-$SB}/src/*) + $src_re) # avoid repeating ourselves... case "$DPDEPS,$seensrc," in ,*) @@ -241,7 +312,7 @@ meta2deps() { [ -f $path ] || continue case "$dir" in $CWD) continue;; # ignore - $SRCTOP/*|${SB_BACKING_SB:-$SB}/src/*) + $src_re) seenit="$seenit,$seen" echo $dir >> $tf.srcdep case "$DPDEPS,$reldir,$seensrc," in @@ -267,7 +338,7 @@ meta2deps() { fi seenit="$seenit,$seen" case "$dir" in - $SB/*|${SB_OBJROOT:-$SB/}*|${SB_BACKING_SB:-$SB}/*) + $obj_re) echo $dir;; esac done > $tf.dirdep @@ -283,7 +354,7 @@ meta2deps() { # qualified with . as needed. # We strip .$MACHINE though xargs cat < $f | sort -u | - sed "s,^# ,,;s,^,$OBJTOP/,;s,\.$MACHINE\$,," + sed "s,^# ,,;s,^,$OBJTOP/,;s,\.${TARGET_SPEC:-$MACHINE}\$,,;s,\.$MACHINE\$,," ;; *) sort -u $f;; esac Modified: vendor/NetBSD/bmake/dist/mk/options.mk ============================================================================== --- vendor/NetBSD/bmake/dist/mk/options.mk Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/options.mk Mon May 20 22:35:32 2013 (r250835) @@ -1,4 +1,4 @@ -# $Id: options.mk,v 1.6 2013/01/28 19:28:52 sjg Exp $ +# $Id: options.mk,v 1.7 2013/04/17 20:32:38 sjg Exp $ # # @(#) Copyright (c) 2012, Simon J. Gerraty # @@ -13,7 +13,7 @@ # sjg@crufty.net # -# Inspired by FreeBSD bsd.own.mk, but intentionally simpler. +# Inspired by FreeBSD bsd.own.mk, but intentionally simpler and more flexible. # Options are normally listed in either OPTIONS_DEFAULT_{YES,NO} # We convert these to ${OPTION}/{yes,no} in OPTIONS_DEFAULT_VALUES. @@ -24,35 +24,36 @@ # ${OPTION}/yes in OPTIONS_DEFAULT_VALUES. # A makefile may set NO_* (or NO*) to indicate it cannot do something. # User sets WITH_* and WITHOUT_* to indicate what they want. -# We set MK_* which is then all we need care about. +# We set ${OPTION_PREFIX:UMK_}* which is then all we need care about. OPTIONS_DEFAULT_VALUES += \ ${OPTIONS_DEFAULT_NO:O:u:S,$,/no,} \ ${OPTIONS_DEFAULT_YES:O:u:S,$,/yes,} +OPTION_PREFIX ?= MK_ .for o in ${OPTIONS_DEFAULT_VALUES:M*/*} .if ${o:T:tl} == "no" .if defined(WITH_${o:H}) && !defined(NO_${o:H}) && !defined(NO${o:H}) -MK_${o:H} ?= yes +${OPTION_PREFIX}${o:H} ?= yes .else -MK_${o:H} ?= no +${OPTION_PREFIX}${o:H} ?= no .endif .else .if defined(WITHOUT_${o:H}) || defined(NO_${o:H}) || defined(NO${o:H}) -MK_${o:H} ?= no +${OPTION_PREFIX}${o:H} ?= no .else -MK_${o:H} ?= yes +${OPTION_PREFIX}${o:H} ?= yes .endif .endif .endfor # OPTIONS_DEFAULT_DEPENDENT += FOO_UTILS/FOO -# if neither WITH[OUT]_FOO_UTILS is set, use value of MK_FOO +# if neither WITH[OUT]_FOO_UTILS is set, use value of ${OPTION_PREFIX}FOO .for o in ${OPTIONS_DEFAULT_DEPENDENT:M*/*:O:u} .if defined(WITH_${o:H}) && !defined(NO_${o:H}) && !defined(NO${o:H}) -MK_${o:H} ?= yes +${OPTION_PREFIX}${o:H} ?= yes .elif defined(WITHOUT_${o:H}) || defined(NO_${o:H}) || defined(NO${o:H}) -MK_${o:H} ?= no +${OPTION_PREFIX}${o:H} ?= no .else -MK_${o:H} ?= ${MK_${o:T}} +${OPTION_PREFIX}${o:H} ?= ${${OPTION_PREFIX}${o:T}} .endif .endfor Modified: vendor/NetBSD/bmake/dist/mk/progs.mk ============================================================================== --- vendor/NetBSD/bmake/dist/mk/progs.mk Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/mk/progs.mk Mon May 20 22:35:32 2013 (r250835) @@ -1,4 +1,4 @@ -# $Id: progs.mk,v 1.11 2012/11/06 17:18:54 sjg Exp $ +# $Id: progs.mk,v 1.12 2013/04/22 18:10:04 sjg Exp $ # # @(#) Copyright (c) 2006, Simon J. Gerraty # @@ -35,9 +35,11 @@ PROG ?= $t .if defined(PROG) # just one of many -PROG_VARS += CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD MAN SRCS +PROG_VARS += BINDIR CFLAGS CPPFLAGS CXXFLAGS DPADD DPLIBS LDADD MAN SRCS .for v in ${PROG_VARS:O:u} +.if defined(${v}.${PROG}) $v += ${${v}_${PROG}:U${${v}.${PROG}}} +.endif .endfor # for meta mode, there can be only one! @@ -63,7 +65,8 @@ UPDATE_DEPENDFILE = NO .include <${.PARSEFILE:S,progs,prog,}> .ifndef PROG -PROGS_TARGETS += clean +# tell progs.mk we might want to install things +PROGS_TARGETS+= cleandepend cleandir cleanobj depend install .for p in ${PROGS} .if defined(PROGS_CXX) && !empty(PROGS_CXX:M$p) Added: vendor/NetBSD/bmake/dist/mk/stage-install.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/NetBSD/bmake/dist/mk/stage-install.sh Mon May 20 22:35:32 2013 (r250835) @@ -0,0 +1,98 @@ +#!/bin/sh + +# NAME: +# stage-install.sh - wrapper around install +# +# SYNOPSIS: +# stage-install.sh [variable="value"] "args" "dest" +# +# DESCRIPTION: +# This script is a wrapper around the normal install(1). +# Its role is to add '.dirdep' files to the destination. +# The variables we might use are: +# +# INSTALL +# Path to actual install(1), default is +# $REAL_INSTALL +# +# OBJDIR +# Path to the dir where '.dirdep' was generated, +# default is '.' +# +# _DIRDEP +# Path to actual '.dirdep' file, default is +# $OBJDIR/.dirdep +# +# The "args" and "dest" are passed as is to install(1), and if a +# '.dirdep' file exists it will be linked or copied to each +# "file".dirdep placed in "dest" or "dest".dirdep if it happed +# to be a file rather than a directory. +# +# SEE ALSO: +# meta.stage.mk +# + +# RCSid: +# $Id: stage-install.sh,v 1.5 2013/04/19 16:32:24 sjg Exp $ +# +# @(#) Copyright (c) 2013, Simon J. Gerraty +# +# This file is provided in the hope that it will +# be of use. There is absolutely NO WARRANTY. +# Permission to copy, redistribute or otherwise +# use this file is hereby granted provided that +# the above copyright notice and this notice are +# left intact. +# +# Please send copies of changes and bug-fixes to: +# sjg@crufty.net +# + +INSTALL=${REAL_INSTALL:-install} +OBJDIR=. + +while : +do + case "$1" in + *=*) eval "$1"; shift;; + *) break;; + esac +done + +# if .dirdep doesn't exist, just run install and be done +_DIRDEP=${_DIRDEP:-$OBJDIR/.dirdep} +[ -s $_DIRDEP ] && EXEC= || EXEC=exec +$EXEC $INSTALL "$@" || exit 1 + +# from meta.stage.mk +LnCp() { + rm -f $2 2> /dev/null + ln $1 $2 2> /dev/null || cp -p $1 $2 +} + +StageDirdep() { + t=$1 + if [ -s $t.dirdep ]; then + cmp -s $_DIRDEP $t.dirdep && return + echo "ERROR: $t installed by `cat $t.dirdep` not `cat $_DIRDEP`" >&2 + exit 1 + fi + LnCp $_DIRDEP $t.dirdep || exit 1 +} + +args="$@" +while [ $# -gt 8 ] +do + shift 8 +done +eval dest=\$$# +if [ -f $dest ]; then + # a file, there can be only one .dirdep needed + StageDirdep $dest +elif [ -d $dest ]; then + for f in $args + do + test -f $f || continue + StageDirdep $dest/${f##*/} + done +fi Modified: vendor/NetBSD/bmake/dist/suff.c ============================================================================== --- vendor/NetBSD/bmake/dist/suff.c Mon May 20 22:18:18 2013 (r250834) +++ vendor/NetBSD/bmake/dist/suff.c Mon May 20 22:35:32 2013 (r250835) @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.69 2011/09/29 23:38:04 sjg Exp $ */ +/* $NetBSD: suff.c,v 1.70 2013/05/18 13:13:34 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: suff.c,v 1.69 2011/09/29 23:38:04 sjg Exp $"; +static char rcsid[] = "$NetBSD: suff.c,v 1.70 2013/05/18 13:13:34 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94"; #else -__RCSID("$NetBSD: suff.c,v 1.69 2011/09/29 23:38:04 sjg Exp $"); +__RCSID("$NetBSD: suff.c,v 1.70 2013/05/18 13:13:34 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -2058,118 +2058,124 @@ SuffFindNormalDeps(GNode *gn, Lst slst) * children, then look for any overriding transformations they imply. * Should we find one, we discard the one we found before. */ + bottom = NULL; + targ = NULL; - while (ln != NULL) { - /* - * Look for next possible suffix... - */ - ln = Lst_FindFrom(sufflist, ln, &sd, SuffSuffIsSuffixP); - - if (ln != NULL) { - int prefLen; /* Length of the prefix */ + if (!(gn->type & OP_PHONY)) { + while (ln != NULL) { /* - * Allocate a Src structure to which things can be transformed + * Look for next possible suffix... */ + ln = Lst_FindFrom(sufflist, ln, &sd, SuffSuffIsSuffixP); + + if (ln != NULL) { + int prefLen; /* Length of the prefix */ + + /* + * Allocate a Src structure to which things can be transformed + */ + targ = bmake_malloc(sizeof(Src)); + targ->file = bmake_strdup(gn->name); + targ->suff = (Suff *)Lst_Datum(ln); + targ->suff->refCount++; + targ->node = gn; + targ->parent = NULL; + targ->children = 0; +#ifdef DEBUG_SRC + targ->cp = Lst_Init(FALSE); +#endif + + /* + * Allocate room for the prefix, whose end is found by + * subtracting the length of the suffix from + * the end of the name. + */ + prefLen = (eoname - targ->suff->nameLen) - sopref; + targ->pref = bmake_malloc(prefLen + 1); + memcpy(targ->pref, sopref, prefLen); + targ->pref[prefLen] = '\0'; + + /* + * Add nodes from which the target can be made + */ + SuffAddLevel(srcs, targ); + + /* + * Record the target so we can nuke it + */ + (void)Lst_AtEnd(targs, targ); + + /* + * Search from this suffix's successor... + */ + ln = Lst_Succ(ln); + } + } + + /* + * Handle target of unknown suffix... + */ + if (Lst_IsEmpty(targs) && suffNull != NULL) { + if (DEBUG(SUFF)) { + fprintf(debug_file, "\tNo known suffix on %s. Using .NULL suffix\n", gn->name); + } + targ = bmake_malloc(sizeof(Src)); targ->file = bmake_strdup(gn->name); - targ->suff = (Suff *)Lst_Datum(ln); + targ->suff = suffNull; targ->suff->refCount++; targ->node = gn; targ->parent = NULL; targ->children = 0; + targ->pref = bmake_strdup(sopref); #ifdef DEBUG_SRC targ->cp = Lst_Init(FALSE); #endif /* - * Allocate room for the prefix, whose end is found by subtracting - * the length of the suffix from the end of the name. + * Only use the default suffix rules if we don't have commands + * defined for this gnode; traditional make programs used to + * not define suffix rules if the gnode had children but we + * don't do this anymore. */ - prefLen = (eoname - targ->suff->nameLen) - sopref; - targ->pref = bmake_malloc(prefLen + 1); - memcpy(targ->pref, sopref, prefLen); - targ->pref[prefLen] = '\0'; + if (Lst_IsEmpty(gn->commands)) + SuffAddLevel(srcs, targ); + else { + if (DEBUG(SUFF)) + fprintf(debug_file, "not "); + } - /* - * Add nodes from which the target can be made - */ - SuffAddLevel(srcs, targ); + if (DEBUG(SUFF)) + fprintf(debug_file, "adding suffix rules\n"); - /* - * Record the target so we can nuke it - */ (void)Lst_AtEnd(targs, targ); - - /* - * Search from this suffix's successor... - */ - ln = Lst_Succ(ln); - } - } - - /* - * Handle target of unknown suffix... - */ - if (Lst_IsEmpty(targs) && suffNull != NULL) { - if (DEBUG(SUFF)) { - fprintf(debug_file, "\tNo known suffix on %s. Using .NULL suffix\n", gn->name); } - targ = bmake_malloc(sizeof(Src)); - targ->file = bmake_strdup(gn->name); - targ->suff = suffNull; - targ->suff->refCount++; - targ->node = gn; - targ->parent = NULL; - targ->children = 0; - targ->pref = bmake_strdup(sopref); -#ifdef DEBUG_SRC - targ->cp = Lst_Init(FALSE); -#endif - *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Mon May 20 22:37:11 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0FDABABD; Mon, 20 May 2013 22:37:11 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DBD9AC12; Mon, 20 May 2013 22:37:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4KMbARu082176; Mon, 20 May 2013 22:37:10 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4KMbAwx082175; Mon, 20 May 2013 22:37:10 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201305202237.r4KMbAwx082175@svn.freebsd.org> From: "Simon J. Gerraty" Date: Mon, 20 May 2013 22:37:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r250836 - vendor/NetBSD/bmake/20130520 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 May 2013 22:37:11 -0000 Author: sjg Date: Mon May 20 22:37:10 2013 New Revision: 250836 URL: http://svnweb.freebsd.org/changeset/base/250836 Log: Tag bmake-20130520 Added: vendor/NetBSD/bmake/20130520/ - copied from r250835, vendor/NetBSD/bmake/dist/ From owner-svn-src-vendor@FreeBSD.ORG Tue May 21 18:52:38 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 119C1FD5; Tue, 21 May 2013 18:52:38 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E8D7D647; Tue, 21 May 2013 18:52:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4LIqbpX011805; Tue, 21 May 2013 18:52:37 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4LIqb2M011804; Tue, 21 May 2013 18:52:37 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201305211852.r4LIqb2M011804@svn.freebsd.org> From: Jung-uk Kim Date: Tue, 21 May 2013 18:52:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r250869 - vendor/flex/dist X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 May 2013 18:52:38 -0000 Author: jkim Date: Tue May 21 18:52:37 2013 New Revision: 250869 URL: http://svnweb.freebsd.org/changeset/base/250869 Log: Disable keyword expansion. Modified: Directory Properties: vendor/flex/dist/ABOUT-NLS (props changed) vendor/flex/dist/AUTHORS (props changed) vendor/flex/dist/COPYING (props changed) vendor/flex/dist/ChangeLog (props changed) vendor/flex/dist/FlexLexer.h (props changed) vendor/flex/dist/INSTALL (props changed) vendor/flex/dist/Makefile.am (props changed) vendor/flex/dist/Makefile.in (props changed) vendor/flex/dist/NEWS (props changed) vendor/flex/dist/ONEWS (props changed) vendor/flex/dist/README (props changed) vendor/flex/dist/README-alpha (props changed) vendor/flex/dist/README.cvs (props changed) vendor/flex/dist/THANKS (props changed) vendor/flex/dist/TODO (props changed) vendor/flex/dist/autogen.sh (props changed) vendor/flex/dist/buf.c (props changed) vendor/flex/dist/ccl.c (props changed) vendor/flex/dist/compile (props changed) vendor/flex/dist/conf.in (props changed) vendor/flex/dist/config.guess (props changed) vendor/flex/dist/config.rpath (props changed) vendor/flex/dist/config.sub (props changed) vendor/flex/dist/configure (props changed) vendor/flex/dist/configure.in (props changed) vendor/flex/dist/depcomp (props changed) vendor/flex/dist/dfa.c (props changed) vendor/flex/dist/ecs.c (props changed) vendor/flex/dist/filter.c (props changed) vendor/flex/dist/flex.skl (props changed) vendor/flex/dist/flexdef.h (props changed) vendor/flex/dist/flexint.h (props changed) vendor/flex/dist/gen.c (props changed) vendor/flex/dist/gettext.h (props changed) vendor/flex/dist/install-sh (props changed) vendor/flex/dist/libmain.c (props changed) vendor/flex/dist/libyywrap.c (props changed) vendor/flex/dist/main.c (props changed) vendor/flex/dist/misc.c (props changed) vendor/flex/dist/missing (props changed) vendor/flex/dist/mkinstalldirs (props changed) vendor/flex/dist/mkskel.sh (props changed) vendor/flex/dist/nfa.c (props changed) vendor/flex/dist/options.c (props changed) vendor/flex/dist/options.h (props changed) vendor/flex/dist/parse.c (props changed) vendor/flex/dist/parse.h (props changed) vendor/flex/dist/parse.y (props changed) vendor/flex/dist/regex.c (props changed) vendor/flex/dist/scan.c (props changed) vendor/flex/dist/scan.l (props changed) vendor/flex/dist/scanflags.c (props changed) vendor/flex/dist/scanopt.c (props changed) vendor/flex/dist/scanopt.h (props changed) vendor/flex/dist/skel.c (props changed) vendor/flex/dist/sym.c (props changed) vendor/flex/dist/tables.c (props changed) vendor/flex/dist/tables.h (props changed) vendor/flex/dist/tables_shared.c (props changed) vendor/flex/dist/tables_shared.h (props changed) vendor/flex/dist/tblcmp.c (props changed) vendor/flex/dist/version.h (props changed) vendor/flex/dist/ylwrap (props changed) vendor/flex/dist/yylex.c (props changed) From owner-svn-src-vendor@FreeBSD.ORG Thu May 23 22:51:57 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 152FE620; Thu, 23 May 2013 22:51:57 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 07AA6769; Thu, 23 May 2013 22:51:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4NMpugp019380; Thu, 23 May 2013 22:51:56 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4NMpuh2019379; Thu, 23 May 2013 22:51:56 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201305232251.r4NMpuh2019379@svn.freebsd.org> From: Martin Matuska Date: Thu, 23 May 2013 22:51:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r250949 - vendor-sys/illumos/dist/uts/common X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 May 2013 22:51:57 -0000 Author: mm Date: Thu May 23 22:51:56 2013 New Revision: 250949 URL: http://svnweb.freebsd.org/changeset/base/250949 Log: Update vendor-sys/illumos/dist to illumos-gate 14029:11aad50aea32 No FreeBSD-related changes Modified: vendor-sys/illumos/dist/uts/common/Makefile.files Modified: vendor-sys/illumos/dist/uts/common/Makefile.files ============================================================================== --- vendor-sys/illumos/dist/uts/common/Makefile.files Thu May 23 22:48:40 2013 (r250948) +++ vendor-sys/illumos/dist/uts/common/Makefile.files Thu May 23 22:51:56 2013 (r250949) @@ -1880,6 +1880,19 @@ CH_COM_OBJS = ch_mac.o ch_subr.o cspi.o vsc7321.o vsc7326.o xpak.o # +# Chelsio Terminator 4 10G NIC nexus driver module +# +CXGBE_FW_OBJS = t4_fw.o t4_cfg.o +CXGBE_COM_OBJS = t4_hw.o common.o +CXGBE_NEX_OBJS = t4_nexus.o t4_sge.o t4_mac.o t4_ioctl.o shared.o \ + t4_l2t.o adapter.o osdep.o + +# +# Chelsio Terminator 4 10G NIC driver module +# +CXGBE_OBJS = cxgbe.o + +# # PCI strings file # PCI_STRING_OBJS = pci_strings.o From owner-svn-src-vendor@FreeBSD.ORG Thu May 23 22:52:22 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id A1C05787; Thu, 23 May 2013 22:52:22 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 93F2876F; Thu, 23 May 2013 22:52:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4NMqMlP019502; Thu, 23 May 2013 22:52:22 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4NMqMnj019500; Thu, 23 May 2013 22:52:22 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201305232252.r4NMqMnj019500@svn.freebsd.org> From: Martin Matuska Date: Thu, 23 May 2013 22:52:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r250950 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor/illumos/dist/lib/libzfs/common X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 May 2013 22:52:22 -0000 Author: mm Date: Thu May 23 22:52:21 2013 New Revision: 250950 URL: http://svnweb.freebsd.org/changeset/base/250950 Log: Update vendor/illumos/dist and vendor-sys/illumos/dist to illumos-gate 14031:e4eb37f33d60 Illumos ZFS issues: 3699 zfs hold or release of a non-existent snapshot does not output error 3739 cannot set zfs quota or reservation on pool version < 22 Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_prop.c Changes in other areas also in this revision: Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c Thu May 23 22:51:56 2013 (r250949) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c Thu May 23 22:52:21 2013 (r250950) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2013 Martin Matuska. All rights reserved. */ #include @@ -967,12 +968,18 @@ dsl_dir_set_quota_sync(void *arg, dmu_tx VERIFY0(dsl_dataset_hold(dp, ddsqra->ddsqra_name, FTAG, &ds)); - dsl_prop_set_sync_impl(ds, zfs_prop_to_name(ZFS_PROP_QUOTA), - ddsqra->ddsqra_source, sizeof (ddsqra->ddsqra_value), 1, - &ddsqra->ddsqra_value, tx); + if (spa_version(dp->dp_spa) >= SPA_VERSION_RECVD_PROPS) { + dsl_prop_set_sync_impl(ds, zfs_prop_to_name(ZFS_PROP_QUOTA), + ddsqra->ddsqra_source, sizeof (ddsqra->ddsqra_value), 1, + &ddsqra->ddsqra_value, tx); - VERIFY0(dsl_prop_get_int_ds(ds, - zfs_prop_to_name(ZFS_PROP_QUOTA), &newval)); + VERIFY0(dsl_prop_get_int_ds(ds, + zfs_prop_to_name(ZFS_PROP_QUOTA), &newval)); + } else { + newval = ddsqra->ddsqra_value; + spa_history_log_internal_ds(ds, "set", tx, "%s=%lld", + zfs_prop_to_name(ZFS_PROP_QUOTA), (longlong_t)newval); + } dmu_buf_will_dirty(ds->ds_dir->dd_dbuf, tx); mutex_enter(&ds->ds_dir->dd_lock); @@ -1083,12 +1090,20 @@ dsl_dir_set_reservation_sync(void *arg, VERIFY0(dsl_dataset_hold(dp, ddsqra->ddsqra_name, FTAG, &ds)); - dsl_prop_set_sync_impl(ds, zfs_prop_to_name(ZFS_PROP_RESERVATION), - ddsqra->ddsqra_source, sizeof (ddsqra->ddsqra_value), 1, - &ddsqra->ddsqra_value, tx); + if (spa_version(dp->dp_spa) >= SPA_VERSION_RECVD_PROPS) { + dsl_prop_set_sync_impl(ds, + zfs_prop_to_name(ZFS_PROP_RESERVATION), + ddsqra->ddsqra_source, sizeof (ddsqra->ddsqra_value), 1, + &ddsqra->ddsqra_value, tx); - VERIFY0(dsl_prop_get_int_ds(ds, - zfs_prop_to_name(ZFS_PROP_RESERVATION), &newval)); + VERIFY0(dsl_prop_get_int_ds(ds, + zfs_prop_to_name(ZFS_PROP_RESERVATION), &newval)); + } else { + newval = ddsqra->ddsqra_value; + spa_history_log_internal_ds(ds, "set", tx, "%s=%lld", + zfs_prop_to_name(ZFS_PROP_RESERVATION), + (longlong_t)newval); + } dsl_dir_set_reservation_sync_impl(ds->ds_dir, newval, tx); dsl_dataset_rele(ds, FTAG); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_prop.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_prop.c Thu May 23 22:51:56 2013 (r250949) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_prop.c Thu May 23 22:52:21 2013 (r250950) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2013 Martin Matuska. All rights reserved. */ #include @@ -557,10 +558,6 @@ dsl_prop_set_sync_impl(dsl_dataset_t *ds } if (version < SPA_VERSION_RECVD_PROPS) { - zfs_prop_t prop = zfs_name_to_prop(propname); - if (prop == ZFS_PROP_QUOTA || prop == ZFS_PROP_RESERVATION) - return; - if (source & ZPROP_SRC_NONE) source = ZPROP_SRC_NONE; else if (source & ZPROP_SRC_RECEIVED) From owner-svn-src-vendor@FreeBSD.ORG Thu May 23 22:52:23 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 132F1788; Thu, 23 May 2013 22:52:23 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EA097770; Thu, 23 May 2013 22:52:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4NMqMdG019509; Thu, 23 May 2013 22:52:22 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4NMqMrZ019508; Thu, 23 May 2013 22:52:22 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201305232252.r4NMqMrZ019508@svn.freebsd.org> From: Martin Matuska Date: Thu, 23 May 2013 22:52:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r250950 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor/illumos/dist/lib/libzfs/common X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 May 2013 22:52:23 -0000 Author: mm Date: Thu May 23 22:52:21 2013 New Revision: 250950 URL: http://svnweb.freebsd.org/changeset/base/250950 Log: Update vendor/illumos/dist and vendor-sys/illumos/dist to illumos-gate 14031:e4eb37f33d60 Illumos ZFS issues: 3699 zfs hold or release of a non-existent snapshot does not output error 3739 cannot set zfs quota or reservation on pool version < 22 Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Changes in other areas also in this revision: Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_prop.c Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Thu May 23 22:51:56 2013 (r250949) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Thu May 23 22:52:21 2013 (r250950) @@ -24,6 +24,7 @@ * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright (c) 2012 DEY Storage Systems, Inc. All rights reserved. * Copyright 2012 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2013 Martin Matuska. All rights reserved. */ #include @@ -4116,6 +4117,20 @@ zfs_hold(zfs_handle_t *zhp, const char * ha.tag = tag; ha.recursive = recursive; (void) zfs_hold_one(zfs_handle_dup(zhp), &ha); + + if (nvlist_next_nvpair(ha.nvl, NULL) == NULL) { + fnvlist_free(ha.nvl); + ret = ENOENT; + if (!enoent_ok) { + (void) snprintf(errbuf, sizeof (errbuf), + dgettext(TEXT_DOMAIN, + "cannot hold snapshot '%s@%s'"), + zhp->zfs_name, snapname); + (void) zfs_standard_error(hdl, ret, errbuf); + } + return (ret); + } + ret = lzc_hold(ha.nvl, cleanup_fd, &errors); fnvlist_free(ha.nvl); @@ -4217,12 +4232,25 @@ zfs_release(zfs_handle_t *zhp, const cha nvlist_t *errors; nvpair_t *elem; libzfs_handle_t *hdl = zhp->zfs_hdl; + char errbuf[1024]; ha.nvl = fnvlist_alloc(); ha.snapname = snapname; ha.tag = tag; ha.recursive = recursive; (void) zfs_release_one(zfs_handle_dup(zhp), &ha); + + if (nvlist_next_nvpair(ha.nvl, NULL) == NULL) { + fnvlist_free(ha.nvl); + ret = ENOENT; + (void) snprintf(errbuf, sizeof (errbuf), + dgettext(TEXT_DOMAIN, + "cannot release hold from snapshot '%s@%s'"), + zhp->zfs_name, snapname); + (void) zfs_standard_error(hdl, ret, errbuf); + return (ret); + } + ret = lzc_release(ha.nvl, &errors); fnvlist_free(ha.nvl); @@ -4231,8 +4259,6 @@ zfs_release(zfs_handle_t *zhp, const cha if (nvlist_next_nvpair(errors, NULL) == NULL) { /* no hold-specific errors */ - char errbuf[1024]; - (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, "cannot release")); switch (errno) { @@ -4249,8 +4275,6 @@ zfs_release(zfs_handle_t *zhp, const cha for (elem = nvlist_next_nvpair(errors, NULL); elem != NULL; elem = nvlist_next_nvpair(errors, elem)) { - char errbuf[1024]; - (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, "cannot release hold from snapshot '%s'"),