- 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 #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

View File

@@ -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 &quot;build.properties&quot; if this step fails." /> <echo message="See the file &quot;build.properties&quot; 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>

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 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)

View File

@@ -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