Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Mar 2001 19:47:40 -0800
From:      Joe Kelsey <joe@zircon.seattle.wa.us>
To:        Joe Kelsey <joe@zircon.seattle.wa.us>
Cc:        freebsd-stable@freebsd.org
Subject:   4.3-BETA #0: mergemaster problems
Message-ID:  <15013.44892.573017.252535@zircon.zircon.seattle.wa.us>
In-Reply-To: <15013.39457.554494.259514@zircon.zircon.seattle.wa.us>
References:  <15013.39457.554494.259514@zircon.zircon.seattle.wa.us>

next in thread | previous in thread | raw e-mail | index | archive | help
Joe Kelsey writes:
 > I have been trying to update my system fro the last week or so.  The
 > basic problem is that whenever I managed to catch a cvsup which did not
 > have pre-4.3 build errors, mergemaster consistently failed.

OK, here is the clue from my mergemaster output:

===> monthly
install -c -o root -g wheel -m 755 200.accounting  999.local  /var/tmp/temproot/etc/periodic/monthly
install -c -o root -g wheel -m 0644  /usr/src/gnu/usr.bin/send-pr/categories  /var/tmp/temproot/etc/gnats/freefall
rm -f /var/tmp/temproot/etc/termcap
ln -s /usr/share/misc/termcap /var/tmp/temproot/etc/termcap
rm -f /var/tmp/temproot/etc/rmt
ln -s /usr/sbin/rmt /var/tmp/temproot/etc/rmt
make: don't know how to make distribution. Stop
*** Error code 2

This shows that mergemaster was trying to execute `make distribution' in
/usr/src/etc.  Here is the relevant part of the /usr/src/etc Makefile:

distribution:
	(cd ${.CURDIR}; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 ${BIN1} ${DESTDIR}/etc; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 755 ${BIN2} ${DESTDIR}/etc; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 defaults/rc.conf ${DESTDIR}/etc/defaults/; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 defaults/make.conf ${DESTDIR}/etc/defaults/; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 defaults/pccard.conf ${DESTDIR}/etc/defaults/; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 defaults/periodic.conf ${DESTDIR}/etc/defaults/; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \
	    ${DESTDIR}/var/log/cron; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 600 \
	    master.passwd ${DESTDIR}/etc; \
	( cd ${.CURDIR}/periodic; ${MAKE} install ); \
	( cd ${.CURDIR}/../gnu/usr.bin/send-pr; ${MAKE} etc-gnats-freefall ); \
	( cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap ); \
	( cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt ); \
	( cd ${.CURDIR}/sendmail; ${MAKE} distribution ); \
	( cd ${.CURDIR}/isdn; ${MAKE} install ); \
	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; \
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 555 \
	     MAKEDEV.local MAKEDEV ${DESTDIR}/dev )

After doing a `${MAKE} install' in periodic, the next place where
`distribution' is made is in sendmail.  However, a line from my
/usr/sup/refuse script is

*sendmail*

meaning, that I never want sendmail to deposit anything on my system.  I
also have

NO_SENDMAIL=true

in /etc/make.conf.  I believe that the distribution should check for
NO_SENDMAIL and not run the sendmail command:

.if !defined(NO_SENDMAIL)
	(cd ${DESTDIR}/sendmail; ${MAKE} distribution );
.endif

I don't understand the need for continuation lines in the above excerpt,
so someone who has more intimate knowledge of this will have to decide
if you really need that long single command line.

The problem is that I still have the old /usr/etc/sendmail directory
hanging around from a time before I put the *sendmail* line in my refuse
file.  People who do not want sendmail should not be forced to take it.

/Joe

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15013.44892.573017.252535>