mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-22 09:57:34 +00:00
postfix-2.12-20140626
This commit is contained in:
parent
f9922d6a8a
commit
39fcc2e5c3
@ -20023,3 +20023,20 @@ Apologies for any names omitted.
|
||||
|
||||
Cleanup: don't leak build directory information via SHLIB_ENV
|
||||
in makedefs.out. Files: Makefile.in, conf/postfix-files.
|
||||
|
||||
20140626
|
||||
|
||||
Cleanup: construction debris. Files: Makefile.in,
|
||||
conf/postfix-script.
|
||||
|
||||
Cleanup: replace expanded MAIL_VERSION with $mail_version
|
||||
in main.cf installation parameter settings, to permit safe
|
||||
upgrade of a running mail system. File: postfix-install.
|
||||
|
||||
Cleanup: replace expanded MAIL_VERSION with $mail_version
|
||||
in built-in default installation parameter settings, for
|
||||
consistency with main.cf. File: makedefs, postfix-install,
|
||||
conf/post-install.
|
||||
|
||||
Cleanup: removed $mail_version from the default shlib_directory
|
||||
value. Files: global/mail_params.h, proto/INSTALL.html.
|
||||
|
@ -185,15 +185,15 @@ shared-library support.
|
||||
(Specify "make makefiles shared=no" to explicitly disable Postfix shared-
|
||||
library support).
|
||||
|
||||
This installs shared libraries in $shlib_directory, typically, /usr/lib/
|
||||
postfix/version or /usr/local/lib/postfix/version, with names like libpostfix-
|
||||
name.so, where the name is a source-code directory name such as "util" or
|
||||
"global", and the version is the Postfix release version: x.y.z for stable
|
||||
releases, x.y-date for snapshot (development) releases, or x.y-date-nonprod for
|
||||
non-production releases.
|
||||
This installs shared libraries in $shlib_directory, typically /usr/lib/postfix
|
||||
or /usr/local/lib/postfix, with file names libpostfix-name.so, where the name
|
||||
is a source-code directory name such as "util" or "global", and the version is
|
||||
the Postfix release version: x.y.z for stable releases, x.y-date for snapshot
|
||||
(development) releases, or x.y-date-nonprod for non-production releases.
|
||||
|
||||
See section 4.3.3 "Customizing Postfix shared libraries and database plugins"
|
||||
below for how to customize the Postfix shared-library location and version.
|
||||
below for how to customize the Postfix shared-library location and version,
|
||||
including support to upgrade a running mail system.
|
||||
|
||||
4.3.2 Turning on Postfix database-plugin support
|
||||
|
||||
@ -249,8 +249,8 @@ plugins specify, for example:
|
||||
|
||||
If you intend to upgrade Postfix without stopping the mail system, then you
|
||||
should append the Postfix release version to the shlib_directory pathname, to
|
||||
eliminate the possibility that programs from the old Postfix version will link
|
||||
with files from the new Postfix version. For example:
|
||||
eliminate the possibility that programs will link with shared libraries or
|
||||
database plugins from the wrong Postfix version. For example:
|
||||
|
||||
$ make makefiles shared=yes \
|
||||
shlib_directory=/usr/local/lib/postfix/MAIL_VERSION ...
|
||||
|
@ -59,10 +59,10 @@ meta/makedefs.out: conf/makedefs.out
|
||||
|
||||
meta/postfix-files: conf/postfix-files conf/makedefs.out Makefile
|
||||
rm -f $@
|
||||
(if [ "${SHLIB_DIR_OVERRIDE}" = "no" -o "${SHLIB_DIR}" = "" ]; then \
|
||||
(if [ "${SHLIB_DIR}" = "no" -o "${SHLIB_DIR}" = "" ]; then \
|
||||
sed -e '/^\$$shlib_directory/d' \
|
||||
-e '/dynamicmaps.cf/d' conf/postfix-files; \
|
||||
elif [ "${PLUGIN_LD}" = "" ]; then \
|
||||
elif [ "${PLUGIN_LD}" = ":" -o "${PLUGIN_LD}" = "" ]; then \
|
||||
sed -e '/dynamicmaps.cf/d' \
|
||||
-e '/^\$$shlib_directory\/\$${LIB_PREFIX}/d' \
|
||||
conf/postfix-files | $(EXPAND); \
|
||||
|
@ -185,15 +185,15 @@ shared-library support.
|
||||
(Specify "make makefiles shared=no" to explicitly disable Postfix shared-
|
||||
library support).
|
||||
|
||||
This installs shared libraries in $shlib_directory, typically, /usr/lib/
|
||||
postfix/version or /usr/local/lib/postfix/version, with names like libpostfix-
|
||||
name.so, where the name is a source-code directory name such as "util" or
|
||||
"global", and the version is the Postfix release version: x.y.z for stable
|
||||
releases, x.y-date for snapshot (development) releases, or x.y-date-nonprod for
|
||||
non-production releases.
|
||||
This installs shared libraries in $shlib_directory, typically /usr/lib/postfix
|
||||
or /usr/local/lib/postfix, with file names libpostfix-name.so, where the name
|
||||
is a source-code directory name such as "util" or "global", and the version is
|
||||
the Postfix release version: x.y.z for stable releases, x.y-date for snapshot
|
||||
(development) releases, or x.y-date-nonprod for non-production releases.
|
||||
|
||||
See section 4.3.3 "Customizing Postfix shared libraries and database plugins"
|
||||
below for how to customize the Postfix shared-library location and version.
|
||||
below for how to customize the Postfix shared-library location and version,
|
||||
including support to upgrade a running mail system.
|
||||
|
||||
44..33..22 TTuurrnniinngg oonn PPoossttffiixx ddaattaabbaassee--pplluuggiinn ssuuppppoorrtt
|
||||
|
||||
@ -249,8 +249,8 @@ plugins specify, for example:
|
||||
|
||||
If you intend to upgrade Postfix without stopping the mail system, then you
|
||||
should append the Postfix release version to the shlib_directory pathname, to
|
||||
eliminate the possibility that programs from the old Postfix version will link
|
||||
with files from the new Postfix version. For example:
|
||||
eliminate the possibility that programs will link with shared libraries or
|
||||
database plugins from the wrong Postfix version. For example:
|
||||
|
||||
$ make makefiles shared=yes \
|
||||
shlib_directory=/usr/local/lib/postfix/MAIL_VERSION ...
|
||||
|
18
postfix/conf/postfix-script
Normal file → Executable file
18
postfix/conf/postfix-script
Normal file → Executable file
@ -258,8 +258,9 @@ check-warn)
|
||||
test "$shlib_directory" = "no" || todo="$shlib_directory $todo"
|
||||
todo="$meta_directory $todo"
|
||||
}
|
||||
todo=`echo "$todo" | tr ' ' '\12' | sort -u`
|
||||
|
||||
for dir in `echo "$todo" | tr ' ' '\12' | sort -u`
|
||||
for dir in $todo
|
||||
do
|
||||
ls -lLd $dir | (grep " root " >/dev/null ||
|
||||
$WARN not owned by root: $dir)
|
||||
@ -273,17 +274,22 @@ check-warn)
|
||||
test -n "$check_shared_files" && {
|
||||
todo="$daemon_directory/* $todo"
|
||||
test "$shlib_directory" = "no" ||
|
||||
todo="$shlib_directory/libpostfix* $todo"
|
||||
todo="$shlib_directory/* $todo"
|
||||
todo="$meta_directory/* $todo"
|
||||
}
|
||||
todo=`echo "$todo" | tr ' ' '\12' | sort -u`
|
||||
|
||||
find $todo ! -user root \
|
||||
-exec $WARN not owned by root: {} \;
|
||||
|
||||
todo="$config_directory/."
|
||||
test -n "$check_shared_files" && todo="$daemon_directory/. $todo"
|
||||
# FIXME don't scan non-Postfix files under /usr/local/lib.
|
||||
test "$shlib_directory" = "no" ||
|
||||
todo="$shlib_directory/libpostfix* $shlib_directory/postfix* $todo"
|
||||
test -n "$check_shared_files" && {
|
||||
todo="$daemon_directory/. $todo"
|
||||
test "$shlib_directory" = "no" ||
|
||||
todo="$shlib_directory/. $todo"
|
||||
todo="$meta_directory/. $todo"
|
||||
}
|
||||
todo=`echo "$todo" | tr ' ' '\12' | sort -u`
|
||||
|
||||
find $todo \
|
||||
\( -perm -020 -o -perm -002 \) -type f \
|
||||
|
@ -283,18 +283,18 @@ $ make
|
||||
<p> (Specify "make makefiles shared=no" to explicitly disable Postfix
|
||||
shared-library support). </p>
|
||||
|
||||
<p> This installs shared libraries in $<a href="postconf.5.html#shlib_directory">shlib_directory</a>, typically,
|
||||
/usr/lib/postfix/<i>version</i> or /usr/local/lib/postfix/<i>version</i>,
|
||||
with names like libpostfix-<i>name</i>.so, where the <i>name</i>
|
||||
is a source-code directory name such as "util" or "global", and the
|
||||
<i>version</i> is the Postfix release version: <i>x.y.z</i> for
|
||||
stable releases, <i>x.y</i>-<i>date</i> for snapshot (development)
|
||||
releases, or <i>x.y</i>-<i>date</i>-nonprod for non-production
|
||||
releases. </p>
|
||||
<p> This installs shared libraries in $<a href="postconf.5.html#shlib_directory">shlib_directory</a>, typically
|
||||
/usr/lib/postfix or /usr/local/lib/postfix, with file names
|
||||
libpostfix-<i>name</i>.so, where the <i>name</i> is a source-code
|
||||
directory name such as "util" or "global", and the <i>version</i>
|
||||
is the Postfix release version: <i>x.y.z</i> for stable releases,
|
||||
<i>x.y</i>-<i>date</i> for snapshot (development) releases, or
|
||||
<i>x.y</i>-<i>date</i>-nonprod for non-production releases. </p>
|
||||
|
||||
<p> See section 4.3.3 "Customizing Postfix shared libraries and
|
||||
database plugins" below for how to customize the Postfix shared-library
|
||||
location and version.
|
||||
location and version, including support to upgrade a running mail
|
||||
system. </p>
|
||||
|
||||
<h4><a name="dynamicmaps_enable"> 4.3.2 Turning on Postfix
|
||||
database-plugin support </a></h4>
|
||||
@ -371,8 +371,8 @@ $ make makefiles shared=yes <a href="postconf.5.html#shlib_directory">shlib_dire
|
||||
<p> If you intend to upgrade Postfix without stopping the mail
|
||||
system, then you should append the Postfix release version to the
|
||||
<a href="postconf.5.html#shlib_directory">shlib_directory</a> pathname, to eliminate the possibility that programs
|
||||
from the old Postfix version will link with files from the new
|
||||
Postfix version. For example: </p>
|
||||
will link with shared libraries or database plugins from the wrong
|
||||
Postfix version. For example: </p>
|
||||
|
||||
<blockquote>
|
||||
<pre>
|
||||
|
@ -722,24 +722,12 @@ CCARGS="-I. -I../../include $CCARGS"
|
||||
# ould replace "'${mail_version}'" and "'$(mail_version)'" with
|
||||
# nothing.
|
||||
#
|
||||
# We could work around this by documenting that $$ must be used (and
|
||||
# fix $$ in the case that people use traditional make). But this
|
||||
# would be non-intuitive and bad from a usability point of view.
|
||||
#
|
||||
# We could work around this by documenting that people must pass
|
||||
# name=value via the environment instead of the command line, as in
|
||||
# "shlib_directory=/some/where/'$mail_version' make makefiles", or
|
||||
# that they issue "export" or "setenv" commands depending on their
|
||||
# interactive shell. That would be non-intuitive and bad usability.
|
||||
#
|
||||
# Even if we did any of the above, we would not want to pass the
|
||||
# unexpanded $mail_version via CCARGS, because that requires extra
|
||||
# quoting with `echo "$parm_val" | sed 's/[$]/\\\\$$/'` which is
|
||||
# just too ugly to be portable.
|
||||
#
|
||||
# The upshot of all this is that we will expand MAIL_VERSION in the
|
||||
# "make makefiles parameter=value" command line, and that we pass
|
||||
# the expanded text via CCARGS. This is clumsier but cleaner.
|
||||
# Requiring people to specify $$ is not a good option. Instead we
|
||||
# replace the string MAIL_VERSION in "make makefiles name=value"
|
||||
# parameter values with a form that depends on usage context: the
|
||||
# actual release version in actual pathnames, the unexpanded
|
||||
# $mail_version in main.cf parameter values and built-in default
|
||||
# parameter settings.
|
||||
|
||||
# Helper function to determine DEF_MAIL_VERSION.
|
||||
|
||||
@ -793,6 +781,22 @@ expand_mail_version()
|
||||
s/\$mail_version/$mail_version/g
|
||||
"
|
||||
}
|
||||
|
||||
# Helper to invoke the above. global: parm_name, parm_val, cparm_val, CCARGS.
|
||||
|
||||
process_input_parameter()
|
||||
{
|
||||
case "$parm_val" in
|
||||
*MAIL_VERSION*)
|
||||
cparm_val=`echo "$parm_val"|sed 's/MAIL_VERSION/\\\\$$mail_version/g'`||
|
||||
exit 1
|
||||
parm_val=`expand_MAIL_VERSION "$parm_val"` || exit 1
|
||||
eval ${parm_name}=\""\$parm_val"\";;
|
||||
*) cparm_val="$parm_val";;
|
||||
esac
|
||||
CCARGS="$CCARGS -D$parm_macro=\\\"$cparm_val\\\""
|
||||
}
|
||||
|
||||
# Optionally override installation-parameter default settings.
|
||||
|
||||
command_directory_macro=DEF_COMMAND_DIR
|
||||
@ -817,12 +821,7 @@ do
|
||||
eval parm_macro=\"\$${parm_name}_macro\"
|
||||
case "$parm_val" in
|
||||
"") ;;
|
||||
/*) case "$parm_val" in
|
||||
*MAIL_VERSION*)
|
||||
parm_val=`expand_MAIL_VERSION "$parm_val"` || exit 1
|
||||
eval ${parm_name}=\""\$parm_val"\";;
|
||||
esac
|
||||
CCARGS="$CCARGS -D$parm_macro=\\\"$parm_val\\\"";;
|
||||
/*) process_input_parameter;;
|
||||
*) error "$parm_name must specify an absolute path name";;
|
||||
esac
|
||||
done
|
||||
@ -837,12 +836,7 @@ do
|
||||
eval parm_macro=\"\$${parm_name}_macro\"
|
||||
case "$parm_val" in
|
||||
"") ;;
|
||||
/*|no) case "$parm_val" in
|
||||
*MAIL_VERSION*)
|
||||
parm_val=`expand_MAIL_VERSION "$parm_val"` || exit 1
|
||||
eval ${parm_name}=\""\$parm_val"\";;
|
||||
esac
|
||||
CCARGS="$CCARGS -D$parm_macro=\\\"$parm_val\\\"";;
|
||||
/*|no) process_input_parameter;;
|
||||
*) error "$parm_name must specify \"no\" or an absolute path name";;
|
||||
esac
|
||||
done
|
||||
@ -855,12 +849,7 @@ do
|
||||
eval parm_macro=\"\$${parm_name}_macro\"
|
||||
case "$parm_val" in
|
||||
"") ;;
|
||||
*) case "$parm_val" in
|
||||
*MAIL_VERSION*)
|
||||
parm_val=`expand_MAIL_VERSION "$parm_val"` || exit 1
|
||||
eval ${parm_name}=\""\$parm_val"\";;
|
||||
esac
|
||||
CCARGS="$CCARGS -D$parm_macro=\\\"$parm_val\\\"";;
|
||||
*) process_input_parameter;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
@ -493,7 +493,7 @@ test -f $CONFIG_DIRECTORY/main.cf && {
|
||||
case "$junk" in
|
||||
"") eval unset $name;;
|
||||
esac
|
||||
eval : \${$name=\`bin/postconf -c $CONFIG_DIRECTORY -h $name\`} ||
|
||||
eval : \${$name=\`bin/postconf -c $CONFIG_DIRECTORY -hx $name\`} ||
|
||||
exit 1
|
||||
done
|
||||
}
|
||||
@ -506,7 +506,7 @@ do
|
||||
case "$junk" in
|
||||
"") eval unset $name;;
|
||||
esac
|
||||
eval : \${$name=\`bin/postconf -c conf -d -h $name\`} || exit 1
|
||||
eval : \${$name=\`bin/postconf -c conf -d -hx $name\`} || exit 1
|
||||
done
|
||||
|
||||
# Override settings manually.
|
||||
@ -800,6 +800,23 @@ do
|
||||
# Postfix releases, and software should not suddenly be installed in
|
||||
# the wrong place when Postfix is being upgraded.
|
||||
|
||||
case "$mail_version" in
|
||||
"") mail_version="`bin/postconf -dhx mail_version`" || exit 1
|
||||
esac
|
||||
|
||||
# Undo MAIL_VERSION expansion. If someone really wants the expanded
|
||||
# mail version in main.cf, we're sorry.
|
||||
|
||||
for name in $CONFIG_PARAMS sample_directory
|
||||
do
|
||||
eval junk=\$$name
|
||||
case "$junk" in
|
||||
*"$mail_version"*)
|
||||
val=`echo "$junk" | sed "s/$mail_version/"'$mail_version/g'` || exit 1
|
||||
eval ${name}='"$val"'
|
||||
esac
|
||||
done
|
||||
|
||||
bin/postconf -c $CONFIG_DIRECTORY -e \
|
||||
"daemon_directory = $daemon_directory" \
|
||||
"data_directory = $data_directory" \
|
||||
|
@ -283,18 +283,18 @@ $ make
|
||||
<p> (Specify "make makefiles shared=no" to explicitly disable Postfix
|
||||
shared-library support). </p>
|
||||
|
||||
<p> This installs shared libraries in $shlib_directory, typically,
|
||||
/usr/lib/postfix/<i>version</i> or /usr/local/lib/postfix/<i>version</i>,
|
||||
with names like libpostfix-<i>name</i>.so, where the <i>name</i>
|
||||
is a source-code directory name such as "util" or "global", and the
|
||||
<i>version</i> is the Postfix release version: <i>x.y.z</i> for
|
||||
stable releases, <i>x.y</i>-<i>date</i> for snapshot (development)
|
||||
releases, or <i>x.y</i>-<i>date</i>-nonprod for non-production
|
||||
releases. </p>
|
||||
<p> This installs shared libraries in $shlib_directory, typically
|
||||
/usr/lib/postfix or /usr/local/lib/postfix, with file names
|
||||
libpostfix-<i>name</i>.so, where the <i>name</i> is a source-code
|
||||
directory name such as "util" or "global", and the <i>version</i>
|
||||
is the Postfix release version: <i>x.y.z</i> for stable releases,
|
||||
<i>x.y</i>-<i>date</i> for snapshot (development) releases, or
|
||||
<i>x.y</i>-<i>date</i>-nonprod for non-production releases. </p>
|
||||
|
||||
<p> See section 4.3.3 "Customizing Postfix shared libraries and
|
||||
database plugins" below for how to customize the Postfix shared-library
|
||||
location and version.
|
||||
location, including support to upgrade a running mail system safely.
|
||||
</p>
|
||||
|
||||
<h4><a name="dynamicmaps_enable"> 4.3.2 Turning on Postfix
|
||||
database-plugin support </a></h4>
|
||||
@ -371,8 +371,8 @@ $ make makefiles shared=yes shlib_directory=/usr/local/lib/postfix ...
|
||||
<p> If you intend to upgrade Postfix without stopping the mail
|
||||
system, then you should append the Postfix release version to the
|
||||
shlib_directory pathname, to eliminate the possibility that programs
|
||||
from the old Postfix version will link with files from the new
|
||||
Postfix version. For example: </p>
|
||||
will link with shared libraries or database plugins from the wrong
|
||||
Postfix version. For example: </p>
|
||||
|
||||
<blockquote>
|
||||
<pre>
|
||||
|
@ -3794,7 +3794,7 @@ extern char *var_local_dsn_filter;
|
||||
*/
|
||||
#define VAR_SHLIB_DIR "shlib_directory"
|
||||
#ifndef DEF_SHLIB_DIR
|
||||
#define DEF_SHLIB_DIR "/usr/lib/postfix/$mail_version"
|
||||
#define DEF_SHLIB_DIR "/usr/lib/postfix"
|
||||
#endif
|
||||
extern char *var_shlib_dir;
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Patches change both the patchlevel and the release date. Snapshots have no
|
||||
* patchlevel; they change the release date only.
|
||||
*/
|
||||
#define MAIL_RELEASE_DATE "20140625"
|
||||
#define MAIL_RELEASE_DATE "20140626"
|
||||
#define MAIL_VERSION_NUMBER "2.12"
|
||||
|
||||
#ifdef SNAPSHOT
|
||||
|
Loading…
x
Reference in New Issue
Block a user