diff --git a/build.xml b/build.xml index b56d25cbb5f9a89691a9657fceed8708045d0374..5cfe3aa03416d8e34a1f0a12425a05a6989bd157 100644 --- a/build.xml +++ b/build.xml @@ -255,12 +255,12 @@ <defaultexcludes default="true"/> </target> - <!-- A few reeleases only, then back to updater. First release was 0.7.11 --> + <!-- A few reeleases only, then back to updater. Jetty fix for snark in 0.7.14 --> <target name="pkg" depends="distclean, updaterWithJettyFixes, preppkg, installer" /> <target name="pkgclean" depends="deletepkg-temp"> <delete> - <fileset dir="." includes="i2p.tar.bz2 install.jar i2pupdate.zip" /> + <fileset dir="." includes="i2p.tar.bz2 install.jar i2pupdate.zip i2pupdate200.zip" /> </delete> </target> @@ -320,6 +320,10 @@ </target> <target name="preppkg-base" depends="build, preplicenses, prepconsoleDocs"> + <!-- if updater200 was run previously, it left *.pack files in pkg-temp --> + <delete> + <fileset dir="pkg-temp" includes="**/*.jar.pack **/*.war.pack" /> + </delete> <copy file="build/i2p.jar" todir="pkg-temp/lib/" /> <copy file="build/i2ptunnel.jar" todir="pkg-temp/lib/" /> <copy file="build/jasper-compiler.jar" todir="pkg-temp/lib/" /> @@ -458,7 +462,8 @@ <zip destfile="docs.zip" basedir="pkg-temp" whenempty="fail" /> </target> - <target name="updater200" depends="prepupdate, preplicenses, pack200, zipit" /> + <target name="updater200" depends="prepupdate, preplicenses, pack200, zipit200" /> + <target name="updater200WithJettyFixes" depends="prepjupdatefixes, preplicenses, pack200, zipit200" /> <target name="updater" depends="prepupdate, preplicenses, zipit" /> <target name="updaterWithGeoIP" depends="prepupdate, prepgeoupdate, preplicenses, zipit" /> <target name="updaterWithJetty" depends="prepjupdate, preplicenses, zipit" /> @@ -473,24 +478,27 @@ <tar destfile="i2pupdate.tbz" basedir="pkg-temp" compression="bzip2" /> --> </target> + <target name="zipit200"> + <zip destfile="i2pupdate200.zip" basedir="pkg-temp" whenempty="fail" /> + </target> <target name="pack200"> <!-- *nix here --> - <exec executable="sh" osfamily="unix" failifexecutionfails="true"> + <exec executable="sh" osfamily="unix" failonerror="true"> <arg value="-c" /> <arg value="for i in pkg-temp/lib/*.jar pkg-temp/webapps/*war; do echo pack200 $i; mv $i $i.jar; pack200 -g $i.pack $i.jar; rm -f $i.jar; done" /> </exec> - <exec executable="sh" osfamily="mac" failifexecutionfails="true"> + <exec executable="sh" osfamily="mac" failonerror="true"> <arg value="-c" /> <!-- pack200 will only pack to a .pack file, and only from a .jar file, so we put another .jar on the end --> <arg value="for i in pkg-temp/lib/*.jar pkg-temp/webapps/*war; do echo pack200 $i; mv $i $i.jar; pack200 -g $i.pack $i.jar; rm -f $i.jar; done" /> </exec> <!-- windoz here : i admit, i hate escaped symbols in xml, indeed = =! --> - <exec executable="cmd" osfamily="windows" failifexecutionfails="true"> + <exec executable="cmd" osfamily="windows" failonerror="true"> <arg value="/c" /> <arg value="for %i in (pkg-temp\webapps\*.war) do move %i %i.jar && pack200 -g pkg-temp\webapps\%~ni.war.pack %i.jar && del %i.jar" /> </exec> - <exec executable="cmd" osfamily="windows" failifexecutionfails="true"> + <exec executable="cmd" osfamily="windows" failonerror="true"> <arg value="/c" /> <arg value="for %i in (pkg-temp\lib\*.jar) do move %i %i.jar && pack200 -g pkg-temp\lib\%~ni.jar.pack %i.jar && del %i.jar" /> </exec> @@ -703,7 +711,10 @@ <target name="distcleanWithDesktopgui" depends="distclean"> <ant dir="apps/desktopgui" target="build_clean" /> </target> - <target name="release" depends="pkg"> + + <!-- this is the same dependency as pkg, but with updater200 in the middle, + since preppkg puts too much stuff in pkg-temp --> + <target name="release" depends="distclean, updaterWithJettyFixes, updater200WithJettyFixes, preppkg, installer" > <echo message="================================================================" /> <echo message="Did you update these files?" /> <exec executable="ls" failonerror="true"> @@ -733,6 +744,7 @@ <copy file="i2pupdate.zip" tofile="i2pupdate_${release.number}.zip" /> <copy file="i2pinstall.exe" tofile="i2pinstall_${release.number}.exe" /> <delete file="i2pupdate.sud" failonerror="false" /> + <delete file="i2pupdate.su2" failonerror="false" /> <input message="Enter private signing key file:" addproperty="release.privkey" /> <fail message="You must enter a path." > <condition> @@ -750,11 +762,6 @@ <arg value="${release.privkey}" /> <arg value="${release.number}" /> </java> - <fail message="i2pupdate.sud generation failed!" > - <condition> - <length file="i2pupdate.sud" when="lt" length="1000000" /> - </condition> - </fail> <echo message="Verify version and VALID signature:" /> <java classname="net.i2p.crypto.TrustedUpdate" fork="true" failonerror="true"> <classpath> @@ -770,6 +777,32 @@ <arg value="showversion" /> <arg value="i2pupdate.sud" /> </java> + <!-- now build and verify the packed sud from the packed zip --> + <java classname="net.i2p.crypto.TrustedUpdate" fork="true" failonerror="true"> + <classpath> + <pathelement location="build/i2p.jar" /> + </classpath> + <arg value="sign" /> + <arg value="i2pupdate200.zip" /> + <arg value="i2pupdate.su2" /> + <arg value="${release.privkey}" /> + <arg value="${release.number}" /> + </java> + <echo message="Verify version and VALID signature:" /> + <java classname="net.i2p.crypto.TrustedUpdate" fork="true" failonerror="true"> + <classpath> + <pathelement location="build/i2p.jar" /> + </classpath> + <arg value="verifysig" /> + <arg value="i2pupdate.su2" /> + </java> + <java classname="net.i2p.crypto.TrustedUpdate" fork="true" failonerror="true"> + <classpath> + <pathelement location="build/i2p.jar" /> + </classpath> + <arg value="showversion" /> + <arg value="i2pupdate.su2" /> + </java> <!-- will this use the monotonerc file in the current workspace? --> <echo message="Checking out fresh copy into ../i2p-${release.number} for tarballing:" /> <delete dir="../i2p-${release.number}" /> @@ -813,6 +846,7 @@ <arg value="i2pinstall_${release.number}.exe" /> <arg value="i2psource_${release.number}.tar.bz2" /> <arg value="i2pupdate_${release.number}.zip" /> + <arg value="i2pupdate.su2" /> <arg value="i2pupdate.sud" /> <arg value="i2pinstall_${release.number}.exe.sig" /> <arg value="i2psource_${release.number}.tar.bz2.sig" /> @@ -823,11 +857,13 @@ <arg value="i2pinstall_${release.number}.exe" /> <arg value="i2psource_${release.number}.tar.bz2" /> <arg value="i2pupdate_${release.number}.zip" /> + <arg value="i2pupdate.su2" /> <arg value="i2pupdate.sud" /> </exec> <echo message="Don't forget to mtn tag w: i2p-${release.number}" /> <echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" /> </target> + <target name="debian"> <!-- binary only --> <echo message="Did you update the version in these files?" /> @@ -854,6 +890,7 @@ <arg value="-I_MTN" /> </exec> </target> + <!-- the following are appened to help build barebone portable version, none of the above is modified for this purpose --> <target name = "pkg-portable-clean">