From owner-svn-ports-all@FreeBSD.ORG Tue Sep 30 18:18:40 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3707E350 for ; Tue, 30 Sep 2014 18:18:40 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16623395 for ; Tue, 30 Sep 2014 18:18:40 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.9/8.14.9) with ESMTP id s8UIIdWp047140 for ; Tue, 30 Sep 2014 18:18:39 GMT (envelope-from bdrewery@freefall.freebsd.org) Received: (from bdrewery@localhost) by freefall.freebsd.org (8.14.9/8.14.9/Submit) id s8UIId14047139 for svn-ports-all@freebsd.org; Tue, 30 Sep 2014 18:18:39 GMT (envelope-from bdrewery) Received: (qmail 29296 invoked from network); 30 Sep 2014 13:18:35 -0500 Received: from unknown (HELO ?10.10.0.24?) (freebsd@shatow.net@10.10.0.24) by sweb.xzibition.com with ESMTPA; 30 Sep 2014 13:18:35 -0500 Message-ID: <542AF3F6.1010502@FreeBSD.org> Date: Tue, 30 Sep 2014 13:18:30 -0500 From: Bryan Drewery Organization: FreeBSD User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org, Colin Percival , dvl@FreeBSD.org Subject: Re: svn commit: r369644 - in head: . Mk References: <201409301622.s8UGM5lB082567@svn.freebsd.org> In-Reply-To: <201409301622.s8UGM5lB082567@svn.freebsd.org> OpenPGP: id=6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="COre9JdrEa0DwgAhVfqaLHb09IAp19cVh" X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Sep 2014 18:18:40 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --COre9JdrEa0DwgAhVfqaLHb09IAp19cVh Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable This broke portsnap INDEX and FreshPorts. Please update their configuration. I've partially reverted for now. Portsnap needs to decide which release it is using: "/usr/ports/Mk/bsd.port.mk", line 1209: UNAME_r (10.0-RELEASE) and OSVERSION (899999) do not agree on major version number. FreshPorts needs OSVERSION defined for its env: Error message is: "/usr/local/PORTS-head/Mk/bsd.port.mk", line 1201: Unable to determine OS version. Either define OSVERSION, install /usr/include/sys/param.h or define SRC_BASE. On 9/30/2014 11:22 AM, Bryan Drewery wrote: > Author: bdrewery > Date: Tue Sep 30 16:22:05 2014 > New Revision: 369644 > URL: http://svnweb.freebsd.org/changeset/ports/369644 > QAT: https://qat.redports.org/buildarchive/r369644/ >=20 > Log: > If either of OSVERSION or UNAME_r is improperly set when building in = a > jail/chroot, a number of unexpected errors can occur. > =20 > 1. autotools fixup may not run when needed. This could be avoided b= y always > running it [PR 177980, 177403]. > 2. Not having UNAME_r set will cause many unknown > errors. Many ports use OSREL (derived from UNAME_r) to determine= the name > of files. This is usually also due to the port build itself usin= g uname -r > to derive filenames or 'built for' messages. [PR 192449, 191943]= Without > having these sanity checks it is very easy for users to get into= > situations where "everything worked" until they touch a certain = port that > reads uname(1) output or OSVERSION. It has always been necessary= to define > all of the UNAME_ vars and OSVERSION (or have a proper sys/param= =2Eh > present), but many users do not know this. > =20 > Remove the fallback on the kernel for kern.osreldate as it easily get= s the > answer wrong. > =20 > I have added sanity checks to ensure OSVERSION=3D=3DOSREL=3D=3DUNAME_= r as these are the > most critical vars to have set properly. > =20 > Differential Revision: https://reviews.freebsd.org/D869 > PR: 177980, 177403, 192449, 191943 > Reviewed by: antoine, bapt, gjb > With hat: portmgr >=20 > Modified: > head/CHANGES > head/Mk/bsd.port.mk >=20 > Modified: head/CHANGES > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/CHANGES Tue Sep 30 16:19:41 2014 (r369643) > +++ head/CHANGES Tue Sep 30 16:22:05 2014 (r369644) > @@ -10,6 +10,36 @@ in the release notes and/or placed into=20 > =20 > All ports committers are allowed to commit to this file. > =20 > +20140930: > +AUTHOR: bdrewery@FreeBSD.org > + > + Building ports in a chroot or jail have always required a particular= > + environment be setup. This was not clear though and the ports framew= ork > + did not enforce it. These requirements are: > + 1. Either a SRC_BASE/sys/sys/param.h, or /usr/include/sys/param.h = be > + present with the __FreeBSD_version_ number of the target system= , > + or OSVERSION be set in the environment. Lack of these would fal= lback > + on kern.osreldate before, which is no longer the case. > + 2. UNAME_r,UNAME_v,UNAME_s all must be set for the target system. > + > + Not having these values in sync will now cause the build to error un= til it is > + resolved. > + > + Setting these in the environment can be done via your own wrapper sc= ripts, > + or /etc/login.conf (along with cap_mkdb /etc/login.conf) or > + via /etc/make.conf using appropriate values. Note that OSVERSION is = redundant > + if a proper param.h is in the environment: > + > + OSVERSION+=3D 1100036 > + UNAME_ENV+=3D OSVERSION=3D${OSVERSION} > + UNAME_ENV+=3D UNAME_s=3DFreeBSD > + UNAME_ENV+=3D UNAME_r=3D11.0-CURRENT > + UNAME_ENV+=3D UNAME_v=3D"${UNAME_s} ${UNAME_r}" > + .MAKEFLAGS: ${UNAME_ENV} > + MAKE_ENV+=3D ${UNAME_ENV} > + CONFIGURE_ENV+=3D ${UNAME_ENV} > + SCRIPTS_ENV+=3D ${UNAME_ENV} > + > 20140922: > AUTHOR: bapt@FreeBSD.org > =20 >=20 > Modified: head/Mk/bsd.port.mk > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/Mk/bsd.port.mk Tue Sep 30 16:19:41 2014 (r369643) > +++ head/Mk/bsd.port.mk Tue Sep 30 16:22:05 2014 (r369644) > @@ -1186,10 +1186,10 @@ ARCH!=3D ${UNAME} -p > OPSYS!=3D ${UNAME} -s > .endif > =20 > +UNAMER!=3D${UNAME} -r > + > # Get the operating system revision > -.if !defined(OSREL) > -OSREL!=3D ${UNAME} -r | ${SED} -e 's/[-(].*//' > -.endif > +OSREL?=3D ${UNAMER:C/-.*//} > =20 > # Get __FreeBSD_version > .if !defined(OSVERSION) > @@ -1198,10 +1198,19 @@ OSVERSION!=3D ${AWK} '/^\#define[[:blank:] > .elif exists(${SRC_BASE}/sys/sys/param.h) > OSVERSION!=3D ${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $= $3}' < ${SRC_BASE}/sys/sys/param.h > .else > -OSVERSION!=3D ${SYSCTL} -n kern.osreldate > +.error Unable to determine OS version. Either define OSVERSION, insta= ll /usr/include/sys/param.h or define SRC_BASE. > .endif > .endif > =20 > +# Convert OSVERSION to major release number > +_OSVERSION_MAJOR=3D ${OSVERSION:C/([0-9]?[0-9])([0-9][0-9])[0-9]{3}/\1= /} > +# Sanity checks for chroot/jail building. > +.if ${_OSVERSION_MAJOR} !=3D ${UNAMER:R} > +.error UNAME_r (${UNAMER}) and OSVERSION (${OSVERSION}) do not agree o= n major version number. > +.elif ${_OSVERSION_MAJOR} !=3D ${OSREL:R} > +.error OSREL (${OSREL}) and OSVERSION (${OSVERSION}) do not agree on m= ajor version number. > +.endif > + > # Enable new xorg for FreeBSD versions after Radeon KMS was imported u= nless > # WITHOUT_NEW_XORG is set. > .if (${OSVERSION} >=3D 902510 && ${OSVERSION} < 1000000) || ${OSVERSIO= N} >=3D 1000704 >=20 --=20 Regards, Bryan Drewery --COre9JdrEa0DwgAhVfqaLHb09IAp19cVh Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) iQEcBAEBAgAGBQJUKvP3AAoJEDXXcbtuRpfPRmcIALKeXZZpoDdMukHcaZWcs3Kv hGfqzHIPHH7BDz+QDv3q6es1yRwfAglc+/6Cb/gJR0aDapCntCQj0eQ0/ivelM62 M4VfElFzturHVR9lUZW/aTAIea0+Kbtft/NueHQvMnsm6qONoE9Bdqpe0N6Cysz5 +ogo1Aaktu8oRtwzt1eNBKC5lMABqkLqc1TZbyuUX1/hO0Aujtb3W6J3VAi+ye5I If7yccDyPzVq24bCW3JtNJEJ9NtEqtTegD73dF0AUEjSMmgTrJaR1eRHvPtvQg0L DBXZ6v1qkb3Qh2vdoHlGd8VeY2FZ6c8sB2QXRRjMi2ZLx/HsQXU04alb9XQ4c3A= =G2k1 -----END PGP SIGNATURE----- --COre9JdrEa0DwgAhVfqaLHb09IAp19cVh--