2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-03 15:45:24 +00:00

postfix-2.12-20140531

This commit is contained in:
Wietse Venema
2014-05-31 00:00:00 -05:00
committed by Viktor Dukhovni
parent 179ef499b7
commit 0b957db9d8
6 changed files with 39 additions and 17 deletions

View File

@@ -19859,3 +19859,19 @@ Apologies for any names omitted.
automatically include files under the directory postfix-files.d. automatically include files under the directory postfix-files.d.
See INSTALL section "Building with Postfix shared libraries See INSTALL section "Building with Postfix shared libraries
and database plugins". File: dynamicmaps.c. and database plugins". File: dynamicmaps.c.
20140530
Cleanup: add shlib_directory and plugin_directory to the
postmulti-script list of shared parameters. Viktor Dukhovni.
File: postmulti-script.
Cleanup: to avoid "postfix set-permission" errors, don't
create postfix-files entries for non-existent database
plugins. Problem reported by Viktor. File: Makefile.in.
Bugfix: we can't use "mv" to replace a symlink-to-directory.
Instead we now create all symlinks in place. Unfortunately
the "ln -n" option is not universally implemented, so we
remove the old symlink first. Problem reported by Viktor.
File: postfix-install.

View File

@@ -61,10 +61,19 @@ libexec/postfix-files: conf/postfix-files conf/makedefs.out Makefile
elif [ "${PLUGIN_DIR}" = "no" -o "${PLUGIN_DIR}" = "" ]; then \ elif [ "${PLUGIN_DIR}" = "no" -o "${PLUGIN_DIR}" = "" ]; then \
sed -e '/^\$$plugin_directory/d' conf/postfix-files | $(EXPAND); \ sed -e '/^\$$plugin_directory/d' conf/postfix-files | $(EXPAND); \
else \ else \
$(EXPAND) conf/postfix-files; \ $(EXPAND) conf/postfix-files | awk -F: ' \
BEGIN { \
count = split("'"$(DEFINED_MAP_TYPES)"'", names, " "); \
for (n = 1; n <= count; n++) \
have["$$plugin_directory/$(LIB_PREFIX)" names[n] \
"$(LIB_SUFFIX)"] = 1; } \
/^[$$]plugin_directory.dynamicmaps/ { \
print; next } \
/^[$$]plugin_directory.$(LIB_PREFIX)/ { \
if (have[$$1]) print; next } \
{ print } \
'; \
fi) | case "$(MAKE_FIX)" in \ fi) | case "$(MAKE_FIX)" in \
*cant-move-relative-symlink*) \
sed 's;:l:dynamic;:h:$plugin_directory/dynamic;';; \
*) cat;; \ *) cat;; \
esac > $@ esac > $@

View File

@@ -156,6 +156,8 @@ create|import)
manpage_directory manpage_directory
sample_directory sample_directory
readme_directory readme_directory
shlib_directory
plugin_directory
" "
shift $# # Needed on SunOS where bare "set --" is NOP! shift $# # Needed on SunOS where bare "set --" is NOP!

View File

@@ -534,7 +534,6 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
: ${CC=cc} : ${CC=cc}
CCARGS="$CCARGS" CCARGS="$CCARGS"
CCWARN='$(WARN)' CCWARN='$(WARN)'
MAKE_FIX=cant-move-relative-symlink
# Darwin > 1.3 uses awk and flat_namespace # Darwin > 1.3 uses awk and flat_namespace
case $RELEASE in case $RELEASE in
1.[0-3]) AWK=gawk;; 1.[0-3]) AWK=gawk;;

View File

@@ -293,15 +293,12 @@ compare_or_symlink() {
esac esac
(test $link = "`myreadlink $2`" >/dev/null 2>&1 && echo Skipping $2...) || { (test $link = "`myreadlink $2`" >/dev/null 2>&1 && echo Skipping $2...) || {
echo Updating $2... echo Updating $2...
rm -f $tempdir/junk || exit 1 # We create the symlink in place instead of using mv because:
ln -s $link $tempdir/junk || exit 1 # 1) some systems cannot move symlinks between file systems;
mv -f $tempdir/junk $2 || { # 2) we cannot use mv to replace a symlink-to-directory;
echo $0: Error: your mv command has trouble renaming symlinks. 1>&2 # 3) "ln -n" is not in POSIX, therefore it's not portable.
echo If you run Linux, upgrade to GNU fileutils-4.0 or better, 1>&2 # rm+ln is less atomic but this affects compatibility symlinks only.
echo or choose a tempdir that is in the same file system as $2. 1>&2 rm -f $2 && ln -sf $link $2 || exit 1
echo If you run FreeBSD, upgrade to version 5 or better. 1>&2
exit 1
}
} }
} }
@@ -707,9 +704,8 @@ do
compare_or_replace $mode "$owner" "$group" lib/$file \ compare_or_replace $mode "$owner" "$group" lib/$file \
$SHLIB_DIRECTORY/$file || exit 1;; $SHLIB_DIRECTORY/$file || exit 1;;
'$plugin_directory') '$plugin_directory')
test ! -f plugins/$file || compare_or_replace $mode "$owner" "$group" plugins/$file \
compare_or_replace $mode "$owner" "$group" plugins/$file \ $PLUGIN_DIRECTORY/$file || exit 1;;
$PLUGIN_DIRECTORY/$file || exit 1;;
'$daemon_directory') '$daemon_directory')
compare_or_replace $mode "$owner" "$group" libexec/$file \ compare_or_replace $mode "$owner" "$group" libexec/$file \
$DAEMON_DIRECTORY/$file || exit 1;; $DAEMON_DIRECTORY/$file || exit 1;;

View File

@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no * Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only. * patchlevel; they change the release date only.
*/ */
#define MAIL_RELEASE_DATE "20140530" #define MAIL_RELEASE_DATE "20140531"
#define MAIL_VERSION_NUMBER "2.12" #define MAIL_VERSION_NUMBER "2.12"
#ifdef SNAPSHOT #ifdef SNAPSHOT