jabberd/jabberd.patch

Tue, 29 Mar 2011 20:04:34 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 29 Mar 2011 20:04:34 +0200
changeset 334
4a34d7a82eab
parent 225
a01e65d97743
child 363
641cacc76b02
permissions
-rw-r--r--

Rework package yet again, correcting and introducing new buildconf logic:
Conditionally disable bootstrap stage comparison correctly, correct
english grammar, better find system as(1) and ld(1), indotruce detailed
optimization option messages, more completely guess cpu types, allow
profiled bootstrapping without a preinstalled GCC because many other
compilers have long since implemented 64-bit arithmetic, instruct make
to build sequentially (not in sparallel) when building a profiled
bootstrap as GCC online documents recommend, and generally improve
comment blocks.

The single most important correction in this changeset relates to the
GCC changed optimization policy since at least GCC 4.5, in which -march
is always passed and not always correctly guessed. In the case of this
package, allowing GCC to guess the architecture leads to wild build
errors at various subcomponents (zlib, libgcc, libiberty...) and
bootstrap stages. It seems quite platform specific, and the safest
approach to correcting this seems to be explicitly always specifying the
-march argument when bootstrapping GCC. Because the best choice 'native'
is not available when bootstrapping using a foreign (non GCC) compiler,
a guess is made according to rpmmacros l_platform in that case.

It is questionable as to whether these recent optimization changes
on the part of GCC or this package are compatible with each other,
or if either are complete or correct at all. At least applying these
corrections allows this package to build again in most cases test.

michael@224 1 Index: etc/c2s.xml.dist.in
michael@224 2 --- etc/c2s.xml.dist.in.orig 2009-06-30 11:38:16 +0200
michael@224 3 +++ etc/c2s.xml.dist.in 2009-06-30 20:45:22 +0200
michael@224 4 @@ -50,18 +50,16 @@
michael@224 5 </router>
michael@224 6
michael@224 7 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 8 - <log type='syslog'>
michael@224 9 + <log type='file'>
michael@224 10 <!-- If logging to syslog, this is the log ident -->
michael@224 11 - <ident>jabberd/c2s</ident>
michael@224 12 + <!-- <ident>jabberd/c2s</ident> -->
michael@224 13
michael@224 14 <!-- If logging to syslog, this is the log facility
michael@224 15 (local0 - local7) [default: local3] -->
michael@224 16 - <facility>local3</facility>
michael@224 17 + <!-- <facility>local3</facility> -->
michael@224 18
michael@224 19 <!-- If logging to file, this is the filename of the logfile -->
michael@224 20 - <!--
michael@224 21 <file>@localstatedir@/jabberd/log/c2s.log</file>
michael@224 22 - -->
michael@224 23 </log>
michael@224 24
michael@224 25 <!-- Local network configuration -->
michael@303 26 @@ -149,7 +147,7 @@
michael@224 27 <id password-change='true' /> -->
michael@224 28
michael@224 29 <!-- IP address to bind to (default: 0.0.0.0) -->
michael@224 30 - <ip>0.0.0.0</ip>
michael@224 31 + <ip>127.0.0.1</ip>
michael@224 32
michael@224 33 <!-- Port to bind to, or 0 to disable unencrypted access to the
michael@224 34 server (default: 5222) -->
michael@224 35 Index: etc/router.xml.dist.in
michael@224 36 --- etc/router.xml.dist.in.orig 2009-06-30 11:38:16 +0200
michael@224 37 +++ etc/router.xml.dist.in 2009-06-30 20:45:06 +0200
michael@224 38 @@ -8,24 +8,22 @@
michael@224 39 <pidfile>@localstatedir@/jabberd/pid/router.pid</pidfile>
michael@224 40
michael@224 41 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 42 - <log type='syslog'>
michael@224 43 + <log type='file'>
michael@224 44 <!-- If logging to syslog, this is the log ident -->
michael@224 45 - <ident>jabberd/router</ident>
michael@224 46 + <!-- <ident>jabberd/router</ident> -->
michael@224 47
michael@224 48 <!-- If logging to syslog, this is the log facility
michael@224 49 (local0 - local7) [default: local3] -->
michael@224 50 - <facility>local3</facility>
michael@224 51 + <!-- <facility>local3</facility> -->
michael@224 52
michael@224 53 <!-- If logging to file, this is the filename of the logfile -->
michael@224 54 - <!--
michael@224 55 <file>@localstatedir@/jabberd/log/router.log</file>
michael@224 56 - -->
michael@224 57 </log>
michael@224 58
michael@224 59 <!-- Local network configuration -->
michael@224 60 <local>
michael@224 61 <!-- IP address to bind to (default: 0.0.0.0) -->
michael@224 62 - <ip>0.0.0.0</ip>
michael@224 63 + <ip>127.0.0.1</ip>
michael@224 64
michael@224 65 <!-- Port to bind to (default: 5347) -->
michael@224 66 <port>5347</port>
michael@224 67 Index: etc/s2s.xml.dist.in
michael@224 68 --- etc/s2s.xml.dist.in.orig 2009-06-30 11:38:16 +0200
michael@224 69 +++ etc/s2s.xml.dist.in 2009-06-30 20:45:06 +0200
michael@224 70 @@ -60,25 +60,23 @@
michael@224 71 </router>
michael@224 72
michael@224 73 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 74 - <log type='syslog'>
michael@224 75 + <log type='file'>
michael@224 76 <!-- If logging to syslog, this is the log ident -->
michael@224 77 - <ident>jabberd/s2s</ident>
michael@224 78 + <!-- <ident>jabberd/s2s</ident> -->
michael@224 79
michael@224 80 <!-- If logging to syslog, this is the log facility
michael@224 81 (local0 - local7) [default: local3] -->
michael@224 82 - <facility>local3</facility>
michael@224 83 + <!-- <facility>local3</facility> -->
michael@224 84
michael@224 85 <!-- if logging to file, this is the filename of the logfile -->
michael@224 86 - <!--
michael@224 87 <file>@localstatedir@/jabberd/log/s2s.log</file>
michael@224 88 - -->
michael@224 89 </log>
michael@224 90
michael@224 91 <!-- Local network configuration -->
michael@224 92 <local>
michael@224 93 <!-- IP and port to listen for incoming s2s connections on
michael@224 94 (default: 0.0.0.0, 5269) -->
michael@224 95 - <ip>0.0.0.0</ip>
michael@224 96 + <ip>127.0.0.1</ip>
michael@224 97 <port>5269</port>
michael@224 98
michael@224 99 <!-- Multihomed machines (with more than one interface and IP address)
michael@224 100 Index: etc/sm.xml.dist.in
michael@224 101 --- etc/sm.xml.dist.in.orig 2009-06-30 11:38:16 +0200
michael@224 102 +++ etc/sm.xml.dist.in 2009-06-30 20:45:36 +0200
michael@224 103 @@ -50,13 +50,13 @@
michael@224 104 </router>
michael@224 105
michael@224 106 <!-- Log configuration - type is "syslog", "file" or "stdout" -->
michael@224 107 - <log type='syslog'>
michael@224 108 + <log type='file'>
michael@224 109 <!-- If logging to syslog, this is the log ident -->
michael@224 110 - <ident>jabberd/sm</ident>
michael@224 111 + <!-- <ident>jabberd/sm</ident> -->
michael@224 112
michael@224 113 <!-- If logging to syslog, this is the log facility
michael@224 114 (local0 - local7) [default: local3] -->
michael@224 115 - <facility>local3</facility>
michael@224 116 + <!-- <facility>local3</facility> -->
michael@224 117
michael@224 118 <!-- If logging to file, this is the filename of the logfile -->
michael@224 119 <!--
michael@224 120 Index: sm/mod_iq_time.c
michael@224 121 --- sm/mod_iq_time.c.orig 2009-06-30 11:38:15 +0200
michael@224 122 +++ sm/mod_iq_time.c 2009-06-30 20:45:06 +0200
michael@224 123 @@ -39,6 +39,7 @@
michael@224 124 static mod_ret_t _iq_time_pkt_sm(mod_instance_t mi, pkt_t pkt)
michael@224 125 {
michael@224 126 time_t t;
michael@224 127 + time_t tzone;
michael@224 128 struct tm *tm;
michael@224 129 char buf[64];
michael@224 130 char *c;
michael@224 131 @@ -78,7 +79,8 @@
michael@224 132 datetime_out(t, dt_DATETIME, buf, 64);
michael@224 133 nad_insert_elem(pkt->nad, 2, NAD_ENS(pkt->nad, 1), "utc", buf);
michael@224 134 #ifdef HAVE_TZSET
michael@224 135 - snprintf(buf, 64, "%+03d:%02d", -((int)timezone)/(60*60), -((int)timezone)%(60*60));
michael@224 136 + tzone = (time_t)((long)mktime(gmtime(&t)) - (long)t);
michael@224 137 + snprintf(buf, 64, "%+03d:%02d", (int) -tzone/(60*60), (int) -tzone%(60*60));
michael@224 138 #else
michael@224 139 snprintf(buf, 64, "%+03d:%02d", (int) tm->tm_gmtoff/(60*60), (int) tm->tm_gmtoff%(60*60));
michael@224 140 #endif
michael@224 141 Index: sm/mod_roster.c
michael@224 142 --- sm/mod_roster.c.orig 2009-06-30 11:38:15 +0200
michael@224 143 +++ sm/mod_roster.c 2009-06-30 20:45:06 +0200
michael@303 144 @@ -708,6 +708,9 @@
michael@224 145 if(user->sessions == NULL)
michael@224 146 return mod_PASS;
michael@224 147
michael@224 148 + /* We have to free old packet - Lemming's memory leak fix */
michael@224 149 + pkt_free(pkt);
michael@224 150 +
michael@224 151 /* build a new packet to push out to everyone */
michael@224 152 pkt = pkt_create(user->sm, "iq", "set", NULL, NULL);
michael@224 153 pkt_id_new(pkt);
michael@224 154 Index: util/util.h
michael@224 155 --- util/util.h.orig 2009-06-30 11:38:16 +0200
michael@224 156 +++ util/util.h 2009-06-30 20:45:06 +0200
michael@224 157 @@ -30,6 +30,8 @@
michael@224 158 #include <time.h>
michael@224 159 #include <errno.h>
michael@224 160 #include <assert.h>
michael@224 161 +#include <sys/types.h>
michael@224 162 +#include <sys/socket.h>
michael@224 163
michael@224 164 #include <expat.h>
michael@224 165
michael@225 166 Index: tools/jabberd.in
michael@225 167 --- tools/jabberd.in.orig 2009-10-31 17:51:42.857115000 +0100
michael@225 168 +++ tools/jabberd.in 2009-10-31 18:07:52.095812899 +0100
michael@225 169 @@ -63,7 +63,7 @@
michael@225 170
michael@225 171
michael@225 172 #-----------------------------------------------------------------------------
michael@225 173 -# Setup the jobs: router, sm, c2s, s2s
michael@225 174 +# Setup the jobs: router, sm, c2s, s2s, mu-conference
michael@225 175 #-----------------------------------------------------------------------------
michael@225 176 $jobs{jabberd}->{prefix} = "JBRD";
michael@225 177
michael@225 178 @@ -83,12 +83,17 @@
michael@225 179 $jobs{s2s}->{config} = "$config_dir/s2s.xml";
michael@225 180 $jobs{s2s}->{prefix} = "S2S";
michael@225 181
michael@225 182 +$jobs{muc}->{cmd} = "$Bin/mu-conference";
michael@225 183 +$jobs{muc}->{config} = "$config_dir/muc.xml";
michael@225 184 +$jobs{muc}->{prefix} = "MUC";
michael@225 185 +
michael@225 186 if ($config eq "internal")
michael@225 187 {
michael@225 188 $programs[0] = ["router"];
michael@225 189 $programs[1] = ["sm"];
michael@225 190 $programs[2] = ["c2s"];
michael@225 191 $programs[3] = ["s2s"];
michael@225 192 + $programs[4] = ["muc"];
michael@225 193 }
michael@225 194 else
michael@225 195 {

mercurial