Changeset 21504f15


Ignore:
Timestamp:
Apr 22, 2019 6:01:47 PM (15 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
5db67f1
Parents:
fd311c7
Message:

Build:

  • Switch to IzPack? 5.1.3 for building releases (ticket #1864)
  • Use izpack2exe for Windows installer (ticket #2403)
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • build.properties

    rfd311c7 r21504f15  
    3535
    3636# IzPack 5.1.x install dir
     37# Default is $HOME/IzPack
    3738#izpack5.home=/PATH/TO/IzPack
    3839
  • build.xml

    rfd311c7 r21504f15  
    18171817    <target name="installer5" depends="ensureIzpack5, preppkg, buildProperties, util-list-changes, buildUtilityJar" >
    18181818        <izpack5 input="${basedir}/installer/install5.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
    1819         <ant target="installerexe" />
    1820     </target>
    1821 
    1822     <!-- this makes i2pinstall.exe from install.jar -->
     1819        <ant target="installer5exe" />
     1820    </target>
     1821
     1822    <!-- This makes i2pinstall.exe from install.jar using the bundled launch4j.
     1823         Warning: launch4j-created files CANNOT be Windows-signed.
     1824         They will be corrupted.
     1825      -->
    18231826    <target name="installerexe" depends="launch4j" unless="noExe">
    18241827        <echo message="See the file &quot;build.properties&quot; if this step fails." />
     
    18261829        <launch4j configFile="./installer/i2pinstaller.xml" />
    18271830        <!-- thazzit -->
     1831    </target>
     1832
     1833    <!-- This makes i2pinstall.exe from install.jar using IzPack5's izpack2exe.py (not bundled)
     1834         izpack2exe-created files CAN be Windows-signed.
     1835      -->
     1836    <target name="installer5exe" unless="noExe">
     1837        <!-- You must have the optional IzPack utils installed for this -->
     1838        <!-- izpack doesn't come with +x permission when installed -->
     1839        <chmod type="file" file="${izpack5.home}/utils/wrappers/izpack2exe/7za" perm="+x" />
     1840        <chmod type="file" file="${izpack5.home}/utils/wrappers/izpack2exe/izpack2exe.py" perm="+x" />
     1841        <!--
     1842             Note that we must specify the 7za path to use the one from IzPack, which is very old.
     1843             Either 7zr (from Debian package p7zip) or 7za (from Debian package p7zip-full)
     1844             will work, but ONLY if the 7za/7zr command line is changed in izpack2exe.py
     1845             as follows, because their default is LZMA2, which dosn't work on Windows.
     1846             So we don't want any Debian 7za picked up in the PATH.
     1847             See /usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/method.htm
     1848             old:
     1849             p7zcmd = '"%s" a -mmt -t7z -mx=9 installer.7z "%s"' % (p7z, files)
     1850             new:
     1851             p7zcmd = '"%s" a -mmt -t7z -mx=9 -m0=LZMA installer.7z "%s"' % (p7z, files)
     1852
     1853             We also use IzPack's customized 7zS.sfx file, which uses a customized icon
     1854             (but not our icon, sadly)
     1855
     1856             More info: https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491541/IzPack+Utilities
     1857         -->
     1858        <exec executable="${izpack5.home}/utils/wrappers/izpack2exe/izpack2exe.py" failonerror="true">
     1859            <arg value="--file=${basedir}/install.jar" />
     1860            <arg value="--with-7z=${izpack5.home}/utils/wrappers/izpack2exe/7za" />
     1861            <arg value="--no-upx" />
     1862            <arg value="--output=${basedir}/i2pinstall.exe" />
     1863        </exec>
    18281864    </target>
    18291865
     
    19151951        <fixcrlf srcdir="pkg-temp" includes="*.config *.bat *.cmd **/*.xml **/*.properties **/*.txt scripts/*" encoding="utf8" eol="crlf"/>
    19161952        <izpack5 input="${basedir}/installer/install5.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
    1917         <ant target="installerexe" />
     1953        <ant target="installer5exe" />
    19181954        <delete file="${basedir}/install.jar" />
    19191955        <move file="${basedir}/i2pinstall.exe" tofile="${basedir}/i2pinstall_${full.version}_windows.exe" />
     
    21332169         since preppkg puts too much stuff in pkg-temp -->
    21342170<!--
    2135     <target name="release" depends="distclean, updaterWithJettyFixesAndJbigi , updater200WithJettyFixes, preppkg, installer, getReleaseNumber" >
    2136     <target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndJbigiRepack, updater200WithJettyAndJbigi, delete-j6-update, installer-nowindows, delete-nonwindows, installer-windows">
    2137     <target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyRepack, updater200WithJetty, delete-j6-update, installer-nowindows, delete-nonwindows, installer-windows">
     2171    <target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndJbigiRepack, updater200WithJettyAndJbigi, delete-j6-update, installer-nowindows, delete-nonwindows, installer5-windows">
     2172    <target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyRepack, updater200WithJetty, delete-j6-update, installer-nowindows, delete-nonwindows, installer5-windows">
    21382173-->
    2139     <target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndGeoIPRepack, updater200WithJettyAndGeoIP, delete-j6-update, installer-nowindows, delete-nonwindows, installer-windows">
     2174    <target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyAndGeoIPRepack, updater200WithJettyAndGeoIP, delete-j6-update, installer-nowindows, delete-nonwindows, installer5-windows">
    21402175        <echo message="New version number is ${release.number}" />
    21412176        <copy file="i2pupdate.zip" tofile="i2pupdate_${release.number}.zip" />
     
    21772212
    21782213        <!-- the gpgsign macro sets the permission of signed files and the sigs themselves to 444 -->
     2214      <!--
    21792215        <gpgsign file="i2pinstall_${release.number}_windows.exe" />
     2216       -->
    21802217        <gpgsign file="i2pinstall_${release.number}.jar" />
    21812218        <gpgsign file="i2psource_${release.number}.tar.bz2" />
     
    21902227        <exec executable="ls" failonerror="true">
    21912228            <arg value="-l" />
     2229          <!--
    21922230            <arg value="i2pinstall_${release.number}_windows.exe" />
     2231           -->
    21932232            <arg value="i2pinstall_${release.number}.jar" />
    21942233            <arg value="i2psource_${release.number}.tar.bz2" />
    21952234            <arg value="i2pupdate_${release.number}.zip" />
    21962235            <arg value="i2pupdate.su3" />
     2236          <!--
    21972237            <arg value="i2pinstall_${release.number}_windows.exe.sig" />
     2238           -->
    21982239            <arg value="i2pinstall_${release.number}.jar.sig" />
    21992240            <arg value="i2psource_${release.number}.tar.bz2.sig" />
    22002241            <arg value="i2pupdate_${release.number}.zip.sig" />
    22012242        </exec>
     2243        <echo message="   TBD    i2pinstall_${release.number}_windows.exe" />
     2244        <echo message="   TBD    i2pinstall_${release.number}_windows.exe.sig" />
    22022245        <echo message="SHA256 sums:" />
     2246      <!--
    22032247        <sha256sum file="i2pinstall_${release.number}_windows.exe" />
     2248       -->
     2249        <echo message="   TBD    i2pinstall_${release.number}_windows.exe" />
    22042250        <sha256sum file="i2pinstall_${release.number}.jar" />
    22052251        <sha256sum file="i2psource_${release.number}.tar.bz2" />
     
    22092255        <copy file="i2pupdate.su3" tofile="i2pupdate-${release.number}.su3" />
    22102256        <mktorrent file="i2pupdate-${release.number}.su3" />
     2257        <echo message="Don't forget to sign i2pinstall_${release.number}_windows.exe on Windows and then:" />
     2258        <echo message="    ${gpg} -u ${release.gpg.keyid} -b i2pinstall_${release.number}_windows.exe" />
     2259        <echo message="    sha256sum i2pinstall_${release.number}_windows.exe" />
    22112260        <echo message="Don't forget to mtn tag w: i2p-${release.number}" />
    22122261        <echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" />
  • history.txt

    rfd311c7 r21504f15  
     12019-04-22 zzz
     2 * Build:
     3   - Switch to IzPack 5.1.3 for building releases (ticket #1864)
     4   - Use izpack2exe for Windows installer (ticket #2403)
     5
    162019-04-21 str4d
    27 * Gradle:
     
    510   - Generate attributes for JAR manifests
    611 * Tests: Fix ministreaming tests after access filtering changes
     12
     132019-04-20 zzz
     14 * Console, SusiDNS: New icons
     15 * Debian: Update Bionic/Cosmic to include patch for Jetty 9.4
     16 * Router:
     17   - Update NTCP checks for NTCP2
     18   - Remove old check for 0.6.1.32 and earlier routers
     19
     202019-04-18 zzz
     21 * Console: Improve error message when graphs disabled (ticket #2452)
     22 * Utils: CoDel minor speedup (ticket #2398)
    723
    8242019-04-17 zzz
  • installer/resources/checklist.md

    rfd311c7 r21504f15  
    1261261. `ant release`
    127127
    128     > NOTE: These tasks are now automated by `ant release`
    129     >
    130     > Build and tag:
    131     >
    132     >     ant pkg
    133     >
    134     > Create signed update files with:
    135     >
    136     >     export I2P=~/i2p
    137     >     java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.x.xx
    138     >     java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate200.zip i2pupdate.su2 /path/to/private.key 0.x.xx
    139     >
    140     > Verify signed update files with:
    141     >
    142     >     java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate showversion i2pupdate.sud
    143     >     java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate verifysig i2pupdate.sud
    144     >
    145     > Make the source tarball:
    146     >
    147     >     Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p i2p-0.x.xx
    148     >     Double-check trust list
    149     >     tar cjf i2psource-0.x.xx.tar.bz2 --exclude i2p-0.x.xx/_MTN i2p-0.x.xx
    150     >     mv i2p-0.x.xx.tar.bz2 i2p.i2p
    151     >
    152     > Rename some files:
    153     >
    154     >     mv i2pinstall.exe i2pinstall-0.x.xx.exe
    155     >     mv i2pupdate.zip i2pupdate-0.x.xx.zip
    156     >
    157     > Generate hashes:
    158     >
    159     >     sha256sum i2p*0.x.xx.*
    160     >     sha256sum i2pupdate.sud
    161     >     sha256sum i2pupdate.su2
    162     >
    163     > Generate PGP signatures:
    164     >
    165     >     gpg -b i2pinstall-0.x xx.exe
    166     >     gpg -b i2psource-0.x.xx.tar.bz2
    167     >     gpg -b i2pupdate-0.x.xx.zip
    168     >     gpg -b i2pupdate.sud
    169     >     gpg -b i2pupdate.su2
    170     >
    171     > (end of tasks automated by 'ant release')
     128  - Sign the windows installer
     129  - GPG sign the signed windows installer: gpg -u keyid -b i2pinstall_${release.number}_windows.exe
     130  - sha256sum i2pinstall_${release.number}_windows.exe
    172131
    1731322. Now test:
Note: See TracChangeset for help on using the changeset viewer.