From owner-freebsd-current@FreeBSD.ORG Wed Sep 25 18:55:48 2013 Return-Path: Delivered-To: freebsd-current@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 ESMTP id 1F9F7515; Wed, 25 Sep 2013 18:55:48 +0000 (UTC) (envelope-from ambrisko@ambrisko.com) Received: from mail.ambrisko.com (mail.ambrisko.com [70.91.206.90]) by mx1.freebsd.org (Postfix) with ESMTP id F1B262B55; Wed, 25 Sep 2013 18:55:47 +0000 (UTC) X-Ambrisko-Me: Yes Received: from server2.ambrisko.com (HELO internal.ambrisko.com) ([192.168.1.2]) by ironport.ambrisko.com with ESMTP; 25 Sep 2013 11:59:14 -0700 Received: from ambrisko.com (localhost [127.0.0.1]) by internal.ambrisko.com (8.14.4/8.14.4) with ESMTP id r8PItljl084513; Wed, 25 Sep 2013 11:55:47 -0700 (PDT) (envelope-from ambrisko@ambrisko.com) Received: (from ambrisko@localhost) by ambrisko.com (8.14.4/8.14.4/Submit) id r8PItlG4084512; Wed, 25 Sep 2013 11:55:47 -0700 (PDT) (envelope-from ambrisko) Date: Wed, 25 Sep 2013 11:55:47 -0700 From: Doug Ambrisko To: Ian Lepore Subject: Re: Problem with r255775 include/mk-osreldate.sh Message-ID: <20130925185546.GA17895@ambrisko.com> References: <20130925175210.GA56575@ambrisko.com> <1380133007.1197.209.camel@revolution.hippie.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1380133007.1197.209.camel@revolution.hippie.lan> User-Agent: Mutt/1.4.2.3i Cc: freebsd-current@FreeBSD.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Sep 2013 18:55:48 -0000 On Wed, Sep 25, 2013 at 12:16:47PM -0600, Ian Lepore wrote: | On Wed, 2013-09-25 at 10:52 -0700, Doug Ambrisko wrote: | > I don't know if others have run into this but I hit a problem with | > include/mk-osreldate.sh. It does a set -e to exit on commands failing | > and sources in sys/conf/newvers.sh to get various things set. | > In newvers.sh it does a bunch of | > | > if [ $? -eq 0 ]; then | > to decide what to do when it passes or fails. Unfortunately, when | > it fails due to the "set -e" it just exits and doesn't do the | > else clause. For me I check out a svn tree then build in a chroot. | > In the chroot svn was failing then not creating a osreldate.h | > resulting in the build dying. This happened on two different machines | > of which I use this method. | > | > Removing the set -e in mk-osreldate.sh "fixed" my problem. It should | > probably be reworked to not depend on set -e and print errors when things | > fail. I guess newvers.sh could be reworked to do | > if ; then | > which should pass set -e. | > | > What do folks think? It would be good to get this fixed before MFC | > and before 10 is released. | | For such a "simple" little change, this sure has been problematic. | There are as many ways for it to fail as there are ways to arrange | checkout-and-build workflows, apparently. | | I've been mostly inclined to stay away from any big changes in | newvers.sh for fear of breaking it when it's used in some way I'm not | familiar with (such as building a release). Sticking with that theory, | I'd be inclined to leave it alone again, and not push the 'set -e' | problem into its world, and instead do something like the attached. Yes, I'd be nervous to touch newvers.sh as well. | My thinking is that newvers.sh does a variety of things, only some of | which are germane to the needs of mk-osreldate.h, so have mk-osreldate | check for just what it needs, and let newvers.sh take care of its | internal errors however it likes. Index: include/mk-osreldate.sh =================================================================== --- include/mk-osreldate.sh (revision 255775) +++ include/mk-osreldate.sh (working copy) @@ -25,8 +25,6 @@ # # $FreeBSD$ -set -e - CURDIR=$(pwd) ECHO=${ECHO:=echo} @@ -37,6 +35,12 @@ ${ECHO} creating osreldate.h from newvers.sh export PARAMFILE="${PARAM_H:=$CURDIR/../sys/sys/param.h}" . "${NEWVERS_SH:=$CURDIR/../sys/conf/newvers.sh}" + +if [ -z "${COPYRIGHT}" -o -z "${RELDATE}" ] ; then + ${ECHO} "newvers.sh did not generate required information" + exit 1 +fi + cat > $tmpfile <