From owner-freebsd-ports@FreeBSD.ORG Wed Aug 17 19:58:40 2005 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7025916A41F for ; Wed, 17 Aug 2005 19:58:40 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2764643D45 for ; Wed, 17 Aug 2005 19:58:40 +0000 (GMT) (envelope-from brdavis@odin.ac.hmc.edu) Received: from odin.ac.hmc.edu (localhost.localdomain [127.0.0.1]) by odin.ac.hmc.edu (8.13.0/8.13.0) with ESMTP id j7HJwdRa022042 for ; Wed, 17 Aug 2005 12:58:39 -0700 Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.13.0/8.13.0/Submit) id j7HJwdZN022041 for ports@freebsd.org; Wed, 17 Aug 2005 12:58:39 -0700 Date: Wed, 17 Aug 2005 12:58:39 -0700 From: Brooks Davis To: ports@freebsd.org Message-ID: <20050817195839.GA22027@odin.ac.hmc.edu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="LZvS9be/3tNcYl/X" Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new X-Spam-Status: No, hits=0.0 required=8.0 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on odin.ac.hmc.edu Cc: Subject: prebuild sanity checks X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Aug 2005 19:58:40 -0000 --LZvS9be/3tNcYl/X Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I just spent the better part of half a day trying to figure out why Perl wouldn't build in a chroot environment. I'd hit the problem before, but couldn't remember what the solution was. It turned out that the lack of a /dev/null lead to a one line corruption of the makefile with a totally unobvious cause made vastly worse by the fact that the perl build makes autotools look reasonable. :P This started me wondering if we shouldn't have a few sanity checks in the build process so we refuse to build if the environment is missing some really critical things. Obviously, we can't test everything since it would take too long even if we had appropriate tests, but a few checks might save some hair pulling. For this particular case, I can think of two major ways to do it. First, we could just require that /dev/null exist to do anything. That's probably a bit intrusive though. Another option might be a new variable (or variables) that ports that tend to break spectacularly and unobviously can set like: BUILD_DEVS=3D null zero Does this seem like a reasonable thing to do? -- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --LZvS9be/3tNcYl/X Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFDA5bvXY6L6fI4GtQRAhp6AJ9RUj79Gh9nqyfVS3CPW7Rb9OHo0ACfS8Lv iwbhtDQDdLaUYxWesc6rnpg= =vzjB -----END PGP SIGNATURE----- --LZvS9be/3tNcYl/X--