Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#13972 closed submission (fixed)

New Port qmail-spamcontrol

Reported by: compconsultant@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: qmail Cc: sfatula (Steve Fatula)
Port:

Description

This is a port of the qmail smtp server along with the spamcontrol patches. Qmail is the second most popular MTA on the internet.

Qmail has a old restrictive license, and, when combined with patches, is fairly convoluted as far as how to compile and install. So, this port tried to follow all of the conventions while still following the license. I understand the licensing has recently changed and hopefully, a future version will be simpler.

Attachments (16)

Portfile (17.8 KB) - added by compconsultant@… 16 years ago.
append-Makefile (629 bytes) - added by compconsultant@… 16 years ago.
patch-dns.c (306 bytes) - added by compconsultant@… 16 years ago.
patch-strerr_sys.c (304 bytes) - added by compconsultant@… 16 years ago.
qmail-send-log-run (100 bytes) - added by compconsultant@… 16 years ago.
qmail-send-run (39 bytes) - added by compconsultant@… 16 years ago.
qmail-smtpd-log-run (108 bytes) - added by compconsultant@… 16 years ago.
qmail-smtpd-run (1.2 KB) - added by compconsultant@… 16 years ago.
qmailctl (3.4 KB) - added by compconsultant@… 16 years ago.
README.txt (1.2 KB) - added by compconsultant@… 16 years ago.
run (39 bytes) - added by compconsultant@… 16 years ago.
patch-Makefile.diff (845 bytes) - added by compconsultant@… 16 years ago.
patch-qmail-lspawn.c.diff (293 bytes) - added by compconsultant@… 16 years ago.
patch-qmail-rspawn.c.diff (302 bytes) - added by compconsultant@… 16 years ago.
patch-qmail.c.diff (375 bytes) - added by compconsultant@… 16 years ago.
Portfile-qmail-spamcontrol.diff (2.9 KB) - added by compconsultant@… 16 years ago.
Addresses case 13313

Download all attachments as: .zip

Change History (37)

Changed 16 years ago by compconsultant@…

Attachment: Portfile added

Changed 16 years ago by compconsultant@…

Attachment: append-Makefile added

Changed 16 years ago by compconsultant@…

Attachment: patch-dns.c added

Changed 16 years ago by compconsultant@…

Attachment: patch-strerr_sys.c added

Changed 16 years ago by compconsultant@…

Attachment: qmail-send-log-run added

Changed 16 years ago by compconsultant@…

Attachment: qmail-send-run added

Changed 16 years ago by compconsultant@…

Attachment: qmail-smtpd-log-run added

Changed 16 years ago by compconsultant@…

Attachment: qmail-smtpd-run added

Changed 16 years ago by compconsultant@…

Attachment: qmailctl added

Changed 16 years ago by compconsultant@…

Attachment: README.txt added

Changed 16 years ago by compconsultant@…

Attachment: run added

comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…

comment:2 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

There are many things I want to change about this port, but I'll start by committing it just as you submitted it, in r33386. Then I'll make some changes.

comment:3 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33387: fixed names of patchfiles; see port lint

comment:4 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33388: don't hard-code "/opt/local"; MacPorts could be installed in any prefix.

comment:5 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33389: removed trailing whitespace in Portfile; see port lint

comment:6 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33390: refine the readme and post-install messages

comment:7 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33391: remove the comment about requiring 10.3; add an error message for users running 10.2

comment:8 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33392: simplify the creation of the required empty directories

comment:9 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33393: use ${name} where appropriate instead of re-typing the port name

comment:10 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33394: more minor changes to the readme

comment:11 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33395: simplify installation of example files with xinstall and a for loop and give the scripts an execute bit

comment:12 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33396: simplify the rest of the post-destroot using xinstall too

comment:13 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33398: remove unnecessary escaping in reinplace making it hard to read

comment:14 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33399: turn off universal variant since it doesn't seem to work. If you can provide a solution to build this software universal, that would of course be better.

comment:15 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

r33400: fix livecheck

comment:16 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: steve@… added

Ok! First of all thank you for your submission. I think I've made all the changes I'm going to make for now. The original version of the Portfile was 18,248 bytes, 366 lines. After all the above changes, the new Portfile is 8331 bytes, 251 lines. Much better!

These questions remain:

  • Could you create a description for each variant please? (port lint reminds you to do this.)
  • The definition of PATH at the top of qmailctl includes /bin twice but not /sbin or /usr/sbin. Is that how it should be? I would think that since you're including ${prefix}/sbin and /usr/local/sbin you would want the other sbin directories too. Actually, are you sure you want to include /usr/local directories there? Software installed using MacPorts should really not be using anything that might be in /usr/local.
  • Do the turdfiles cause problems for qmail or why are you removing them? If they do not cause a problem you should not remove them. If they do cause a problem, then you should explain this in the comment in the post-activate phase, and you should also re-examine the second line of the post-activate phase (which tries to remove ${destroot}${prefix}/var/log/qmail/smtpd/.turd_${name}) because it has no effect: at the activate phase, there is no ${destroot} anymore.

If you could attach portfile patches to address these issues that would be great.

comment:17 Changed 16 years ago by compconsultant@…

Ok, don't forget as I do not see how to do this... to rename all the patch files I originally attached per your changes to .diff, and, all the other files to .in. Also, the Macports guide does not mention port lint! I had not seen that, so, I fugured it out, but, it should be in the guide. The naming convention with .diff and .in are also mentioned nowhere, should be in the guide. You can remove append-Makefile as it is not needed based on the new Portfile I will upload.

Changed 16 years ago by compconsultant@…

Attachment: patch-Makefile.diff added

Changed 16 years ago by compconsultant@…

Attachment: patch-qmail-lspawn.c.diff added

Changed 16 years ago by compconsultant@…

Attachment: patch-qmail-rspawn.c.diff added

Changed 16 years ago by compconsultant@…

Attachment: patch-qmail.c.diff added

comment:18 Changed 16 years ago by compconsultant@…

I changed the way the Makefile patch was done, the new way makes more sense and fits more with Macports. Also, a bug was discovered in Leopard with vfork, so, added a few new patches to work around it. Works fine now. I asked the qmail gurus, they suggested not leaving the turd files. Let me know if it is finally good! I have more ports to contribute related to qmail, so, this was a good exercise in learning.

Changed 16 years ago by compconsultant@…

Addresses case 13313

comment:19 Changed 15 years ago by raimue (Rainer Müller)

Resolution: fixed
Status: newclosed

Closing as requested in #18220, see also #18219.

comment:20 Changed 15 years ago by jmroot (Joshua Root)

Type: enhancementsubmission

comment:21 Changed 15 years ago by (none)

Milestone: Port Submissions

Milestone Port Submissions deleted

Note: See TracTickets for help on using tickets.