[CentOS-devel] CR repo update problem

Tue Jul 28 12:05:16 UTC 2015
Nico Kadel-Garcia <nkadel at gmail.com>

On Tue, Jul 28, 2015 at 6:33 AM, Johnny Hughes <johnny at centos.org> wrote:
> On 07/28/2015 04:09 AM, Nico Kadel-Garcia wrote:
>> On Mon, Jul 27, 2015 at 7:52 PM, Fred Smith
>> <fredex at fcshome.stoneham.ma.us> wrote:
>>> On Mon, Jul 27, 2015 at 01:23:07PM -0700, Akemi Yagi wrote:
>>>> On Mon, Jul 27, 2015 at 12:38 PM, Fred Smith
>>>> <fredex at fcshome.stoneham.ma.us> wrote:
>>>>> FYI, I ran all the (then current) updates from the CR repo this morning,
>>>>> and found that it stepped on my sendmail.cf. (presumably the sendmail
>>>>> rpm was the culprit.)
>>>>>
>>>>> I wouldn't think that was the desired beavhior, would you? I'd expect it
>>>>> to drop either a rpm.old or rpm.new file instead.
>>>>>
>>>>> luckily, easy to fix once I figured out why incoming mail was busticated.
>>>>
>>>> If you look into the /etc/mail directory, don't you see
>>>> sendmail.cf.bak? At least in my case, that file was created by
>>>> sendmail* update.
>>>>
>>>> Akemi
>>>
>>> Yes, I do.
>>>
>>> Nevertheless, it seems kinda rude of it to break a working
>>> configuration...
>>>
>>> But I'm no expert, what do I know? :)
>>
>> Sounds like you edited sendmail.cf directly. That's not the standard
>> configuration file for local changes, those usually live in
>> sendmail.mc and are processed with the m4 macro language. As I
>> remember sendmail from.... oh, a very long time ago, you need to use
>> the "sendmail.fc" or "frozen configuration" config file if you want to
>> protect it from rebuilds based on sendmail.mc.
>>
>> Personally, I gave up on sendmail in favor of postfix a decade ago.
>> The only reason I use anything other than postfix these days is if I
>> want to have /etc/aliases and procmail read for local email addresses,
>> and SMTP relay for 'name at host.com' email addresses. The only SMTP
>> server I've seen that handles both at the same time  is exim.
>
> I agree that is likely what happened, if the sendmail.mc file does not
> match the sendmail.cf file, it backs up the cf file and creates a new
> one from the cm file.
>
> That is the standard behavior, and this is not the first version where
> that happens:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1196342
>
> I personally don't like this method, but it is what postfix updates do,
> and it is by design in RHEL.

It's a necessity for any system where more sophisticated config files
are generated from templates. A bit of history for sendmail helps,
too: sendmail had large, thick books published to explain how to
achieve subtle effects in sendmail.cf, and they were *nasty* to try to
patch. They were as bad as raw iptables lists, and as fragile, and
were nightmarish to debug while everyone is screaming that the email
is broken. It's a very robust SMTP server, but was quite tricky for
apprentice admins to handle until the sendmail.mc and m4 macros were
developed.