Index: /greenstone3/trunk/build.xml
===================================================================
--- /greenstone3/trunk/build.xml	(revision 15097)
+++ /greenstone3/trunk/build.xml	(revision 15098)
@@ -1052,13 +1052,83 @@
   <target name="svnupdate-gs2building" if="collection.building.enabled" depends="init,svnupdate-gs2build,svnupdate-gli" unless="nocvs.mode">
   </target>
+
   <target name="svnupdate-gs2build" if="collection.building.enabled" depends="init" unless="nocvs.mode">
-    <!-- Note: can't do a -d update here cos it will get all of gsdl 
-     also, an update doesn't get new files, so we do a checkout instead. -->
-		<antcall target="checkout-gs2build"/>
+		<!-- please keep this function in sync with checkout-gs2build -->
+
+		<echo>updating gs2build</echo>
+		<!-- svn updates -->
+		<svn>
+			<!-- perllib -->
+			<update dir="gs2build/perllib" revision="${branch.revision}"/>
+
+			<!-- selected packages -->
+			<update dir="gs2build/packages/cpan" revision="${branch.revision}" />
+			<update dir="gs2build/packages/expat" revision="${branch.revision}" />
+			<update dir="gs2build/packages/html-tidy" revision="${branch.revision}" />
+			<update dir="gs2build/packages/isis-gdl" revision="${branch.revision}" />
+			<update dir="gs2build/packages/kea" revision="${branch.revision}" />
+			<update dir="gs2build/packages/pdftohtml" revision="${branch.revision}" />
+			<update dir="gs2build/packages/rtftohtml" revision="${branch.revision}" />
+			<update dir="gs2build/packages/w3mir" revision="${branch.revision}" />
+			<update dir="gs2build/packages/wget" revision="${branch.revision}" />
+			<update dir="gs2build/packages/windows" revision="${branch.revision}" />
+			<update dir="gs2build/packages/wv" revision="${branch.revision}" />
+			<update dir="gs2build/packages/xlhtml" revision="${branch.revision}" />
+			<update dir="gs2build/packages/yaz" revision="${branch.revision}" />
+			
+			<!-- some of src (db2txt hashfile phind txt2db) -->
+			<update dir="gs2build/src/db2txt" revision="${branch.revision}" />
+			<update dir="gs2build/src/hashfile" revision="${branch.revision}" />
+			<update dir="gs2build/src/phind" revision="${branch.revision}" />
+			<update dir="gs2build/src/txt2db" revision="${branch.revision}" />
+
+			<!-- bin -->
+			<update dir="gs2build/bin/script" revision="${branch.revision}" />
+
+			<!-- mappings -->
+			<update dir="gs2build/mappings" revision="${branch.revision}"/>
+
+			<!-- etc/packages -->
+			<update dir="gs2build/etc/packages" revision="${branch.revision}"/>
+	
+			<!-- collect -->
+			<update dir="gs2build/collect/modelcol" revision="${branch.revision}"/>
+
+			<!-- gs2build-extra -->
+			<update dir="gs2build/gs2build-extra" revision="${branch.revision}"/>
+
+			<!-- indexers -->
+			<update dir="gs2build/indexers" revision="${branch.revision}"/>
+
+			<!-- single files -->
+			
+			<!-- some files from lib -->
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/lib/text_t.h" destPath="gs2build/lib/text_t.h"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/lib/text_t.cpp" destPath="gs2build/lib/text_t.cpp"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/lib/gsdlconf.h" destPath="gs2build/lib/gsdlconf.h"/>
+
+			<!-- some files from etc -->
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/etc/marctodc.txt" destPath="gs2build/etc/marctodc.txt"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/etc/dc2marc-mapping.xml" destPath="gs2build/etc/dc2marc-mapping.xml"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/etc/dc2marc.xsl" destPath="gs2build/etc/dc2marc.xsl"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/etc/qdc2marc-mapping.xml" destPath="gs2build/etc/qdc2marc-mapping.xml"/>
+
+			<!-- some files from the gsdl root directory -->
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/setup.bash" destPath="gs2build/setup.bash"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/config.sub" destPath="gs2build/config.sub"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/config.guess" destPath="gs2build/config.guess"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/config.h.in" destPath="gs2build/config.h.in"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/configtest.pl" destPath="gs2build/configtest.pl"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/install-sh" destPath="gs2build/install-sh"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/acconfig.h" destPath="gs2build/acconfig.h"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/aclocal.m4" destPath="gs2build/aclocal.m4"/>
+			<export srcUrl="${svn.root}/gsdl/${branch.path}/WIN32cfg.h" destPath="gs2build/WIN32cfg.h"/>
+		</svn>
+
   </target>
   
   <target name="svnupdate-gli" if="collection.building.enabled" depends="init" unless="nocvs.mode">
     <svn>
-		<update dir="${gli.home}"/>
+		<update dir="${gli.home}" revision="${branch.revision}"/>
 	</svn>
   </target>
@@ -1067,7 +1137,8 @@
   </target>
 
-  <target name="checkout-gs2build" depends="init" if="collection.building.enabled" unless="nocvs.mode">
-    <echo>checking out gs2build</echo>
-		
+	<target name="checkout-gs2build" depends="init" if="collection.building.enabled" unless="nocvs.mode">
+		<!-- please keep this function in sync with update-gs2build -->
+		<echo>checking out gs2build</echo>
+
 		<!-- this has to be created first to avoid errors when trying to export to it later -->
 		<mkdir dir="${basedir}/gs2build/lib"/>
@@ -1141,4 +1212,5 @@
 			<export srcUrl="${svn.root}/gsdl/${branch.path}/WIN32cfg.h" destPath="gs2build/WIN32cfg.h"/>
 		</svn>
+
 	</target>
 
