From f88f925efcc17f40f43bbdcb8aa1e5ff92cdb3a0 Mon Sep 17 00:00:00 2001 From: Gregory Neil Shapiro Date: Mon, 23 Jul 2001 02:19:02 +0000 Subject: [PATCH] If the user sets SENDMAIL_MC to /etc/mail/sendmail.mc, install is told to install /etc/mail/sendmail.cf to /etc/mail/sendmail.cf and exits with an error: ===> etc/sendmail install -c -o root -g wheel -m 644 /etc/mail/sendmail.cf /etc/mail/sendmail.cf install: /etc/mail/sendmail.cf and /etc/mail/sendmail.cf are the same file *** Error code 64 Catch this in the Makefile and don't call install if the source and target are the same file. Reported by: Alexandr Listopad MFC after: 1 week --- etc/mail/Makefile | 2 ++ etc/sendmail/Makefile | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/etc/mail/Makefile b/etc/mail/Makefile index 833b45f55dc4..fed02d38187b 100644 --- a/etc/mail/Makefile +++ b/etc/mail/Makefile @@ -153,7 +153,9 @@ maps: ${SENDMAIL_MAP_OBJ} aliases: ${SENDMAIL_ALIASES}.db install: ${INSTALL_CF} +.if ${INSTALL_CF} != /etc/mail/sendmail.cf ${INSTALL} -c -m ${SHAREMODE} ${INSTALL_CF} /etc/mail/sendmail.cf +.endif start: (. /etc/defaults/rc.conf; source_rc_confs; \ diff --git a/etc/sendmail/Makefile b/etc/sendmail/Makefile index 28b5244b3aeb..228b4da540bc 100644 --- a/etc/sendmail/Makefile +++ b/etc/sendmail/Makefile @@ -38,6 +38,8 @@ INSTALL_CF= ${SENDMAIL_CF} .endif .endif +DEST_CF= ${DESTDIR}/etc/mail/sendmail.cf + ALL+= ${INSTALL_CF} # Additional .cf files to build @@ -57,8 +59,10 @@ install: ${INSTALL_CF} @false .endif .if defined(INSTALL_CF) +.if ${INSTALL_CF} != ${DEST_CF} ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 ${INSTALL_CF} \ - ${DESTDIR}/etc/mail/sendmail.cf + ${DEST_CF} +.endif .endif # Helper for src/etc/Makefile @@ -72,11 +76,13 @@ distribution: freebsd.cf freebsd.mc ${INSTALL_CF} ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \ ${DESTDIR}/etc/mail/freebsd.cf .if defined(INSTALL_CF) +.if ${INSTALL_CF} != ${DEST_CF} ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 ${INSTALL_CF} \ - ${DESTDIR}/etc/mail/sendmail.cf + ${DEST_CF} +.endif .else ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \ - ${DESTDIR}/etc/mail/sendmail.cf + ${DEST_CF} .endif ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${SMDIR}/helpfile \ ${DESTDIR}/etc/mail/helpfile