forked from I2P_Developers/i2p.i2p
Build:
- Switch to IzPack 5.1.3 for building releases (ticket #1864) - Use izpack2exe for Windows installer (ticket #2403)
This commit is contained in:
@@ -34,6 +34,7 @@ sloccount.report.file=sloccount.sc
|
|||||||
#noExe=true
|
#noExe=true
|
||||||
|
|
||||||
# IzPack 5.1.x install dir
|
# IzPack 5.1.x install dir
|
||||||
|
# Default is $HOME/IzPack
|
||||||
#izpack5.home=/PATH/TO/IzPack
|
#izpack5.home=/PATH/TO/IzPack
|
||||||
|
|
||||||
# Change this to false if you don't have gettext or you want to prevent it from running during the build
|
# Change this to false if you don't have gettext or you want to prevent it from running during the build
|
||||||
|
63
build.xml
63
build.xml
@@ -1816,10 +1816,13 @@
|
|||||||
|
|
||||||
<target name="installer5" depends="ensureIzpack5, preppkg, buildProperties, util-list-changes, buildUtilityJar" >
|
<target name="installer5" depends="ensureIzpack5, preppkg, buildProperties, util-list-changes, buildUtilityJar" >
|
||||||
<izpack5 input="${basedir}/installer/install5.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
|
<izpack5 input="${basedir}/installer/install5.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
|
||||||
<ant target="installerexe" />
|
<ant target="installer5exe" />
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<!-- this makes i2pinstall.exe from install.jar -->
|
<!-- This makes i2pinstall.exe from install.jar using the bundled launch4j.
|
||||||
|
Warning: launch4j-created files CANNOT be Windows-signed.
|
||||||
|
They will be corrupted.
|
||||||
|
-->
|
||||||
<target name="installerexe" depends="launch4j" unless="noExe">
|
<target name="installerexe" depends="launch4j" unless="noExe">
|
||||||
<echo message="See the file "build.properties" if this step fails." />
|
<echo message="See the file "build.properties" if this step fails." />
|
||||||
<!-- now the installer exe -->
|
<!-- now the installer exe -->
|
||||||
@@ -1827,6 +1830,39 @@
|
|||||||
<!-- thazzit -->
|
<!-- thazzit -->
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<!-- This makes i2pinstall.exe from install.jar using IzPack5's izpack2exe.py (not bundled)
|
||||||
|
izpack2exe-created files CAN be Windows-signed.
|
||||||
|
-->
|
||||||
|
<target name="installer5exe" unless="noExe">
|
||||||
|
<!-- You must have the optional IzPack utils installed for this -->
|
||||||
|
<!-- izpack doesn't come with +x permission when installed -->
|
||||||
|
<chmod type="file" file="${izpack5.home}/utils/wrappers/izpack2exe/7za" perm="+x" />
|
||||||
|
<chmod type="file" file="${izpack5.home}/utils/wrappers/izpack2exe/izpack2exe.py" perm="+x" />
|
||||||
|
<!--
|
||||||
|
Note that we must specify the 7za path to use the one from IzPack, which is very old.
|
||||||
|
Either 7zr (from Debian package p7zip) or 7za (from Debian package p7zip-full)
|
||||||
|
will work, but ONLY if the 7za/7zr command line is changed in izpack2exe.py
|
||||||
|
as follows, because their default is LZMA2, which dosn't work on Windows.
|
||||||
|
So we don't want any Debian 7za picked up in the PATH.
|
||||||
|
See /usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/method.htm
|
||||||
|
old:
|
||||||
|
p7zcmd = '"%s" a -mmt -t7z -mx=9 installer.7z "%s"' % (p7z, files)
|
||||||
|
new:
|
||||||
|
p7zcmd = '"%s" a -mmt -t7z -mx=9 -m0=LZMA installer.7z "%s"' % (p7z, files)
|
||||||
|
|
||||||
|
We also use IzPack's customized 7zS.sfx file, which uses a customized icon
|
||||||
|
(but not our icon, sadly)
|
||||||
|
|
||||||
|
More info: https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491541/IzPack+Utilities
|
||||||
|
-->
|
||||||
|
<exec executable="${izpack5.home}/utils/wrappers/izpack2exe/izpack2exe.py" failonerror="true">
|
||||||
|
<arg value="--file=${basedir}/install.jar" />
|
||||||
|
<arg value="--with-7z=${izpack5.home}/utils/wrappers/izpack2exe/7za" />
|
||||||
|
<arg value="--no-upx" />
|
||||||
|
<arg value="--output=${basedir}/i2pinstall.exe" />
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
<!-- Custom installers -->
|
<!-- Custom installers -->
|
||||||
<!-- IzPack 4 -->
|
<!-- IzPack 4 -->
|
||||||
<target name="installer-nowindows" depends="clean, preppkg-nowindows, izpack-patches" >
|
<target name="installer-nowindows" depends="clean, preppkg-nowindows, izpack-patches" >
|
||||||
@@ -1914,7 +1950,7 @@
|
|||||||
<target name="installer5-windows" depends="ensureIzpack5, clean, preppkg-windows-only, util-list-changes, buildUtilityJar" >
|
<target name="installer5-windows" depends="ensureIzpack5, clean, preppkg-windows-only, util-list-changes, buildUtilityJar" >
|
||||||
<fixcrlf srcdir="pkg-temp" includes="*.config *.bat *.cmd **/*.xml **/*.properties **/*.txt scripts/*" encoding="utf8" eol="crlf"/>
|
<fixcrlf srcdir="pkg-temp" includes="*.config *.bat *.cmd **/*.xml **/*.properties **/*.txt scripts/*" encoding="utf8" eol="crlf"/>
|
||||||
<izpack5 input="${basedir}/installer/install5.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
|
<izpack5 input="${basedir}/installer/install5.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
|
||||||
<ant target="installerexe" />
|
<ant target="installer5exe" />
|
||||||
<delete file="${basedir}/install.jar" />
|
<delete file="${basedir}/install.jar" />
|
||||||
<move file="${basedir}/i2pinstall.exe" tofile="${basedir}/i2pinstall_${full.version}_windows.exe" />
|
<move file="${basedir}/i2pinstall.exe" tofile="${basedir}/i2pinstall_${full.version}_windows.exe" />
|
||||||
</target>
|
</target>
|
||||||
@@ -2132,11 +2168,10 @@
|
|||||||
<!-- this is the same dependency as pkg, but with updater200 in the middle,
|
<!-- this is the same dependency as pkg, but with updater200 in the middle,
|
||||||
since preppkg puts too much stuff in pkg-temp -->
|
since preppkg puts too much stuff in pkg-temp -->
|
||||||
<!--
|
<!--
|
||||||
<target name="release" depends="distclean, updaterWithJettyFixesAndJbigi , updater200WithJettyFixes, preppkg, installer, getReleaseNumber" >
|
<target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndJbigiRepack, updater200WithJettyAndJbigi, delete-j6-update, installer-nowindows, delete-nonwindows, installer5-windows">
|
||||||
<target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndJbigiRepack, updater200WithJettyAndJbigi, delete-j6-update, installer-nowindows, delete-nonwindows, installer-windows">
|
<target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyRepack, updater200WithJetty, delete-j6-update, installer-nowindows, delete-nonwindows, installer5-windows">
|
||||||
<target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyRepack, updater200WithJetty, delete-j6-update, installer-nowindows, delete-nonwindows, installer-windows">
|
|
||||||
-->
|
-->
|
||||||
<target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndGeoIPRepack, updater200WithJettyAndGeoIP, delete-j6-update, installer-nowindows, delete-nonwindows, installer-windows">
|
<target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndGeoIPRepack, updater200WithJettyAndGeoIP, delete-j6-update, installer-nowindows, delete-nonwindows, installer5-windows">
|
||||||
<echo message="New version number is ${release.number}" />
|
<echo message="New version number is ${release.number}" />
|
||||||
<copy file="i2pupdate.zip" tofile="i2pupdate_${release.number}.zip" />
|
<copy file="i2pupdate.zip" tofile="i2pupdate_${release.number}.zip" />
|
||||||
<copy file="i2pinstall_${full.version}.jar" tofile="i2pinstall_${release.number}.jar" />
|
<copy file="i2pinstall_${full.version}.jar" tofile="i2pinstall_${release.number}.jar" />
|
||||||
@@ -2176,7 +2211,9 @@
|
|||||||
</fail>
|
</fail>
|
||||||
|
|
||||||
<!-- the gpgsign macro sets the permission of signed files and the sigs themselves to 444 -->
|
<!-- the gpgsign macro sets the permission of signed files and the sigs themselves to 444 -->
|
||||||
|
<!--
|
||||||
<gpgsign file="i2pinstall_${release.number}_windows.exe" />
|
<gpgsign file="i2pinstall_${release.number}_windows.exe" />
|
||||||
|
-->
|
||||||
<gpgsign file="i2pinstall_${release.number}.jar" />
|
<gpgsign file="i2pinstall_${release.number}.jar" />
|
||||||
<gpgsign file="i2psource_${release.number}.tar.bz2" />
|
<gpgsign file="i2psource_${release.number}.tar.bz2" />
|
||||||
<gpgsign file="i2pupdate_${release.number}.zip" />
|
<gpgsign file="i2pupdate_${release.number}.zip" />
|
||||||
@@ -2189,18 +2226,27 @@
|
|||||||
<echo message="File sizes:" />
|
<echo message="File sizes:" />
|
||||||
<exec executable="ls" failonerror="true">
|
<exec executable="ls" failonerror="true">
|
||||||
<arg value="-l" />
|
<arg value="-l" />
|
||||||
|
<!--
|
||||||
<arg value="i2pinstall_${release.number}_windows.exe" />
|
<arg value="i2pinstall_${release.number}_windows.exe" />
|
||||||
|
-->
|
||||||
<arg value="i2pinstall_${release.number}.jar" />
|
<arg value="i2pinstall_${release.number}.jar" />
|
||||||
<arg value="i2psource_${release.number}.tar.bz2" />
|
<arg value="i2psource_${release.number}.tar.bz2" />
|
||||||
<arg value="i2pupdate_${release.number}.zip" />
|
<arg value="i2pupdate_${release.number}.zip" />
|
||||||
<arg value="i2pupdate.su3" />
|
<arg value="i2pupdate.su3" />
|
||||||
|
<!--
|
||||||
<arg value="i2pinstall_${release.number}_windows.exe.sig" />
|
<arg value="i2pinstall_${release.number}_windows.exe.sig" />
|
||||||
|
-->
|
||||||
<arg value="i2pinstall_${release.number}.jar.sig" />
|
<arg value="i2pinstall_${release.number}.jar.sig" />
|
||||||
<arg value="i2psource_${release.number}.tar.bz2.sig" />
|
<arg value="i2psource_${release.number}.tar.bz2.sig" />
|
||||||
<arg value="i2pupdate_${release.number}.zip.sig" />
|
<arg value="i2pupdate_${release.number}.zip.sig" />
|
||||||
</exec>
|
</exec>
|
||||||
|
<echo message=" TBD i2pinstall_${release.number}_windows.exe" />
|
||||||
|
<echo message=" TBD i2pinstall_${release.number}_windows.exe.sig" />
|
||||||
<echo message="SHA256 sums:" />
|
<echo message="SHA256 sums:" />
|
||||||
|
<!--
|
||||||
<sha256sum file="i2pinstall_${release.number}_windows.exe" />
|
<sha256sum file="i2pinstall_${release.number}_windows.exe" />
|
||||||
|
-->
|
||||||
|
<echo message=" TBD i2pinstall_${release.number}_windows.exe" />
|
||||||
<sha256sum file="i2pinstall_${release.number}.jar" />
|
<sha256sum file="i2pinstall_${release.number}.jar" />
|
||||||
<sha256sum file="i2psource_${release.number}.tar.bz2" />
|
<sha256sum file="i2psource_${release.number}.tar.bz2" />
|
||||||
<sha256sum file="i2pupdate_${release.number}.zip" />
|
<sha256sum file="i2pupdate_${release.number}.zip" />
|
||||||
@@ -2208,6 +2254,9 @@
|
|||||||
<!-- make torrent files -->
|
<!-- make torrent files -->
|
||||||
<copy file="i2pupdate.su3" tofile="i2pupdate-${release.number}.su3" />
|
<copy file="i2pupdate.su3" tofile="i2pupdate-${release.number}.su3" />
|
||||||
<mktorrent file="i2pupdate-${release.number}.su3" />
|
<mktorrent file="i2pupdate-${release.number}.su3" />
|
||||||
|
<echo message="Don't forget to sign i2pinstall_${release.number}_windows.exe on Windows and then:" />
|
||||||
|
<echo message=" ${gpg} -u ${release.gpg.keyid} -b i2pinstall_${release.number}_windows.exe" />
|
||||||
|
<echo message=" sha256sum i2pinstall_${release.number}_windows.exe" />
|
||||||
<echo message="Don't forget to mtn tag w: i2p-${release.number}" />
|
<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" />
|
<echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" />
|
||||||
</target>
|
</target>
|
||||||
|
16
history.txt
16
history.txt
@@ -1,3 +1,8 @@
|
|||||||
|
2019-04-22 zzz
|
||||||
|
* Build:
|
||||||
|
- Switch to IzPack 5.1.3 for building releases (ticket #1864)
|
||||||
|
- Use izpack2exe for Windows installer (ticket #2403)
|
||||||
|
|
||||||
2019-04-21 str4d
|
2019-04-21 str4d
|
||||||
* Gradle:
|
* Gradle:
|
||||||
- Adjust dependencies to match Tomcat and Jetty updates
|
- Adjust dependencies to match Tomcat and Jetty updates
|
||||||
@@ -5,6 +10,17 @@
|
|||||||
- Generate attributes for JAR manifests
|
- Generate attributes for JAR manifests
|
||||||
* Tests: Fix ministreaming tests after access filtering changes
|
* Tests: Fix ministreaming tests after access filtering changes
|
||||||
|
|
||||||
|
2019-04-20 zzz
|
||||||
|
* Console, SusiDNS: New icons
|
||||||
|
* Debian: Update Bionic/Cosmic to include patch for Jetty 9.4
|
||||||
|
* Router:
|
||||||
|
- Update NTCP checks for NTCP2
|
||||||
|
- Remove old check for 0.6.1.32 and earlier routers
|
||||||
|
|
||||||
|
2019-04-18 zzz
|
||||||
|
* Console: Improve error message when graphs disabled (ticket #2452)
|
||||||
|
* Utils: CoDel minor speedup (ticket #2398)
|
||||||
|
|
||||||
2019-04-17 zzz
|
2019-04-17 zzz
|
||||||
* Transport: More fixes for NTCP when SSU disabled (ticket #1417)
|
* Transport: More fixes for NTCP when SSU disabled (ticket #1417)
|
||||||
|
|
||||||
|
@@ -125,50 +125,9 @@
|
|||||||
|
|
||||||
1. `ant release`
|
1. `ant release`
|
||||||
|
|
||||||
> NOTE: These tasks are now automated by `ant release`
|
- Sign the windows installer
|
||||||
>
|
- GPG sign the signed windows installer: gpg -u keyid -b i2pinstall_${release.number}_windows.exe
|
||||||
> Build and tag:
|
- sha256sum i2pinstall_${release.number}_windows.exe
|
||||||
>
|
|
||||||
> ant pkg
|
|
||||||
>
|
|
||||||
> Create signed update files with:
|
|
||||||
>
|
|
||||||
> export I2P=~/i2p
|
|
||||||
> java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.x.xx
|
|
||||||
> java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate200.zip i2pupdate.su2 /path/to/private.key 0.x.xx
|
|
||||||
>
|
|
||||||
> Verify signed update files with:
|
|
||||||
>
|
|
||||||
> java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate showversion i2pupdate.sud
|
|
||||||
> java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate verifysig i2pupdate.sud
|
|
||||||
>
|
|
||||||
> Make the source tarball:
|
|
||||||
>
|
|
||||||
> Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p i2p-0.x.xx
|
|
||||||
> Double-check trust list
|
|
||||||
> tar cjf i2psource-0.x.xx.tar.bz2 --exclude i2p-0.x.xx/_MTN i2p-0.x.xx
|
|
||||||
> mv i2p-0.x.xx.tar.bz2 i2p.i2p
|
|
||||||
>
|
|
||||||
> Rename some files:
|
|
||||||
>
|
|
||||||
> mv i2pinstall.exe i2pinstall-0.x.xx.exe
|
|
||||||
> mv i2pupdate.zip i2pupdate-0.x.xx.zip
|
|
||||||
>
|
|
||||||
> Generate hashes:
|
|
||||||
>
|
|
||||||
> sha256sum i2p*0.x.xx.*
|
|
||||||
> sha256sum i2pupdate.sud
|
|
||||||
> sha256sum i2pupdate.su2
|
|
||||||
>
|
|
||||||
> Generate PGP signatures:
|
|
||||||
>
|
|
||||||
> gpg -b i2pinstall-0.x xx.exe
|
|
||||||
> gpg -b i2psource-0.x.xx.tar.bz2
|
|
||||||
> gpg -b i2pupdate-0.x.xx.zip
|
|
||||||
> gpg -b i2pupdate.sud
|
|
||||||
> gpg -b i2pupdate.su2
|
|
||||||
>
|
|
||||||
> (end of tasks automated by 'ant release')
|
|
||||||
|
|
||||||
2. Now test:
|
2. Now test:
|
||||||
- Save the output about checksums, sizes, and torrents to a file
|
- Save the output about checksums, sizes, and torrents to a file
|
||||||
|
Reference in New Issue
Block a user