Date: Mon, 24 Dec 2001 01:27:09 +0100 (CET) From: BOUWSMA Beery <freebsd-user@netscum.dyndns.dk> To: freebsd-questions@freebsd.org Subject: mergemaster and TEMPROOT/usr/obj/... Message-ID: <200112240027.fBO0R9G52799@crotchety.newsbastards.org>
next in thread | raw e-mail | index | archive | help
[replies sent directly to me may timeout and bounce, since I'm not online as often as I should be, but I'll check the list archives] (I sent my first mail concerning mergemaster to questions, so I may as well send this one here as well. Since I don't know what list would be better, and this message contains no question and therefore is off-topic, let me add a question, which is: which list is the proper forum for a message like this? ) Holiday greetz As part of the running of `mergemaster', it creates its own build object directory in TEMPROOT in the process of building distribution. At present, only sendmail uses this. When mergemaster runs, it detects that files in its own object directory may be missing from the system, when it would be better (IMHO) if it ignores the contents of this object directory. I do not know if there is any future chance of anything desirable popping up somewhere in /usr/obj, particularly since that's an easy directory to override (like I've done), but my guess is no. Three `find' lines need to be changed to ignore TEMPROOT/usr/obj, and I'll bet there's a better way to do this, but here's what I came up with: -- original mergemaster.sh: 696:for COMPFILE in `find . -type f -size +0`; do 775:TEST_FOR_FILES=`find ${TEMPROOT} -type f -size +0 2>/dev/null` 778: find "${TEMPROOT}" -type f -size +0 -- my changes: 711:for COMPFILE in `find . -type f \\! -regex "\\./usr/obj/.*"`; do 793:TEST_FOR_FILES=`find ${TEMPROOT} -type f \\! -regex "${TEMPROOT}/usr/obj/.*" 2>/dev/null` 797: find "${TEMPROOT}" -type f \! -regex "${TEMPROOT}/usr/obj/.*" Note that these hacks also address the problem of empty files being ignored by mergemaster, as I mentioned earlier. Alternatively, it just occurred to me that perhaps `rm -r' could be run on ${TEMPROOT}/usr/obj after the build, unless there's a reason to keep these files. Also, looking at the contents of TEMPROOT, nothing is done with any symbolic links (easy to see with mergemaster -D), so I propose a loop be added to check these and fix or create them if needed. Plus the loop I mentioned some time back to check ownership and permissions... thanks barry bouwsma To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112240027.fBO0R9G52799>