Sorry for the long posting hiatus but don't expect it to end. I just don't have a lot of time or material to devote to the blog right now.
I recently wanted to upgrade Postfix on my Slackware mail server. I used to use packages from LinuxPackages.net for unofficial packages, but the site has gotten less active and always had a reputation for varying package quality. My preference is using the SlackBuilds to build my own packages. It's fairly simple to download their build script, edit as needed, then build a Slackware package from source.
Since Postfix is not available from Slackware official repositories, I downloaded the SlackBuild files and then the Postfix source.
$ wget http://postfix.cs.utah.edu/source/official/postfix-2.6.8.tar.gz $ wget http://slackbuilds.org/slackbuilds/13.1/network/postfix.tar.gz $ tar xvzf postfix.tar.gz $ ls postfix/ README postfix-2.6.8.tar.gz postfix.info slack-desc doinst.sh postfix.SlackBuild* rc.postfixI am using Cyrus-SASL, so it was important for me to note the following from the SlackBuild Postfix page.
This script builds postfix with support for Dovecot SASL but does notI also noted the following from the postfix.SlackBuild file itself.
include any support for Cyrus-SASL. If you need to enable support for
Cyrus see SASL_README in the source code.
# Postfix unfortunately does not use a handy ./configure script so you # must generate the makefiles using (what else?) "make makefiles". The # following includes support for TLS and SASL. It should automatically # find PCRE and DB3 support. The docs have information for adding # additional support such as MySQL or LDAP.I changed the "make makefile" lines from:
make makefiles \ CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS' \ AUXLIBS="-lssl -lcrypto"to:
make makefiles CCARGS="-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -DHAS_PCRE \ -I/usr/local/include/sasl -I/usr/include" \ AUXLIBS="-L/usr/local/lib -lsasl2 -L/usr/lib -lpcre"This added Cyrus-SASL support and also fixed a problem I was having with it finding PCRE. I also changed the VERSION variable to 2.6.8 since the postfix.SlackBuild file was for 2.6.1. After the changes, all I have to do is run the postfix.SlackBuild file then use "upgradepkg" on the resulting postfix-2.6.8-iX86-1_SBo.tgz package. (Note that official packages use xz for compression now, not gzip, so they will have the extension txz).
The next package I will create using SlackBuilds is cyrus-imapd since it also is not included in Slackware. Cyrus-SASL actually has an official package, but I I've been running Cyrus for so long that I have always installed it from source. I don't remember if that is because it wasn't available as a package back in the day or just because I was using some non-standard options.