Date: Wed, 1 Jun 2016 15:41:23 -0700 From: Bryan Drewery <bdrewery@FreeBSD.org> To: current@freebsd.org Cc: "Simon J. Gerraty" <sjg@juniper.net> Subject: Re: [CFT] WITH_META_MODE: Working incremental build Message-ID: <edd66636-a38a-ab30-f411-cf68c04dc11b@FreeBSD.org> In-Reply-To: <f487be72-861c-9780-6054-48e35ff377ae@FreeBSD.org> References: <e25bdb07-8a72-f955-ffb2-5d2609b9d3fe@FreeBSD.org> <20160531140608.GA24894@albert.catwhisker.org> <5c2283ef-def0-1bdd-4766-0d2a901e7580@FreeBSD.org> <abcea294-7e18-c24e-ea3b-986f1e85034d@FreeBSD.org> <fe25f23e-e666-831c-9e90-9122822f8be0@FreeBSD.org> <ff541c28-5be4-b756-85a7-4b5c3c3e4262@FreeBSD.org> <48166.1464740223@kaos.jnpr.net> <f487be72-861c-9780-6054-48e35ff377ae@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --PejOhvVLuQsaK2Eo1joDCcafoATF1osPX Content-Type: multipart/mixed; boundary="SDPW3H2WIGnESJi2TDOcKxE2SEBtwfvEI" From: Bryan Drewery <bdrewery@FreeBSD.org> To: current@freebsd.org Cc: "Simon J. Gerraty" <sjg@juniper.net> Message-ID: <edd66636-a38a-ab30-f411-cf68c04dc11b@FreeBSD.org> Subject: Re: [CFT] WITH_META_MODE: Working incremental build References: <e25bdb07-8a72-f955-ffb2-5d2609b9d3fe@FreeBSD.org> <20160531140608.GA24894@albert.catwhisker.org> <5c2283ef-def0-1bdd-4766-0d2a901e7580@FreeBSD.org> <abcea294-7e18-c24e-ea3b-986f1e85034d@FreeBSD.org> <fe25f23e-e666-831c-9e90-9122822f8be0@FreeBSD.org> <ff541c28-5be4-b756-85a7-4b5c3c3e4262@FreeBSD.org> <48166.1464740223@kaos.jnpr.net> <f487be72-861c-9780-6054-48e35ff377ae@FreeBSD.org> In-Reply-To: <f487be72-861c-9780-6054-48e35ff377ae@FreeBSD.org> --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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?edd66636-a38a-ab30-f411-cf68c04dc11b>