| Summary: | 'make includes' clobbers some headers | ||
|---|---|---|---|
| Product: | Base System | Reporter: | des <des> |
| Component: | misc | Assignee: | ru <ru> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 5.0-CURRENT | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: freebsd-bugs->ru You broke it, you fix it. State Changed From-To: open->feedback Do you feel comfortable with src/include/Makefile,v 1.122? State Changed From-To: feedback->closed Fixed in src/include/Makefile, revisions 1.122 and 1.109.2.6. |
Running 'make includes' with SHARED unset or set to 'copies' clobbers 48 headers in /usr/src/include/{isofs,ufs,dev}. The 'copies' target removes those directories entirely, and new copies of the headers must then be installed, causing false negatives when checking dependencies for source code that includes them. The reason for removing the directories is allegedely to remove symlinks placed there by the 'symlinks' target. Fix: Use find(1) to locate and remove symlinks in /usr/src/include instead of mindlessly clobbering everything that moves and some of what doesn't. How-To-Repeat: # cd /usr/src # make includes SHARED=copies or # cd /usr/src/include # make all install SHARED=copies