From owner-svn-src-all@freebsd.org Tue Oct 6 20:24:33 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C81D69D0C67 for ; Tue, 6 Oct 2015 20:24:33 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9D99E1A7 for ; Tue, 6 Oct 2015 20:24:33 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: by padhy16 with SMTP id hy16so79605576pad.1 for ; Tue, 06 Oct 2015 13:24:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:message-id:references:to; bh=8LrrdWOT4be+bT6YPzH4BcHNvbW4VteLQj2JCjNq2YI=; b=SFhPtN1BZISIOJ0iNvH71z9RWDJGPaRgKstz8J3bZxW4rVm1+8e/dlvnu6q4V5UgxE a1fNe2X7Ryj5F6EEuuo57F6mxI6hJQwpfaeCaY404viFOf/MSXR9lBk/VKu582wMVewc 0rP29lfIJg5gK9pQNe2iNmGkbihEcoD1/OjOjfBPQGaq4ZyKPdDiJWjYO/nRwFXXgoOv PyVJPcEKVfOncSFN/cAbK98i4AT1TPvsleqI5W6LmyKxf4fi32/Bkt/Pf+0/PR3bOeMu RIwHu3dfBkaCvSeGIM7NzgCPVPulyAwl0y38HdrCEe0b2995DJ5ip9c+KWbbCY8Fci/U OGFQ== X-Gm-Message-State: ALoCoQkkSd06c8GvLP5Q0DyD2Tsrvn720zgd/sVFcQmEYVqxLs1zo3xwia3GdhDFy0rPEz8xVOxT X-Received: by 10.68.227.227 with SMTP id sd3mr49441330pbc.116.1444163067729; Tue, 06 Oct 2015 13:24:27 -0700 (PDT) Received: from ip-100-127-129-73.ec2.internal ([69.53.245.7]) by smtp.gmail.com with ESMTPSA id xd10sm35304073pab.25.2015.10.06.13.24.26 (version=TLS1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 06 Oct 2015 13:24:27 -0700 (PDT) Sender: Warner Losh Subject: Re: svn commit: r288911 - head/share/mk Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Content-Type: multipart/signed; boundary="Apple-Mail=_0826EF31-BDA6-4AD7-BE36-5374B309BE59"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5.2 From: Warner Losh In-Reply-To: <56140CAD.8080200@FreeBSD.org> Date: Tue, 6 Oct 2015 14:24:24 -0600 Cc: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <8D5D1CE5-BC57-464D-9C47-63EFF4C1CF2F@bsdimp.com> References: <201510060418.t964Innu071170@repo.freebsd.org> <56140CAD.8080200@FreeBSD.org> To: Bryan Drewery X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Oct 2015 20:24:34 -0000 --Apple-Mail=_0826EF31-BDA6-4AD7-BE36-5374B309BE59 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Oct 6, 2015, at 12:02 PM, Bryan Drewery = wrote: >=20 > On 10/5/2015 9:18 PM, Warner Losh wrote: >> Author: imp >> Date: Tue Oct 6 04:18:48 2015 >> New Revision: 288911 >> URL: https://svnweb.freebsd.org/changeset/base/288911 >>=20 >> Log: >> Previous versions of bsd.own.mk included bsd.compiler.mk >> only when _WITHOUT_SRCCONF wasn't defined. Restore this >> behavior because bsd.ports.mk depends on this in subtle >> ways. The compat include of bsd.compiler.mk should >> be removed in 12 anyway. >>=20 >> PR: 203540 >>=20 >=20 > Perhaps the wrong place to discuss this, but I will anyhow as I don't > think it will change. >=20 > The sys.mk change to include src.conf breaks building ports in a = sub-dir > of src. Meaning, /usr/src/ports/. The MAKESYSPATH with '.../share/mk' > finds /usr/src/share/mk and runs off with all of the src.*.mk stuff = long > before the port Makefile includes bsd.port.mk, from > /usr/src/share/mk/bsd.port.mk, which has a _WITHOUT_SRCCONF=3D guard = set > on it to avoid bsd.own.mk from including src.conf. But because sys.mk > is already included long before this, src.conf is already included and > anything handled in sys.mk has no real way to respect _WITHOUT_SRCCONF > unless it is in the environment Yuck! But the real problem here is MAKESYSPATH of =E2=80=A6/share/mk. That was = a hack until we had something like SRCTOP that we could use for finding the right stuff and for individual builds. So if we can solve that part = of the problem, we can get rid of the default =E2=80=A6/share/mk definition. It = wasn=E2=80=99t anticipated to be something forever, just something for the moment. > [Note that the actual inclusion of src.conf no longer has a > _WITHOUT_SRCCONF=3D check, but that is trivial to fix] That likely got lost in the shuffle. Agreed, it=E2=80=99s easier to add = back in. > Why would anyone build ports in a sub-dir of src? It's convenient for = a > vendor building their own product that needs their own ports tree. = Some > decisions can't easily be changed; if the root of the source code > checkout is already src/, there is no simple way to avoid the problem. We do it too=E2=80=A6 It=E2=80=99s evil, but there you go. > With the META_MODE changes, sjg introduced this /etc/src-env.conf file > that is included from sys.mk early, that can be used for overriding > things like MAKEOBJDIRPREFIX, enabling META_MODE (it needs to be set > extremely early for AUTO_OBJ support, among other things). >=20 > As far as I can tell, the sys.mk change to include src.conf early was > done out of convenience. Meaning, we could remove that and just add > back a .include or similar at the top of all src = Makefiles. All src makefiles? Yea, I=E2=80=99d rather hoped to avoid that, though = it is easily scripted. I=E2=80=99d thought of this solution at the time I did the = MAKESYSPATH hack, and rejected it as being too unwieldy. And having that at the top of all the files would still require MAKESYSPATH need to be =E2=80=A6/shar= e/mk to work out. I was rather hoping we could find some good way around doing that. > I would really like to find a solution to this as it is a looming > problem for my work's build approaching in a few months. I figured out = a > hack we can use locally, to set _WITHOUT_SRCCONF=3D, when the current > directory has "ports/" in it. That works for us, but not for other > vendors who don't realize this is coming. Perhaps the scope of people > doing this is not large. One trivial solution would be to only do ports sub-builds with _WITHOUT_SRCCONF defined. But like all good kludges, I imagine there=E2=80=99d be logistical issues with that. Warner --Apple-Mail=_0826EF31-BDA6-4AD7-BE36-5374B309BE59 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJWFC34AAoJEGwc0Sh9sBEAEkQP/R8z7vjC4m6crEhhO1hQVCCD qHNbIL3qXGrM0IKTqJRTQ4GXLd1ep5394DhCbU3DhqY2GXyHp9HS0+GrIGv/9Kxz IVN821cDZwyPKjnK/nvoXfIfJdKs//GFRhDnX28BEW6CTIrQp9xoQR2DjCMNbsaT Ru+r/VGDyjv+ebT8Qs9fvBUQNO6zRlCuhyy0/BFjLck+JyfV62PSsE901ivMUkxx 33fqw/0VVlsbj4htQU4WV8RbexQwswwuDUxcnd9esz6hgttJ0A37K5tNi8mgr+i6 XOQhKJBwqJ4erJTZODotnaK5DglY3h6JhnPyWpwohixhb7O8YaGOuUB+15ohQrVF bfCPSP/YSNTN4OF/61BR1bqkjlDxgW7DTkYPmHyGs1iANALJal58DHxW4W73walf FZZTuiyxDHppLZp5dt/BLFAaVNe8cXeR98QaVa9WQLVBUF29YCkhNkMjlpPA9e58 5/ivIlcbe2+7cqZF0X4xg5L2mBNsGtfE5SFsMqRqIBxfMbg0jPSDmE6Q5/t2GjrC tWHT1G8shfBcgZTIIGETCOAReQA57kM7j8g1MUXsGAiaJbCinJ9yc4fw+MrxDDQw VOKpHecuS6C7cPfIPRtMsGkyEZzQHLFOVi7A8fJT1WCC1EiqkrwQfDiEWBhF05Hd LRncRi3iy6iFRpHiTpWW =vZzd -----END PGP SIGNATURE----- --Apple-Mail=_0826EF31-BDA6-4AD7-BE36-5374B309BE59--