Skip site navigation (1)Skip section navigation (2)
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>