DMA -- difference between base and port?

Dan Mahoney (Gushi) freebsd at gushi.org
Thu Dec 31 01:23:10 UTC 2020


On Tue, 29 Dec 2020, Ronald Klop wrote:

> Some questions below.

>> On Mon, 21 Dec 2020, Ronald Klop wrote:
>> 
>>> On Mon, 21 Dec 2020 12:12:02 +0100, Dan Mahoney (Gushi) 
>>> <freebsd at gushi.org> wrote:
>>> 
>>>> Hey there,
>>>> At the day job we've been using mail/dma port for a number of years now, 
>>>> and the rollout and config of files in /usr/local/etc/dma is part of our 
>>>> deploy process.
>>>> It only recently occurred to us that there was a "dma" in base since 
>>>> probably 11.0 (whomever wrote the release notes missed that -- and the 
>>>> manpage doesn't mention when it was added to FreeBSD).
>>>> We notice that the "newaliases" function in /etc/mail/mailer.conf is 
>>>> missing from the port version -- which means if you're using ports dma, 
>>>> you probably want to set newaliases to something like /usr/bin/true (dma 
>>>> doesn't use an aliases db, so there's no need to rebuild one, as 
>>>> newaliases would).  Again. something we noticed in our deployment process 
>>>> with puppet.
>
>
> Why are you calling newaliases if dma does not use an aliases db?

Standards.  This is the reason mailutil *and* DMA support a newaliases 
function (why the manpage for DMA suggests it, and why DMA supports it).

As a matter of sysadminnery regardless of installed mailer, it's 
considered standard practice: When you update the alias file, you run 
newaliases.  This is, for example, how we have made our puppet manifests 
work, so it is mailer agnostic.

If you do not have something in mailer.conf for newaliases, you get an 
error.

>> 1) No released version will work with "newaliases" unless "newaliases" is 
>> called as a bareword (so calling /usr/bin/newaliases, as puppet does, 
>> causes you to get a "no recipients" error)  This is fixed in dma head, but 
>> not in either the current port version, or the freebsd base version.
>> 
>
>
> I'm a bit confused. You say "this is fixed in dma head". I see no matching 
> commit about this fix after 0.13 release in 
> https://github.com/corecode/dma/commits/master .

The commit didn't mention this exact issue, but it's:

https://github.com/corecode/dma/commit/98bd7fdfd426048d5bffe459d9be643e3033f225

They changed from using $argv[0] (which would have to match only the 
bareword, like newaliases) to the basename, which strips the rest of the 
path if the code is called with one.

If you doubt this, just point mailutil at dma, and call it as 
/usr/bin/newaliases

Our puppet manifests were calling /usr/bin/newaliases, so we hit this.

Hope these clarify things.

-Dan

-- 

--------Dan Mahoney--------
Techie,  Sysadmin,  WebGeek
Gushi on efnet/undernet IRC
FB:  fb.com/DanielMahoneyIV
LI:   linkedin.com/in/gushi
Site:  http://www.gushi.org
---------------------------



More information about the freebsd-ports mailing list