- Switch to IzPack 5.1.3 for building releases (ticket #1864)
 - Use izpack2exe for Windows installer (ticket #2403)
This commit is contained in:
zzz
2019-04-22 18:01:47 +00:00
parent fd311c7e1a
commit 21504f1539
4 changed files with 76 additions and 51 deletions

View File

@@ -34,6 +34,7 @@ sloccount.report.file=sloccount.sc
#noExe=true
# IzPack 5.1.x install dir
# Default is $HOME/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

View File

@@ -1816,10 +1816,13 @@
<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}" />
<ant target="installerexe" />
<ant target="installer5exe" />
</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">
<echo message="See the file &quot;build.properties&quot; if this step fails." />
<!-- now the installer exe -->
@@ -1827,6 +1830,39 @@
<!-- thazzit -->
</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 -->
<!-- IzPack 4 -->
<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" >
<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}" />
<ant target="installerexe" />
<ant target="installer5exe" />
<delete file="${basedir}/install.jar" />
<move file="${basedir}/i2pinstall.exe" tofile="${basedir}/i2pinstall_${full.version}_windows.exe" />
</target>
@@ -2132,11 +2168,10 @@
<!-- 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, updaterWithJettyFixesAndJbigi , updater200WithJettyFixes, preppkg, installer, getReleaseNumber" >
<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, installer-windows">
<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, updaterWithJettyRepack, updater200WithJetty, delete-j6-update, installer-nowindows, delete-nonwindows, installer5-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}" />
<copy file="i2pupdate.zip" tofile="i2pupdate_${release.number}.zip" />
<copy file="i2pinstall_${full.version}.jar" tofile="i2pinstall_${release.number}.jar" />
@@ -2176,7 +2211,9 @@
</fail>
<!-- 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}.jar" />
<gpgsign file="i2psource_${release.number}.tar.bz2" />
<gpgsign file="i2pupdate_${release.number}.zip" />
@@ -2189,18 +2226,27 @@
<echo message="File sizes:" />
<exec executable="ls" failonerror="true">
<arg value="-l" />
<!--
<arg value="i2pinstall_${release.number}_windows.exe" />
-->
<arg value="i2pinstall_${release.number}.jar" />
<arg value="i2psource_${release.number}.tar.bz2" />
<arg value="i2pupdate_${release.number}.zip" />
<arg value="i2pupdate.su3" />
<!--
<arg value="i2pinstall_${release.number}_windows.exe.sig" />
-->
<arg value="i2pinstall_${release.number}.jar.sig" />
<arg value="i2psource_${release.number}.tar.bz2.sig" />
<arg value="i2pupdate_${release.number}.zip.sig" />
</exec>
<echo message=" TBD i2pinstall_${release.number}_windows.exe" />
<echo message=" TBD i2pinstall_${release.number}_windows.exe.sig" />
<echo message="SHA256 sums:" />
<!--
<sha256sum file="i2pinstall_${release.number}_windows.exe" />
-->
<echo message=" TBD i2pinstall_${release.number}_windows.exe" />
<sha256sum file="i2pinstall_${release.number}.jar" />
<sha256sum file="i2psource_${release.number}.tar.bz2" />
<sha256sum file="i2pupdate_${release.number}.zip" />
@@ -2208,6 +2254,9 @@
<!-- make torrent files -->
<copy file="i2pupdate.su3" tofile="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="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" />
</target>

View File

@@ -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
* Gradle:
- Adjust dependencies to match Tomcat and Jetty updates
@@ -5,6 +10,17 @@
- Generate attributes for JAR manifests
* 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
* Transport: More fixes for NTCP when SSU disabled (ticket #1417)

View File

@@ -125,50 +125,9 @@
1. `ant release`
> NOTE: These tasks are now automated by `ant release`
>
> Build and tag:
>
> 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')
- Sign the windows installer
- GPG sign the signed windows installer: gpg -u keyid -b i2pinstall_${release.number}_windows.exe
- sha256sum i2pinstall_${release.number}_windows.exe
2. Now test:
- Save the output about checksums, sizes, and torrents to a file