This one is for Stephen only to test on OSX. If this runs fine
then we'll test it on linuxes etc.

Stas.

On Sun, 28 May 2006, Stas Pirogov wrote:

> Date: Sun, 28 May 2006 13:15:41 +0300 (IDT)
> From: Stas Pirogov <keyos at keyos.org>
> Reply-To: Netrek Development Mailing List <netrek-dev at us.netrek.org>
> To: Netrek Development Mailing List <netrek-dev at us.netrek.org>
> Subject: Re: [netrek-dev] Vanilla build broken :(
> 
> On Sun, 28 May 2006, Stephen Thorne wrote:
> 
> > On a basic level, I need a way of detecting if ranlib is gnu ranlib or
> > apple ranlib. The detection method currently employed is insufficient
> > and fragile.
> > 
> > Perhaps using grep on ranlib -V would be better:
> > 
> > $ ranlib -V 2>/dev/null| grep Apple
> > Apple Computer, Inc. version cctools-590.18
> >
> 
> Let's go one step back and understand why do we need to know ranlib 
> version ? If this is a matter of having '-c' as a switch or not then
> we should find a way to test for '-c' correct. Maybe the best way would
> be to build actual archive and run ranlib on it ?
> 
> Let's test following on OSX:
> 
> create test.c:
> 
> int test_func (void)
> {
>     return 1;
> }
> 
> compile with gcc -c test.c
> archive with ar -cru test.a test.c
> run OSX ranlib -c test.a and check the exit code
> 
> If the exit code is 0 then we're good and such test should satisfy both
> OSX and others, because on every other system (except ones with ranlib
> substituted with 'exit 0') it'll return non zero. On the systems with
> 'exit 0' ranlib this test won't matter because 'ar' will create the index
> by default and ranlib will do nothing.
>  
> Testing for ranlib version using -V is not good way IMO.
> 
> Stas.
> 
> > -- 
> > Stephen Thorne
> > 
> > "Give me enough bandwidth and a place to sit and I will move the world."
> >   --Jonathan Lange
> > 
> > _______________________________________________
> > netrek-dev mailing list
> > netrek-dev at us.netrek.org
> > http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
> > 
> 
> _______________________________________________
> netrek-dev mailing list
> netrek-dev at us.netrek.org
> http://mailman.us.netrek.org/mailman/listinfo/netrek-dev
> 
-------------- next part --------------

New patches:

[OSX vs GNU ranlib differentiation
Stas Pirogov <keyos at keyos.org>**20060528160823
 Current patch will try to distinguish between OSX ranlib that requires -c switch
 to generate index and GNU ranlib that creates index by default. Current patch
 relies on AC_LANG_COMPILER_REQUIRE(C) directive that sets various compiler/linker
 variables and on AC_PROG_LIBTOOL macro that creates variables for ar and ranlib
 programs (and creates the libtool script afterwards)
] 
<
> {
hunk ./Vanilla/configure.in 7
 AC_INIT(name.c)
 AC_CONFIG_HEADER(include/config.h)
 AC_PREFIX_DEFAULT("/usr/local/games/netrek-server-vanilla")
+AC_LANG_COMPILER_REQUIRE(C)
 
 #----------------------------------------------------
 #	For which code are we checking? (server, cow)
hunk ./Vanilla/configure.in 485
 
 AC_PROG_LIBTOOL
 
-AC_MSG_CHECKING(for OSX ranlib)
-(eval $RANLIB -c) 2>&5
-if test $? -ne 0; then
-    RANLIB_FLAGS=
-    AC_MSG_RESULT(no)
+AC_MSG_CHECKING(for ranlib style)
+RANLIB_FLAGS=
+cat >>conftest.$ac_ext <<_ACEOF
+int test_func (void)
+{
+  return 1;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+(eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+(eval $ac_compile) 2>&5
+ac_status=$?
+echo "$as_me:$LINENO: \$? = $ac_status" >&5
+if test $ac_status -eq 0; then
+    (eval echo $AR $AR_FLAGS conftest.$libext conftest.$ac_objext) >&5
+    (eval $AR $AR_FLAGS conftest.$libext conftest.$ac_objext) 2>&5
+    ac_status=$?
+    echo "$as_me:$LINENO: \$? = $ac_status" >&5
+    if test $ac_status -eq 0; then
+        (eval echo $RANLIB -c conftest.a) >&5
+        (eval $RANLIB -c conftest.a) 2>&5
+        ac_status=$?
+        echo "$as_me:$LINENO: \$? = $ac_status" >&5
+        if test $ac_status -eq 0; then
+            RANLIB_FLAGS='-c'
+            AC_MSG_RESULT(OSX style)
+        else
+            RANLIB_FLAGS=
+            AC_MSG_RESULT(GNU style)
+        fi
+    else
+        echo "cannot archive"
+    fi
 else
hunk ./Vanilla/configure.in 519
-    RANLIB_FLAGS='-c'
-    AC_MSG_RESULT(drat - yes)
+    echo "cannot compile"
 fi
hunk ./Vanilla/configure.in 521
-
 AC_SUBST(RANLIB_FLAGS)
 
 if test "$code" = server; then
}

Context:

[experimental rework for wait queue dumping changelog
quozl at us.netrek.org**20060527090326] 
[experimental rework for wait queue dumping
quozl at us.netrek.org**20060527090226
 
 	* ntserv/openmem.c: experimental rework to support wait queue
 	dumping, and multiple server instances in separate shared memory
 	segments.  Provide interface so findslot will be able to detach
 	from an active game segment and create and attach to a new game
 	segment.  Accept NETREK_PKEY environment variable.
 
] 
[experiment slot number change command changelog
quozl at us.netrek.org**20060527071222] 
[experiment slot number change command
quozl at us.netrek.org**20060527071121
 
 	* ntserv/ntscmds.c (do_become): add experimental and not yet
 	functioning code to support change of slot number for a player.
 	Requires client-side support and further work.
 
] 
[robotd-toggle-newlogic-news.dpatch
jimmyhua73 at yahoo.com**20060527025530] 
[robotd-toggle-newlogic
jimmyhua73 at yahoo.com**20060527024334
 
 On request, the new logic that the robotd uses can be turned on and off
 via a commandfile or command sequence. Currently defaulted to off. 
 
 hcr -> assume humans carry
 ogh -> ogg carriers while I am bombing
 
 	* INSTALL.Newbie updated INSTALL.Newbie to document newer switches.
 	Need to include all possible robot switches in the future. 
 
 	* robotd/data.c added initialization of global variables hm_cr and 
 	ogg_happy
 
 	* robotd/data.h added global variables hm_cr and ogg_happy
 
 	* robotd/decide.c added check for ogg_happy mode before 
 	check_ogg while bombing
 
 	* robotd/dmessage.c added hcr and ogh message decoding. 
 
 	* robotd/update_players.c moved conservative assumptions that
 	humans carry into a new function called army_check3. 
 
 	* robotd/update_players.c added logic so army_check3 only 
 	executes if (hm_cr) global variable is active. 
 
 
 
] 
[resolve conflicts with newbie-configurable-robots-changelog.dpatch
Stephen Thorne <stephen at thorne.id.au>**20060526081423] 
[newbie-configurable-robots.dpatch
jimmyhua73 at yahoo.com**20060526063547
 
 	* INSTALL.Newbie updated documentation to show how to configure
 	the robots to be dumber
 
 	* robotd/data.c changed default updates=2.0 instead of 1.0, decreases
 	CPU load by 50% and fights about the same. 
 
 	* robotd/dmessage.c allow decoding of local messages and commandfile
 	messages even if robot is in INL mode. In INL mode, robots will 
 	ignore other players and GOD's commands. 
 
 	* robots/newbie.c checkpos() returns 1, to avoid compiler warning
 
 	* robots/newbie.c added a bunch of comments on what each option
 	does, when Merlin forks a robot. 
 
 	* robots/newbie.c modified the command so robots now read a command
 	file on startup. 
 
] 
[newbie-configurable-robots-changelog.dpatch
jimmyhua73 at yahoo.com**20060526064353] 
[ping pong plasma bot changelog
quozl at us.netrek.org**20060525050440] 
[remove res-rsa/configure
Trent Piepho <xyzzy at speakeasy.org>**20060525015328
 This is a generated file and shouldn't be kept in the repository.
] 
[help bot deal with ping-pong plasma
Trent Piepho <xyzzy at speakeasy.org>**20060525030034
 The robot has code to deal with Ping-Pong plasma, but it's an old
 version.  It doesn't work properly with the current ping pong plasmas,
 written by Trent Piepho in 1995 (so the old ones are really old!). 
 Basically, the bots needs to allow for plasma fired by a friendly player
 becoming hostile to it.
       
 Also sets the pl_team member of the plasma struct, which makes getting
 the plasma's team easier.
] 
[help client with plasma war in ping-pong mode
Trent Piepho <xyzzy at speakeasy.org>**20060525025806
 In Ping-Pong plasma mode, a plasma changes teams when it is bounced. 
 There is no way to send this change to the client, so the client doesn't
 know.  For example, if a player at peace with us but who we are at war
 with bounces our (or a teammate's) plasma back at us, it appears to the
 client that the plasma is friendly.  But really, it's not, since we are
 at war with the plasma's new team.  Fix this by setting the plasma's war
 flag if the player is hostile to the plasma's team.
  
 In order to take advantage of this, clients will need to be sure to:
 1. Not assume that the player's own plasma is friendly.
 2. Not assume that plasma from the player's team is friendly.
 3. Make sure the check the plasma's war flags, and not the flags of the
 player who fired it.
 
] 
[deprecate dan quayle in t-mode messages changelog
quozl at us.netrek.org**20060525041559] 
[deprecate dan quayle in t-mode messages
quozl at us.netrek.org**20060525041344
 
 	* include/defs.h (WARMONGER): add customisation setting for
 	configuration of local warmonger, so that we are not caught by
 	change again so easily.
 
 	* ntserv/daemonII.c (political_begin): deprecate Dan Quayle in
 	favour of George Bush, subject to mailing list discussion.  Patch
 	by: William Balcerski with rework by James Cameron.
 
] 
[rewrite build test script changelog
quozl at us.netrek.org**20060525013820] 
[rewrite build test script
quozl at us.netrek.org**20060525013317
 
 	* autogen.sh: add res-rsa to autoconf re-run,
 
 	* tests/build: test for correct directory, use darcs get instead
 	of put, use autogen.sh instead of running autotools here, add the
 	install target.
 
 	"darcs put" is slow, the darcs manual recommends "darcs get" instead,
 	which is certainly faster.  But "darcs get" must have the exact path to
 	a repo, not like "darcs put".  So a test is added to check that we are
 	in the right directory first.
 
] 
[Player position sign fix
williamb at its.caltech.edu*-20060524080901
 * genspkt.c: With short packets on, positions in the negative (i.e. on player
 death) were being reported incorrectly. 
] 
[robotd omnibus 2 changelog
quozl at us.netrek.org**20060525003615
 Addition of ChangeLog and NEWS entries to cover Trent Piepho's rework 
 of Jimmy Huang's changes to robotd.
] 
[torp dir for robot
Trent Piepho <xyzzy at speakeasy.org>**20060524082754
 Hadley's bot expects to get torp direction from the server, but the
 server only sends it for your own torps.  Changed to send it for other
 players' torps too.  Without it, the bot thinks all torps are going
 straight up, making it a very bad dodger (unless you attack from below). 
   
 This should be fixed to only turn this on for the robot, so as not to
 help borgs.  This will have to wait on a better way to detect robots.
] 
[fix calls to req_cloak_off()
Trent Piepho <xyzzy at speakeasy.org>**20060524082708
 Some calls to req_cloak_off() were missing the function's argument,
 the reason string.
] 
[fix res danger
Trent Piepho <xyzzy at speakeasy.org>**20060524082437
 The check for res danger would make the robot cloak when near _any_ home
 planet, so it would cloak even when bombing it's own core.  Unfortunately,
 it is not possible to tell from the planet flags whose home world a
 planet is.  Changed the code to only check the normal home planet
 indexes, skipping the bots's own HW, for proximity.  This makes the code
 much smaller and faster.  Realistically, the HWs are always at the
 standard indexes, even with non-standard planet layouts.  Included a bit
 of code, #if'ed out, that will find home worlds by name, the way the bot
 does when it wants to refit.
] 
[fix use of un-initialized variable
Trent Piepho <xyzzy at speakeasy.org>**20060524082353
 Fix a warning about a un-initialized use of pldist in update_players(). 
 It didn't matter, but fix the warning anyway.
] 
[fix crash in RCD generation
Trent Piepho <xyzzy at speakeasy.org>**20060524082241
 The code to generate the RCD message didn't handle the case when there
 were no visible friendly and/or enemy ships.  In this case,
 _state.closest_{e,f} would be NULL.  Do what clients do in this case, and
 use me->p_no when no suitable other player is known.
] 
[fix closest_planet
Trent Piepho <xyzzy at speakeasy.org>**20060524082149
 closest_planet() would usually return NULL every other time it was
 called.  For speed, it would check the previous closest planet first,
 then look for a _closer_ planet.  If it didn't find one, it returned
 NULL, rather than the previous (and current) closest planet (which
 it now returns).  
] 
[fix neutral planet check
Trent Piepho <xyzzy at speakeasy.org>**20060524082029
 Fix several bugs with check_take().  It didn't handle the case when no
 enemy planets were left.  It looked at the last enemy planet in the list,
 rather than the target enemy planet when deciding if it should take neut
 planets.  It would skip looking for neuts when it found an enemy agri and
 _didn't_ have enough armies to take it.
] 
[adapt when assaulting
Trent Piepho <xyzzy at speakeasy.org>**20060524081723
 The assault planet code didn't re-check the target planet after the
 assault started.  If the planet was taken by another player on a friendly
 team, or modified by god, the robot would still try to bomb/take it, even
 when that action was no longer possible.  The robot will now check for
 planets is can not drop on, and abort the assault if so.  It will not try
 to bomb planets it can not bomb.  It will also stop reinforcing planets
 when they get to 4 armies.
] 
[fix mfprintf()
Trent Piepho <xyzzy at speakeasy.org>**20060524081613
 When mfprintf() was changed from varargs to stdarg, it wasn't done
 correctly.  Fix this.
] 
[robotd-fixes1.dpatch
jimmyhua73 at yahoo.com*-20060521152116
 
 changelog entry here. 
 
     * robotd/assault.c added extra check not to bomb your own armies. 
     Bots will try to bomb own armies when 2 carriers drop on same planet.
     And planet ends up with >4 armies. 
 
     * robotd/decide.c changed some tabbing
 
     * robotd/decide.c corrected logic in check_take function. Robotd now
     takes neutral planets. Before it had a tendency to ignore neutral 
     planets. Also used to crash out when no more enemy planets. Both are
     fixed with this. 
 
     * robotd/main.c, shmem.c, socket.c, update_players.c
     removed mfprintf function. replaced with fprintf function until such
     time that mfprintf function is fixed so it doesn't crash. Bandaid. 
 
     * robotd/update_players.c changed some tabbing, added some missing
     braces.
 
     * robotd/update_players.c changed closest_planet() function to 
     return the current closest planet instead of NULL when it cannot
     find a closer planet. 
 
     * robotd/util.c added comments to reflect that mfprintf causes
     crashes for as yet unknown reasons. 
 
 
 
] 
[robotd mfprintf regression fix
quozl at us.netrek.org*-20060524004752
 
 	* robotd/util.c (mfprintf): fix a regression caused by conversion
 	  to stdargs done on Fri Oct 31 09:15:42 2003.
 
] 
[robotd-indent-fix.dpatch
jimmyhua73 at yahoo.com*-20060523010939
 
 fixed indentation to follow existing code. 
 
 The following files were changed:
 
 decide.c, main.c, shmem.c, socket.c, update_players.c, util.c
 
 
] 
[fix ranlib for solaris changelog
Stas Pirogov <keyos at keyos.org>**20060524235806] 
[fix ranlib for solaris
Stas Pirogov <keyos at keyos.org>**20060524235510
 
 	* configure.in: test for ranlib was failing on Solaris. This is
 	probably caused by different /bin/sh interpreters.  This fix should
 	satisfy all of them.
 
] 
[PROJECTS update
williamb at its.caltech.edu**20060524093948
 Removed twarp observer bug from PROJECTS list, as this has been fixed.
] 
[conflict resolution 2006-08-24-a
quozl at us.netrek.org**20060524042919] 
[remove glib-config from Makefile.in
Trent Piepho <xyzzy at speakeasy.org>**20060522213300
 The Makefile includes calls to glib-config, which aren't necessary to
 build the server, and fail if glib-config doesn't exist.  If someone
 wants to enable the (disabled) database timing functionality that uses
 glib, they can just add the options when they run configure.
] 
[remove glib-config from Makefile.in
Trent Piepho <xyzzy at speakeasy.org>**20060522212353
 The Makefile includes calls to glib-config, which aren't necessary to
 build the server, and fail if glib-config doesn't exist.  If someone
 wants to enable the (disabled) database timing functionality that uses
 glib, they can just add the options when they run configure.
] 
[Player position sign fix
williamb at its.caltech.edu**20060524080901
 * genspkt.c: With short packets on, positions in the negative (i.e. on player
 death) were being reported incorrectly. 
] 
[fix SP_2 flag sending for real changelog
quozl at us.netrek.org**20060524024253] 
[fix SP_2 flag sending for real
Trent Piepho <xyzzy at speakeasy.org>**20060524002833
 The sndFlags function will not send flags of observers (except for
 PFOBSERV of course).  The SP_2 flag sampling code will sample the flags
 of robots now.  It wll not sample observers' flags, except for an
 observer's own flags.  The SP_2 sampling code will update the last sent
 flags data, so shield/cloak are not sent again via sndFlags().  When
 sndFlags() does send flags, it will sent the correct shield/cloak and not
 zero.
] 
[remove generated autotools files
quozl at us.netrek.org**20060524015023
 aclocal.m4 and configure are generated files, they are generated using
 autogen.sh from configure.in, and as such they do not deserve to be in the
 repository and are costing us time and energy as they change.
] 
[misc bugs update
quozl at us.netrek.org**20060524014925] 
[deprecate README.darcs execution in favour of autogen.sh changelog
quozl at us.netrek.org**20060524011944] 
[deprecate README.darcs execution in favour of autogen.sh
quozl at us.netrek.org**20060524011759
 
 	* autogen.sh: add GNU standard autotools configuration sequence,
 	deprecating execution of README.darcs.  Manual build process then
 	becomes "sh autogen.sh" followed by the usual configure, make, and
 	make install.
 
] 
[newbie-fixes.dpatch changelog conflict resolution
quozl at us.netrek.org**20060524005953] 
[newbie-fixes.dpatch
jimmyhua73 at yahoo.com**20060523153223
 
  Bug fixes:
 
   1. Merlin gets moved on genocide. Now Merlin moves himself back.
   2. You can get Merlin into a race condition by timing your join and
   joining something other than what Merlin chooses for the warring teams.
   This is fixed (I think). I was never able to time this right!!!
   James please check again!
 
  Known Bug:
 
  1. t-mode criteria is hardcoded into Merlin as 4 players a side.
 
  ChangeLog here:
 
      * robots/newbie.c changed some tabbing for better indent and bracing
      consistency.
 
      * robots/newbie.c added #defines POSITIONX and POSITIONY so there's
      only one place the change the desired x and y position of Merlin
 
      * robots/newbie.c added checkpos() function which checks for changes
      in Merlin's position. Replaces him back into POSITIONX and POSITIONY
      once it finds that Merlin has stopped moving for 15 seconds.
 
      * robots/newbie.c corrected misspellings of various comments
 
      * robots/newbie.c modified num_players() function to return
      the correct *next_team based on t-mode settings also
 
] 
[robotd_udcounter.dpatch
jimmyhua73 at yahoo.com**20060523143934
 
 I re-did the setflag() function, so it now will always report back
 a positive incrementing int at 100ms intervals. And it starts with 0
 on program start. 
 
 There are some other places that initialize _udcounter, I think this
 might need to be got rid of, but I didn't do that in this patch. 
 
 Read the longwinded diatribe in the Changelog. 
 
] 
[newbie-install-docs-update.dpatch
jimmyhua73 at yahoo.com**20060523155757
 
 Updated the installation document for newbie
 
] 
[robotd mfprintf regression fix changelog
quozl at us.netrek.org**20060524004957] 
[robotd mfprintf regression fix
quozl at us.netrek.org**20060524004752
 
 	* robotd/util.c (mfprintf): fix a regression caused by conversion
 	  to stdargs done on Fri Oct 31 09:15:42 2003.
 
] 
[revised coding style and darcs discipline
quozl at us.netrek.org**20060523050927
 Rewrite of the coding style and patch acceptance criteria based on 
 feedback on the mailing list from Stephen Thorne and Trent Piepho.
] 
[Declare_war fix
williamb at its.caltech.edu**20060522012930
         * proto.h, warnings.h, enter.c, interface.c, socket.c, rmove.c: 
           added boolean to declare_war function to indicate whether to
           add delay and send delay message.  Fixes the case of unwanted 
           war delay message when switching teams, and also prevents robots
           from entering a state of permanent declare war delay.
] 
[fix lack of shields shown on practice robots and iggies changelog
quozl at us.netrek.org**20060523040534] 
[fix lack of shields shown on practice robots and iggies
quozl at us.netrek.org**20060523040421
 	* ntserv/genspkt.c (sndFlags): for practice robots, terminators,
 	and hunter-killer, in conjunction with short packets version two,
 	shields were not being sent.  Changed to send shields in SP_FLAGS.
 	See also "S_P2 new flag sampling" in updateShips().  Reported by
 	William Balcerski.
] 
[robotd-indent-fix.dpatch
jimmyhua73 at yahoo.com**20060523010939
 
 fixed indentation to follow existing code. 
 
 The following files were changed:
 
 decide.c, main.c, shmem.c, socket.c, update_players.c, util.c
 
 
] 
[resrsa-gmp-autoconf.darcs
Trent Piepho <xyzzy at speakeasy.org>**20060522210616
 
 The test for gmp in the res-rsa autoconf file failed for gmp version
 3.  In gmp3, functions are #define'd to different names in gmp.h, for
 example mpz_init() becomes __gmpz_init().  Since the autoconf test
 doesn't include gmp.h, it didn't find the new names.  The fix, copied
 from http://www.kaffe.org/pipermail/kaffe/2000-November/090303.html,
 is to just do a new test with the gmp3 names if the first test fails. 
] 
[revise build test after libtoolize adoption
quozl at us.netrek.org**20060522061037
 Stephen Thorne's addition of libtool to the configuration requires a
 change to the build test sequence, to run libtoolize and aclocal.
 Also it is no longer necessary to make configure executable, as autoconf
 does that for us.
] 
[setteam usage fix
quozl at us.netrek.org**20060522022327
 	* tools/setteam.c: fix error in usage propogated from setplanet,
 	and remove unnecessary include.
] 
[Observ mask fix
williamb at its.caltech.edu**20060522014159
         * socket.c, redraw.c: removal of lockup for observers under
           declare war/transwarp/refit situations.  Reverses previous
           patch by restoring PFWAR and PFREFITTING mask to observers.
] 
[resolve conflicts with changelog
Stephen Thorne <stephen at thorne.id.au>**20060522011533] 
[fix two second delay on client connection if daemon not running changelog
quozl at us.netrek.org**20060521123415] 
[add game pause/resume/terminate tool, setgame changelog
quozl at us.netrek.org**20060521115308] 
[add max duplicate ip count for pickup play changelog
quozl at us.netrek.org**20060519080824] 
[add install-ntserv target for live updates changelog
quozl at us.netrek.org**20060519061157] 
[mute banned observers changelog
quozl at us.netrek.org**20060519042833] 
[transcription of ChangeLog data for Jimmy's patch
Stephen Thorne <stephen at thorne.id.au>**20060522005345] 
[robotd-fixes1.dpatch
jimmyhua73 at yahoo.com**20060521152116
 
 changelog entry here. 
 
     * robotd/assault.c added extra check not to bomb your own armies. 
     Bots will try to bomb own armies when 2 carriers drop on same planet.
     And planet ends up with >4 armies. 
 
     * robotd/decide.c changed some tabbing
 
     * robotd/decide.c corrected logic in check_take function. Robotd now
     takes neutral planets. Before it had a tendency to ignore neutral 
     planets. Also used to crash out when no more enemy planets. Both are
     fixed with this. 
 
     * robotd/main.c, shmem.c, socket.c, update_players.c
     removed mfprintf function. replaced with fprintf function until such
     time that mfprintf function is fixed so it doesn't crash. Bandaid. 
 
     * robotd/update_players.c changed some tabbing, added some missing
     braces.
 
     * robotd/update_players.c changed closest_planet() function to 
     return the current closest planet instead of NULL when it cannot
     find a closer planet. 
 
     * robotd/util.c added comments to reflect that mfprintf causes
     crashes for as yet unknown reasons. 
 
 
 
] 
[fix two second delay on client connection if daemon not running
quozl at us.netrek.org**20060521123246
 
 	Remove the two second delay experienced by clients that connect to
 	a server on which the daemon is not running.  Also fix a cause of
 	initial connection failing, which happens if the daemon does not
 	start up within the hoped-for interval.
 
 	Solution is implemented using the SIGUSR1 signal, but only during
 	the initialisation window between when ntserv forks the daemon and
 	the daemon completes initialisation.  The signal is not used at
 	other times.
 	
 	* ntserv/daemonII.c (main): send a SIGUSR1 to parent process
 	(ntserv) once initialisation of shared memory is completed and
 	regular SIGALRMs are about to commence.
 
 	* ntserv/openmem.c (openmem): remove two second delay that was
 	used to hope for daemon to initialise.
 	
 	* ntserv/openmem.c (startdaemon): add a wait for SIGUSR1.
 
] 
[add game pause/resume/terminate tool, setgame
quozl at us.netrek.org**20060521115034
 
 	* tools/setgame.c: add script utility for pausing, resuming, and
 	terminating the game.
 
 	* tools/Makefile.in: add setgame target.
 
 	* ntserv/input.c (input): send bad version packet to terminate
 	client as soon as a GU_GAMEOK termination is requested.
 
 	* ntserv/daemonII.c (udplayers): terminate daemon as soon as
 	possible if a GU_GAMEOK termination is requested.  Change nplayers
 	to nfree, to better explain what the variable is.
 
 	* include/struct.h (game_ok): remove unused macro.
 
] 
[add max duplicate ip count for pickup play
quozl at us.netrek.org**20060519075351
 Adds a new etc/sysdef option DUPLICATES which is the maximum number of
 pickup player slots allowed from the same IP address before the next
 connection is given the Q32 response.
 
 This is a denial of service filtering feature.
 
 The default is 3.  Set this above 16 to make it ineffective.
 
 Set this to less than half of the number of players per side, otherwise
 abusers may not be ejected or banned by majority vote because a majority
 would be impossible.
 
 Does not affect robots, unless they join via the pickup queue ... which
 would be a misconfiguration.  Robots normally join via a special queue.
] 
[add install-ntserv target for live updates
quozl at us.netrek.org**20060519060623
 Addition of a target install-ntserv to the ntserv Makefile so that a
 server operator can do a live update of ntserv during a running game.
 
 The target moves the existing in-use ntserv binary into an archive
 tree before installing the new ntserv binary.  This makes it possible
 to manually back out of an installation if the new binary breaks
 badly.
 
 Other methods to test a new ntserv binary include running it manually
 for connection back to the client.  See ntserv command line options.
] 
[mute banned observers
quozl at us.netrek.org**20060519042723
 Banned observers are allowed in and can speak, which was a surprise, but the
 code has always allowed this since observers were added.  Change to prevent
 banned observers from talking.  Simplify ban logic further.
] 
[fix changelog conflict from att patch
Stephen Thorne <stephen at thorne.id.au>**20060519024319] 
[Transwarp war errormsg
williamb at its.caltech.edu**20060519021844] 
[ATT fixes
williamb at its.caltech.edu**20060518081658] 
[patch acceptance policy regarding patch name and comment
quozl at us.netrek.org**20060519015208
 Define a new policy of not changing ChangeLog and NEWS until release.
] 
[resolve ChangeLog conflict again
Stephen Thorne <stephen at thorne.id.au>**20060518095505] 
[add setteam utility source
quozl at us.netrek.org**20060518061257
 The actual source now, so that builds complete.
] 
[add setteam utility
quozl at us.netrek.org**20060518055920
 Add a utility for viewing and changing the starbase reconstruction timer
 and surrender timer, both of which are in struct teams.  Although these
 timers can be manipulated by other means, setteam makes it easier to 
 script.
 
 Some common code now exists in setplanet.c and setteam.c that deserves
 factorisation.
] 
[resolve ChangeLog conflict - this is getting annoying
Stephen Thorne <stephen at thorne.id.au>**20060518095316] 
[adding aclocal.m4
Stephen Thorne <stephen at thorne.id.au>**20060518020621] 
[resolve conflict
Stephen Thorne <stephen at thorne.id.au>**20060518034143] 
[move wdt reset from SIGALRM handler to input handler
quozl at us.netrek.org**20060518024416
 Slots may jam in POUTFIT after KWINNER if the user terminates
 the client ungracefully ... such that the TCP connection is gone but
 the ntserv lives on.
 
 During this time, daemon synchronisation still sends SIGALRM to the
 ntserv, and ntserv's SIGALRM handler still resets the p_ghostbust
 timer.
 
 Prototype solution is to move p_ghostbust watchdog timer reset from
 within the SIGALRM handler to the section of main loop that is
 executed when input arrives from the client.
 
 Monitoring the p_ghostbust timer with gdb shows it is now reset for a
 dormant client on receipt of ping responses.
] 
[improve the autoconf system to use AC_PROG_LIBTOOL and @RANLIB@ correctly.
Stephen Thorne <stephen at thorne.id.au>**20060518014309
 	* tests/build: Set the configure and mktrekon files executable, just in
 	case.
 
 	* configure.in: Add AC_PROG_LIBTOOL macro.
 
 	* ntserv/Makefile.in: Use the @RANLIB@ and @RANLIB_FLAGS@ macros.
] 
[fix the OSX build by passing the -c flag to ranlib.
Stephen Thorne <stephen at thorne.id.au>**20060517111623] 
[Fix style of some code patched by Jimmy, as per Trent's code review
Stephen Thorne <stephen at thorne.id.au>**20060517030403] 
[updateplayers.dpatch
jimmyhua73 at yahoo.com**20060516075315
 
 Treats humans and bots differently. 
 
 Humans with a high planet rating > 4 are assumed to carry once they
 have a kill. 
 
 Humans alive longer than 5 minutes with 1 kill are also assumed to carry. 
 If you have 2 kills, the time they assume you carry drops to 2.5 minutes...
 
 Uses the OggV packet and "robot!" login to ID the robots. Needed to change
 server source code and newbie.c source to help support this. All
 those changes are already there if you have the newbiebetter.dpatch.
 
 Jimmy
 
] 
[newbie better 2 changelog fix
quozl at us.netrek.org**20060516070248
 Applying the principles of the Software Release Practice HOWTO
 http://www.tldp.org/HOWTO/Software-Release-Practice-HOWTO/
] 
[newbiebetter.dpatch
jimmyhua73 at yahoo.com**20060516071923
 
 newbie now will generate t-mode games randomly any team against
 any other. Also, won't start diagonal games. 
 
 newbie starts up bots with -g option so server knows about the bots. 
 
 genspkt.c also modified so server tells clients which clients
 are newbie bots. 
 
 Merlin still nukes bots based on "robot!" login. So, if you want
 to pretend to be a bot, you may get nuked.  Robots will ID each
 other based both on "robot!" login and also OggV packet. 
 
 If you are the only player on a server and have a "robot!" login...
 The newbie game ends...
 
 
] 
[changelog for Compilation fix for gcc4.0
quozl at us.netrek.org**20060516040416] 
[Compilation fix for gcc4.0
williamb at its.caltech.edu**20060516015945
 Fix for jimmy's code with gcc4.0, compiler doesn't like variables declared in this way, so
 moved the int declare to top of the function.
 This patch contains the following changes:
 
 M ./Vanilla/robotd/assault.c -1 +1
] 
[enable CONTINUOUS_MOUSE by default
quozl at us.netrek.org**20060515223159
 Upgrade of Continuum to 2.11.0 revealed a regression caused by not
 adopting the features file from the previous server.
] 
[post-release notes for 2.11.0
quozl at us.netrek.org**20060515100328
 Changed the notes regarding the release process, to assist self or others
 for next release.
] 
[TAG 2.11.0
quozl at us.netrek.org**20060515091704] 
Patch bundle hash:
308564801976d99676394fe997839d57b093cb31