smoeding/puppet-sendmail

daemon_options appears to be broken with the latest stdlib

jyaworski opened this issue · 7 comments

Hello:

When I updated stdlib, I get this when I run your module:

Notice: /Stage[main]/Sendmail::Mc/Concat[sendmail.mc]/File[/etc/mail/sendmail.mc]/content:
--- /etc/mail/sendmail.mc       2016-03-28 19:38:08.619650893 +0000
+++ /tmp/puppet-file20160412-15827-ex5s0m       2016-04-12 19:16:05.471658994 +0000
@@ -16,8 +16,8 @@
 dnl #
 dnl # Macros
 dnl #
-DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Port=smtp')dnl
-DAEMON_OPTIONS(`Name=MTA-v6, Family=inet6, Port=smtp, M=O')dnl
+DAEMON_OPTIONS(`')dnl
+DAEMON_OPTIONS(`')dnl
 dnl #
 dnl # Mailer
 dnl #

I this a problem with stdlib's delete function, or with this module?

When you say you updated stdlib, you talk about stdlib version 4.11.0, right? Or are you running stdlib from the current git repository?

I believe you introduced an incompatible change to the delete function.
delete(['ab','b','c','b'], 'b') used to return [ 'ab', 'c' ] before your recent change. I think now it would only return [ 'c' ].

Yep, thanks @smoeding. This isn't you.

puppetlabs/puppetlabs-stdlib#592

Reopening this because there was a stdlib update that touched this, and it's still broken.

-DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Port=smtp')dnl
-DAEMON_OPTIONS(`Name=MTA-v6, Family=inet6, Port=smtp, M=O')dnl
+DAEMON_OPTIONS(`=, =, =, =, =, =, =, =, =, =, =')dnl
+DAEMON_OPTIONS(`=, =, =, =, =, =, =, =, =, =')dnl

This is from using an old stdlib vs updating to a new one. Maybe @bmjen and @hunner will have an opinion.

It looks like even with that PR merged, I still get this problem. There haven't been any changes to the delete function.

PEBKAC.