postfix/postfix.patch

Sun, 03 Apr 2011 13:34:55 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sun, 03 Apr 2011 13:34:55 +0200
changeset 337
f71e028eb3e2
parent 146
bc79b3740eb8
child 495
01294b31a79e
permissions
-rw-r--r--

Correct and improve several packaging aspects including...
Correct datadir path for python modules, correct jar(1) path for
building libgcj classes, strip libexecdir path of version numbers,
improve name of oblbld build path, clean whitespace from as(1) and
ld(1) GNU detection, remove seemingly discarded '--with-local-prefix'
configure argument, and correct hardcoded lto plugin libtool archive
dependency information.

Most importantly, correct IA32 architecture detection logic in
config.gcc to correctly emit SSE2 instructions conditionally, leading
to the removal of all '-march' bootstrap options and replacement with
unconditional (for IA32/AMD64) '-mtune=native' options. Comments and
buildtime warnings are corrected appropriately. In theory these changes
cause a more portable, orthoganal, and optimal bootstrap to be built.

     1 Index: makedefs
     2 --- makedefs.orig	2008-01-15 21:20:24 +0100
     3 +++ makedefs	2008-01-24 12:31:48 +0100
     4 @@ -132,6 +132,10 @@
     5  		;;
     6    FreeBSD.7*)	SYSTYPE=FREEBSD7
     7  		;;
     8 +  FreeBSD.7*)	SYSTYPE=FREEBSD7
     9 +		;;
    10 +  FreeBSD.8*)	SYSTYPE=FREEBSD8
    11 +		;;
    12    OpenBSD.2*)	SYSTYPE=OPENBSD2
    13  		;;
    14    OpenBSD.3*)	SYSTYPE=OPENBSD3
    15 Index: src/util/file_limit.c
    16 --- src/util/file_limit.c.orig	2003-10-22 20:48:36 +0200
    17 +++ src/util/file_limit.c	2008-01-24 12:31:48 +0100
    18 @@ -80,12 +80,21 @@
    19  void    set_file_limit(off_t limit)
    20  {
    21  #ifdef USE_ULIMIT
    22 +#ifdef USE_SOFTLIMITONLY
    23 +#error "USE_ULIMIT and USE_SOFTLIMITONLY are mutual exclusive"
    24 +#endif
    25      if (ulimit(UL_SETFSIZE, limit / ULIMIT_BLOCK_SIZE) < 0)
    26  	msg_fatal("ulimit: %m");
    27  #else
    28      struct rlimit rlim;
    30 +#ifdef USE_SOFTLIMITONLY
    31 +    if (getrlimit(RLIMIT_FSIZE, &rlim) < 0)
    32 +        rlim.rlim_max = RLIM_INFINITY;
    33 +    rlim.rlim_cur = limit;
    34 +#else
    35      rlim.rlim_cur = rlim.rlim_max = limit;
    36 +#endif
    37      if (setrlimit(RLIMIT_FSIZE, &rlim) < 0)
    38  	msg_fatal("setrlimit: %m");
    39  #ifdef SIGXFSZ
    40 Index: src/util/msg_syslog.c
    41 --- src/util/msg_syslog.c.orig	2006-06-15 20:07:16 +0200
    42 +++ src/util/msg_syslog.c	2008-01-24 12:31:48 +0100
    43 @@ -50,6 +50,11 @@
    44  #include <syslog.h>
    45  #include <string.h>
    46  #include <time.h>
    47 +#ifdef USE_SOFTLIMITONLY
    48 +#include <sys/time.h>
    49 +#include <sys/resource.h>
    50 +#include <signal.h>
    51 +#endif
    53  /* Application-specific. */
    55 @@ -144,6 +149,9 @@
    57  static void msg_syslog_print(int level, const char *text)
    58  {
    59 +#ifdef USE_SOFTLIMITONLY
    60 +    struct rlimit save, rlim;
    61 +#endif
    62      static int log_level[] = {
    63  	LOG_INFO, LOG_WARNING, LOG_ERR, LOG_CRIT, LOG_CRIT,
    64      };
    65 @@ -154,6 +162,15 @@
    66      if (level < 0 || level >= (int) (sizeof(log_level) / sizeof(log_level[0])))
    67  	msg_panic("msg_syslog_print: invalid severity level: %d", level);
    69 +#ifdef USE_SOFTLIMITONLY
    70 +    if (getrlimit(RLIMIT_FSIZE, &save) < 0) {
    71 +        save.rlim_cur = RLIM_INFINITY;
    72 +        save.rlim_max = RLIM_INFINITY;
    73 +    }
    74 +    rlim.rlim_cur = save.rlim_max;
    75 +    rlim.rlim_max = save.rlim_max;
    76 +    (void)setrlimit(RLIMIT_FSIZE, &rlim);
    77 +#endif
    78      if (level == MSG_INFO) {
    79  	syslog(syslog_facility | log_level[level], "%.*s",
    80  	       (int) MSG_SYSLOG_RECLEN, text);
    81 @@ -161,6 +178,9 @@
    82  	syslog(syslog_facility | log_level[level], "%s: %.*s",
    83  	       severity_name[level], (int) MSG_SYSLOG_RECLEN, text);
    84      }
    85 +#ifdef USE_SOFTLIMITONLY
    86 +    (void)setrlimit(RLIMIT_FSIZE, &save);
    87 +#endif
    88  }
    90  /* msg_syslog_init - initialize */
    91 Index: src/util/sys_defs.h
    92 --- src/util/sys_defs.h.orig	2008-01-15 01:51:44 +0100
    93 +++ src/util/sys_defs.h	2008-01-24 12:32:41 +0100
    94 @@ -24,7 +24,7 @@
    95    * 4.4BSD and close derivatives.
    96    */
    97  #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \
    98 -    || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \
    99 +    || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) || defined(FREEBSD8) \
   100      || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
   101      || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \
   102      || defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \
   103 Index: src/smtp/smtp_reuse.c
   104 --- src/smtp/smtp_reuse.c.orig	2008-12-04 01:06:42.000000000 +0100
   105 +++ src/smtp/smtp_reuse.c	2009-04-06 20:38:18.974597344 +0200
   106 @@ -216,7 +216,9 @@
   107      /*
   108       * Avoid poor performance when TCP MSS > VSTREAM_BUFSIZE.
   109       */
   110 +#if 0
   111      vstream_tweak_sock(session->stream);
   112 +#endif
   114      /*
   115       * Update the list of used cached addresses.

mercurial