Page MenuHomeFreeBSD

Use on crypto.x and rpc.x from the source tree.
ClosedPublic

Authored by brooks on May 19 2016, 5:26 PM.

Details

Summary

During a typical buildworld, DESTDIR was unset so the installed copy was
used which is obviously wrong. Recently, installworld started failing
for me on with an inability to check that dependent generated files were
up to date when the files had not yet been installed. It's not clear to
me how this ever worked or was ever the right thing.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

brooks updated this revision to Diff 16571.May 19 2016, 5:26 PM
brooks retitled this revision from to Use on crypto.x and rpc.x from the source tree..
brooks updated this object.
brooks edited the test plan for this revision. (Show Details)
brooks added a reviewer: bdrewery.
bdrewery edited edge metadata.May 19 2016, 5:28 PM

I once asked Peter about this and I think he suggested it stay as-is. We should get more discussion on this first I think to ensure we are not breaking any workflows as I have never used yp.

I have no idea why this suddenly started failing in our tree. I installed the last couple batches of security updates for 10.2, rebooted, and my builds started failing in installworld. This code has been around forever (1990s).

Found the problem. I'd added a FILES+= line in bsd.lib.mk. I've not figured out exactly how it's breaking things, but it definitely breaks quite a few.

I still think using source files from the installed system is a bad idea...

I agree, just want to be sure it doesn't break yp/rpc expectations. It has weird things like /var/yp/Makefile documented in yp(8) that may mean installworld could lose local changes here. Unsure.

peter edited edge metadata.May 23 2016, 9:53 PM

I think you're thinking of the bizzare relic where /var/yp/Makefile is a local config file. So long as it's installed as /var/yp/Makefile.dist and not clobbering /var/yp/Makefile (which would be just as evil as installing a stock /etc/master.passwd as a result of 'installworld') then it should be fine.

/var/yp/Makefile is evaluated on the host and is run in /var/yp from the yp* daemons and by the admin. It shouldn't have any build time contents.

bdrewery accepted this revision.Jun 1 2016, 6:26 PM
bdrewery edited edge metadata.
This revision is now accepted and ready to land.Jun 1 2016, 6:26 PM
This revision was automatically updated to reflect the committed changes.