From owner-freebsd-current@freebsd.org Wed Jun 1 22:41:29 2016 Return-Path: Delivered-To: freebsd-current@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 7BC72B66C01 for ; Wed, 1 Jun 2016 22:41:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 5B05C1036 for ; Wed, 1 Jun 2016 22:41:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: by mailman.ysv.freebsd.org (Postfix) id 5A534B66BFC; Wed, 1 Jun 2016 22:41:29 +0000 (UTC) Delivered-To: current@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 578C5B66BFB for ; Wed, 1 Jun 2016 22:41:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 3776F1035; Wed, 1 Jun 2016 22:41:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 294F0172F; Wed, 1 Jun 2016 22:41:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id DB2371D68E; Wed, 1 Jun 2016 22:41:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 53gaiiG3Rq4Y; Wed, 1 Jun 2016 22:41:26 +0000 (UTC) Subject: Re: [CFT] WITH_META_MODE: Working incremental build DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com BBD001D688 To: current@freebsd.org References: <20160531140608.GA24894@albert.catwhisker.org> <5c2283ef-def0-1bdd-4766-0d2a901e7580@FreeBSD.org> <48166.1464740223@kaos.jnpr.net> Cc: "Simon J. Gerraty" From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: Date: Wed, 1 Jun 2016 15:41:23 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="PejOhvVLuQsaK2Eo1joDCcafoATF1osPX" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.22 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, 01 Jun 2016 22:41:29 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --PejOhvVLuQsaK2Eo1joDCcafoATF1osPX Content-Type: multipart/mixed; boundary="SDPW3H2WIGnESJi2TDOcKxE2SEBtwfvEI" From: Bryan Drewery To: current@freebsd.org Cc: "Simon J. Gerraty" Message-ID: Subject: Re: [CFT] WITH_META_MODE: Working incremental build References: <20160531140608.GA24894@albert.catwhisker.org> <5c2283ef-def0-1bdd-4766-0d2a901e7580@FreeBSD.org> <48166.1464740223@kaos.jnpr.net> In-Reply-To: --SDPW3H2WIGnESJi2TDOcKxE2SEBtwfvEI Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 6/1/2016 10:27 AM, Bryan Drewery wrote: > On 5/31/2016 5:17 PM, Simon J. Gerraty wrote: >>> Another reported issue just now is that right after an installworld, >>> everything rebuilds due to changed /bin/sh (-dM flag to make tells yo= u >>> why things rebuild). I'll look into some mitigations for this. >> >> It is probably sufficient to just add >> >> .MAKE.META.IGNORE_PATHS +=3D ${__MAKE_SHELL} >> >=20 > Yes but I need to test it fully to see if things like rtld and > libmap.conf, etc, get caught up in the problem too. >=20 Yup, it's not really simple to fix. This problem defeats the goal of the feature too. I had not ran into this case in all of my testing since I wasn't installing to /. For /bin/sh it uses libc.so.7, libedit.so.7, libncursesw.so.8, rtld, and /usr/share/locale. We could use /rescue/sh if it exists to remove a lot of that and still ignore __MAKE_SHELL and /usr/share/locale. The next problem is everything else. expr(1), awk(1), sed(1), rm(1). There's a /rescue version for those except for awk(1). Solving that we could add /rescue into the default PATH for the build, or build all of these tools in build-tools. Though any use of them to bootstrap building them could cause the same rebuild problem and a chain reaction of rebuilds. Even adding all of the build tools as static wouldn't be enough. Any tool that is used that is not easily changed to static still leaks in all of rtld and dynamic libraries. My build is running ccache which finds that /lib/libm.so.5 is newer. We can't just ignore /lib /usr/lib /bin, etc, because we need the compiler tools and other obscure tools to be considered in case they do get changes or fixes to them. If awk(1) gets a fix it may actually impact the build. It's too bad bmake is only doing a simple mtime comparison and not a content comparison like ccache does. That wouldn't solve much anyhow since a change to __FreeBSD_version would modify the hash of all of the binaries. Of course doing a content comparison means filemon needs to calculate and store that which is not ideal. --=20 Regards, Bryan Drewery --SDPW3H2WIGnESJi2TDOcKxE2SEBtwfvEI-- --PejOhvVLuQsaK2Eo1joDCcafoATF1osPX Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJXT2STAAoJEDXXcbtuRpfPAoIH/10FY9A3QrIzhNaIh93JVf5M xzA903zCsSEndc4Qay3yvae3ckdwd7HS0Mq2qbunBd/q4QLcJNZpyA+CKf8nNfoI ZnYEXkAHHGKU9YJpiPDYOjrCfw/yoJhHWvURzMIM8XX9u99aNSiejvcQ3yplLSF8 dVVFwbIB67d1nTbtSoVYlK105TT6MTzvTiYKN7gNRfihjq+UOtDAxBBiP1ndVrO/ KwmhNtSzivBJEnSlYgLx2/KRJfr2zFtfU8I7ylDp5DDtDJvxMW+AiKyMnSu5fx6L rT9coc73gj39aBeZvmpbkh58nSSRRwI1CCitbqWQVb8IKdAeU/kLn9Y8JXAqaas= =U1M3 -----END PGP SIGNATURE----- --PejOhvVLuQsaK2Eo1joDCcafoATF1osPX--