Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Aug 1999 19:23:42 -0500 (CDT)
From:      "Scot W. Hetzel" <hetzels@westbend.net>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   conf/13016: Wrong sendmail.cf file used by mergemaster
Message-ID:  <199908080023.TAA65398@ns0.westbend.net>

next in thread | raw e-mail | index | archive | help

>Number:         13016
>Category:       conf
>Synopsis:       Wrong sendmail.cf file used by mergemaster
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug  7 17:30:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator:     Scot W. Hetzel <hetzels@westbend.net>
>Release:        FreeBSD 3.2-STABLE i386
>Organization:
West Bend Internet
>Environment:

	FreeBSD 3.2-STABLE

>Description:

When using MergeMaster to update your /etc directory, it does a comparison
between the /var/tmp/temproot/etc/sendmail.cf(freebsd.cf) file and the
current /etc/sendmail.cf file.  If the current sendmail.cf file was created
by a different custom.mc file, then the comparison is useless. As
we are more concerned with what has changed between our custom.cf file,
and not with what has changed between the custom.cf and freebsd.cf files.

The included patches solve this problem by defining SENDMAIL_CF?=freebsd.cf
in the etc/sendmail/Makefile, which can then be re-defined in the make.conf
file.

Also, added RELEASE_CF?=freebsd.cf to the release/Makefile, so that RELEASE
builds will still use freebsd.cf instead of ${SENDMAIL_CF}.  This can be set
in make.conf to specify a different *.cf file to use instead.

>How-To-Repeat:

1. Create a custom *.mc file
2. add SENDMAIL_CF=<[custom_mc_name].cf> to make.conf
3. create the *.cf file ( cd /usr/src/etc/sendmail ; make install)
4. execute MergeMaster

MergeMaster will show the difference between your custom.cf file and the
freebsd.cf file.

>Fix:

Apply these 3 patches to  etc/Makefile, etc/sendmail/Makefile and
release/Makefile:

diff -u etc/Makefile.orig etc/Makefile
--- etc/Makefile.orig	Fri Jul  9 04:10:12 1999
+++ etc/Makefile	Fri Jul 16 18:23:25 1999
@@ -60,7 +60,7 @@
 	( cd ${.CURDIR}/../gnu/libexec/uucp/sample; ${MAKE} install ); \
 	( cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap ); \
 	( cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt ); \
-	( cd ${.CURDIR}/sendmail; ${MAKE} etc-sendmail.cf ); \
+	( cd ${.CURDIR}/sendmail; ${MAKE} install ); \
 	( cd ${.CURDIR}/isdn; ${MAKE} install );\
 	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; \
 	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 555 \

diff -u etc/sendmail/Makefile.orig etc/sendmail/Makefile
--- etc/sendmail/Makefile.orig	Tue Aug  4 10:53:18 1998
+++ etc/sendmail/Makefile	Sat Aug  7 17:32:37 1999
@@ -16,11 +16,12 @@
 	$(CHMOD) $(ROMODE) ${.TARGET}
 
 ALL=	freebsd.cf
+SENDMAIL_CF?= freebsd.cf
 
 # Local sendmail.cf, may be set in /etc/make.conf.  Warning! If set, this
 # causes 'make install' to always copy it over /etc/sendmail.cf!!!
 # Caveat emptor!  Be sure you want this before you enable it.
-.if defined(SENDMAIL_CF)
+.if defined(SENDMAIL_CF) && ${SENDMAIL_CF} != "freebsd.cf"
 ALL+=	${SENDMAIL_CF}
 .endif
 
@@ -30,15 +31,8 @@
 
 depend:
 
-install:
-.if defined(SENDMAIL_CF)
+install: ${SENDMAIL_CF}
 	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 ${SENDMAIL_CF} \
-		${DESTDIR}/etc/sendmail.cf
-.endif
-
-# Helper for src/etc/Makefile
-etc-sendmail.cf: freebsd.cf
-	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \
 		${DESTDIR}/etc/sendmail.cf
 
 # this is overkill, but....

diff -u release/Makefile.orig release/Makefile
--- release/Makefile.orig	Sat Aug  7 19:01:06 1999
+++ release/Makefile	Sat Aug  7 19:04:20 1999
@@ -130,6 +130,9 @@
 DOCREL= doc.1
 .endif
 
+# Name of the sendmail.cf file to include in the RELEASE
+RELEASE_CF?=freebsd.cf
+
 rerelease release:
 .if !defined(CHROOTDIR) || !defined(BUILDNAME) || !defined(CVSROOT)
 	@echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false
@@ -144,7 +147,8 @@
 .endif
 	-mkdir -p ${CHROOTDIR}
 	cd ${.CURDIR}/../etc && ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR}
-	cd ${.CURDIR}/../etc && ${MAKE} distribution DESTDIR=${CHROOTDIR}
+	cd ${.CURDIR}/../etc && ${MAKE} distribution DESTDIR=${CHROOTDIR} \
+		SENDMAIL_CF=${RELEASE_CF}
 	if [ -f /etc/resolv.conf ]; then \
 		cp -p /etc/resolv.conf ${CHROOTDIR}/etc; \
 	fi

>Release-Note:
>Audit-Trail:
>Unformatted:


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




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