On 11/25/2010 07:06 AM, /dev/rob0 wrote:
On Thu, Nov 25, 2010 at 09:22:09AM +0100, Thomas L?cke wrote:
I've used the following Slackware build script to create a Slackware
13.1 Postfix 2.7.1 package:
http://pastebin.com/cfDZJGXf
Alan's a good ol' boy and friend and colleague of mine, but I told
him that hardcoding the version into those pathnames is a bad idea.
Sure enough, he won't listen to me. :)
I modified his script to be compatible with Postfix "make upgrade"
feature. That means most of the stuff after the make(1) command is
not wanted. I don't gzip(1) the man pages, nor sed(1) postfix-files,
nor mess with those mostly unnecessary ".new" files.
I maintain a "BUILD" file which keeps all my options. When I upgrade,
it's a simple ". BUILD" in the new source tree, followed by this as
root:
postfix stop ; make upgrade ; postfix start
This has never failed me. I have one Slackware 10.0 host which has
done this from Postfix 2.3 up to 2.8, and a 12.2 host which started
out with Postfix 2.6, now 2.8. (2.8 is in development snapshots at
this time.)
When I use the same script to build a 2.7.2 package, I get this error
when I try to start Postfix:
postsuper: fatal: scan_dir_push: open directory defer: Permission denied
Reverting to the 2.7.1 package (build using the same script),
everything just works.
When I install the 2.7.2 package, I can see that the
/var/spool/postfix directories are all owned
root:root, which is obviously wrong.
Running postfix set-permissions manually, I get this:
chown: cannot access `/usr/doc/postfix-2.7.1/README_FILES': No such
file or directory
What the?? Why is postfix set-permissions trying to fix a 2.7.1
directory, and what have I done to bring this about?
The ".new" files hack left your old files in place. You wanted to
manually port any changes in your ma{in,ster}.cf files to the .new
copies, and replace those and your makedefs.out and postfix-files
with their .new brethren.
You CAN do this Alan's way, but again, I recommend against it. For
this, I abandon the Slackware packaging system and use Postfix's own
methods. It's simple enough to remove if you ever feel the need. So
far I haven't.
I just upgraded to 2.7.2 (from 2.7.1) using Alan's script and haven't
had any problems so far. I'm using Slackware 13.0 (x86_64 multilib).
Actually I've used this script to upgrade from 2.6 series to 2.7 series
and never had a problem.