forked from I2P_Developers/i2p.i2p
Build: add xenial release target, it will be our 4th launchpad flavor.
build.xml cleanups doc updates
This commit is contained in:
149
build.xml
149
build.xml
@ -432,10 +432,22 @@
|
||||
|
||||
<!-- end of sub-build.xml targets -->
|
||||
|
||||
<!-- monotone targets -->
|
||||
|
||||
<target name="checkForMtn" >
|
||||
<available property="mtn.available" file="_MTN" type="dir" />
|
||||
</target>
|
||||
|
||||
<target name="failIfNoMtn" depends="checkForMtn">
|
||||
<fail message="This target cannot be used without Monotone! Use "fakeroot debian/rules get-orig-source" instead.">
|
||||
<condition>
|
||||
<not>
|
||||
<isset property="mtn.available" />
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
</target>
|
||||
|
||||
<target name="getMtnRev" depends="checkForMtn" if="mtn.available" >
|
||||
<exec executable="mtn" outputproperty="workspace.version" errorproperty="mtn.error1" failifexecutionfails="false" >
|
||||
<arg value="automate" />
|
||||
@ -490,6 +502,10 @@
|
||||
match='(^\s+public\s+final\s+static\s+long\s+BUILD\s+=\s+)[0-9]+;' replace='\1${new.i2p.build.number};'/>
|
||||
</target>
|
||||
|
||||
<!-- end monotone targets -->
|
||||
|
||||
<!-- launch4j targets -->
|
||||
|
||||
<condition property="noExe">
|
||||
<not>
|
||||
<!-- We only have launch4j binaries for the following systems -->
|
||||
@ -533,6 +549,8 @@
|
||||
classpath="${basedir}/installer/lib/launch4j/launch4j.jar:${basedir}/installer/lib/launch4j/lib/xstream.jar" />
|
||||
</target>
|
||||
|
||||
<!-- end launch4j targets -->
|
||||
|
||||
<!--
|
||||
the files are now copied to the build directory
|
||||
in the build* targets
|
||||
@ -546,6 +564,8 @@
|
||||
<copy file="apps/susidns/src/lib/standard.jar" todir="build/" />
|
||||
</target>
|
||||
|
||||
<!-- jbigi targets -->
|
||||
|
||||
<target name="jbigi-list-changes" depends="checkForMtn" if="mtn.available">
|
||||
<exec executable="mtn" outputproperty="workspace.changes.jbigi" errorproperty="mtn.error.jbigi" failifexecutionfails="false" >
|
||||
<arg value="list" />
|
||||
@ -677,6 +697,8 @@
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<!-- end jbigi targets -->
|
||||
|
||||
<!-- the apps need to compile the jsps to poupdate -->
|
||||
<target name="poupdate" depends="buildRouter, buildStreaming, buildSystray, buildJetty, buildDesktopGui, buildJrobin" >
|
||||
<echo message="Setting environment variable LG2 to a lang code (eg: de,zh,nl etc)" />
|
||||
@ -932,7 +954,7 @@
|
||||
</fail>
|
||||
</target>
|
||||
|
||||
<target name="-pre-release" depends="-pre-sign">
|
||||
<target name="-pre-release" depends="-pre-sign, failIfNoMtn">
|
||||
<echo message="================================================================" />
|
||||
<echo message="Did you update these files?" />
|
||||
<exec executable="ls" failonerror="true">
|
||||
@ -2031,17 +2053,27 @@
|
||||
</target>
|
||||
|
||||
<target name="mavenCentral.deps" depends="buildRouter, buildStreaming">
|
||||
<ant dir="core/java/" target="javadocJar" />
|
||||
<ant dir="core/java/" target="sourcesJar" />
|
||||
<ant dir="router/java/" target="javadocJar" />
|
||||
<ant dir="router/java/" target="sourcesJar" />
|
||||
<ant dir="apps/ministreaming/java/" target="javadocJar" />
|
||||
<ant dir="apps/ministreaming/java/" target="sourcesJar" />
|
||||
<ant dir="apps/streaming/java/" target="javadocJar" />
|
||||
<ant dir="apps/streaming/java/" target="sourcesJar" />
|
||||
<ant dir="apps/jetty/" target="servletJar" />
|
||||
<ant dir="apps/jetty/" target="servletJavadocJar" />
|
||||
<ant dir="apps/jetty/" target="servletSourcesJar" />
|
||||
<ant dir="core/java/">
|
||||
<target name="javadocJar" />
|
||||
<target name="sourcesJar" />
|
||||
</ant>
|
||||
<ant dir="router/java/">
|
||||
<target name="javadocJar" />
|
||||
<target name="sourcesJar" />
|
||||
</ant>
|
||||
<ant dir="apps/ministreaming/java/">
|
||||
<target name="javadocJar" />
|
||||
<target name="sourcesJar" />
|
||||
</ant>
|
||||
<ant dir="apps/streaming/java/">
|
||||
<target name="javadocJar" />
|
||||
<target name="sourcesJar" />
|
||||
</ant>
|
||||
<ant dir="apps/jetty/">
|
||||
<target name="servletJar" />
|
||||
<target name="servletJavadocJar" />
|
||||
<target name="servletSourcesJar" />
|
||||
</ant>
|
||||
</target>
|
||||
|
||||
<target name="mavenCentral" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, mavenCentral.deps">
|
||||
@ -2242,15 +2274,9 @@
|
||||
<delete dir="./.pc" />
|
||||
</target>
|
||||
|
||||
<target name="debian-tarball" depends="getExtendedVersion">
|
||||
<!-- stretch+, zesty+ -->
|
||||
<target name="debian-tarball" depends="getExtendedVersion, failIfNoMtn">
|
||||
<!-- this will use the monotonerc file in the current workspace -->
|
||||
<fail message="This target cannot be used without Monotone! Use "fakeroot debian/rules get-orig-source" instead.">
|
||||
<condition>
|
||||
<not>
|
||||
<isset property="mtn.available" />
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
<property name="debian.tarball.name" value="i2p_${Extended.Version}.orig.tar.bz2" />
|
||||
<echo message="Checking out fresh copy into ../i2p-${Extended.Version} for tarballing:" />
|
||||
<delete dir="../i2p-${Extended.Version}" />
|
||||
@ -2312,15 +2338,7 @@
|
||||
- We add a 'p' to the release name and tarball since the source package is different;
|
||||
- Launchpad does not allow different source packages with the same name.
|
||||
-->
|
||||
<target name="precise-release-tarball" depends="getExtendedVersion">
|
||||
<!-- this will use the monotonerc file in the current workspace -->
|
||||
<fail message="This target cannot be used without Monotone! Use "fakeroot debian/rules get-orig-source" instead.">
|
||||
<condition>
|
||||
<not>
|
||||
<isset property="mtn.available" />
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
<target name="precise-release-tarball" depends="getExtendedVersion, failIfNoMtn">
|
||||
<property name="debian.tarball.name" value="i2p_${release.number}p.orig.tar.bz2" />
|
||||
<echo message="Checking out fresh copy into ../i2p-${Extended.Version} for tarballing:" />
|
||||
<delete dir="../i2p-${Extended.Version}" />
|
||||
@ -2387,16 +2405,71 @@
|
||||
</tar>
|
||||
</target>
|
||||
|
||||
<!-- xenial/yakkety only -->
|
||||
<!-- same as debian-release-tarball but with bundled jstl.jar
|
||||
(there's no libtaglibs-standard-* packages)
|
||||
- We add a 'x' to the release name and tarball since the source package is different;
|
||||
- Launchpad does not allow different source packages with the same name.
|
||||
-->
|
||||
<target name="xenial-release-tarball" depends="getExtendedVersion, failIfNoMtn">
|
||||
<property name="debian.tarball.name" value="i2p_${release.number}x.orig.tar.bz2" />
|
||||
<echo message="Checking out fresh copy into ../i2p-${Extended.Version} for tarballing:" />
|
||||
<delete dir="../i2p-${Extended.Version}" />
|
||||
<exec executable="mtn" failonerror="true">
|
||||
<arg value="co" />
|
||||
<!-- w: is the revision of the current workspace -->
|
||||
<arg value="-r" />
|
||||
<arg value="w:" />
|
||||
<arg value="-b" />
|
||||
<arg value="i2p.i2p" />
|
||||
<arg value="../i2p-${Extended.Version}" />
|
||||
</exec>
|
||||
<delete includeemptydirs="true" quiet="false" failonerror="false">
|
||||
<fileset dir="../i2p-${Extended.Version}/debian-alt/" />
|
||||
<fileset dir="../i2p-${Extended.Version}/installer/lib/" />
|
||||
<fileset dir="../i2p-${Extended.Version}/Slackware" />
|
||||
<fileset dir="../i2p-${Extended.Version}/_MTN" />
|
||||
<fileset dir="../i2p-${Extended.Version}/core/java/src/gnu/gettext" />
|
||||
<fileset dir="../i2p-${Extended.Version}/core/java/src/gnu/getopt" />
|
||||
<!--
|
||||
<fileset dir="../i2p-${Extended.Version}/core/java/src/org/apache/http" />
|
||||
-->
|
||||
<file name="../i2p-${Extended.Version}/installer/resources/geoip.txt" />
|
||||
<file name="../i2p-${Extended.Version}/installer/resources/geoipv6.dat.gz" />
|
||||
<fileset dir="../i2p-${Extended.Version}/apps/jetty/jetty-distribution-9.2.22.v20170606" />
|
||||
<fileset dir="../i2p-${Extended.Version}/apps/jetty/apache-tomcat-8.5.23" />
|
||||
<!--
|
||||
<file name="../i2p-${Extended.Version}/apps/susidns/src/lib/jstl.jar" />
|
||||
-->
|
||||
<file name="../i2p-${Extended.Version}/apps/susidns/src/lib/standard.jar" />
|
||||
<!-- anything added above, add in debian-tarball also -->
|
||||
</delete>
|
||||
<tar longfile="gnu" destfile="../${debian.tarball.name}" compression="bzip2">
|
||||
<tarfileset dir="../i2p-${Extended.Version}" prefix="/i2p-${release.number}">
|
||||
<include name="**/**" />
|
||||
<exclude name="debian/**"/>
|
||||
<exclude name="debian-alt/**"/>
|
||||
<exclude name="**/*.sh"/>
|
||||
<exclude name="installer/resources/geoip.txt"/>
|
||||
<exclude name="installer/resources/geoipv6.dat.gz"/>
|
||||
<exclude name="apps/jetty/jetty-distribution-*/**"/>
|
||||
<exclude name="apps/jetty/apache-tomcat-*/**"/>
|
||||
<!--
|
||||
<exclude name="apps/susidns/src/lib/jstl.jar" />
|
||||
-->
|
||||
<exclude name="apps/susidns/src/lib/standard.jar" />
|
||||
<!-- anything added above, add in debian-tarball also -->
|
||||
</tarfileset>
|
||||
<tarfileset dir="../i2p-${Extended.Version}" prefix="/i2p-${release.number}" filemode="755">
|
||||
<exclude name="debian/**" />
|
||||
<include name="**/*.sh" />
|
||||
</tarfileset>
|
||||
</tar>
|
||||
</target>
|
||||
|
||||
<!-- stretch+, zesty+ -->
|
||||
<!-- same as debian-tarball but with a release tar.bz2 file name and tar prefix -->
|
||||
<target name="debian-release-tarball" depends="getExtendedVersion">
|
||||
<!-- this will use the monotonerc file in the current workspace -->
|
||||
<fail message="This target cannot be used without Monotone! Use "fakeroot debian/rules get-orig-source" instead.">
|
||||
<condition>
|
||||
<not>
|
||||
<isset property="mtn.available" />
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
<target name="debian-release-tarball" depends="getExtendedVersion, failIfNoMtn">
|
||||
<property name="debian.tarball.name" value="i2p_${release.number}.orig.tar.bz2" />
|
||||
<echo message="Checking out fresh copy into ../i2p-${Extended.Version} for tarballing:" />
|
||||
<delete dir="../i2p-${Extended.Version}" />
|
||||
|
@ -93,9 +93,9 @@ reprepro -v copysrc wheezy precise i2p
|
||||
# Note that syntax is reprepro copysrc TO FROM package!
|
||||
reprepro -v copysrc jessie trusty i2p
|
||||
|
||||
# To copy xenial to stretch:
|
||||
# To copy zesty to stretch:
|
||||
# Note that syntax is reprepro copysrc TO FROM package!
|
||||
reprepro -v copysrc stretch xenial i2p
|
||||
reprepro -v copysrc stretch zesty i2p
|
||||
|
||||
# install in the architectures not copied from ubuntu
|
||||
# 'flood' should do this but forgot how, can't make it work any more
|
||||
|
@ -49,7 +49,9 @@ Generate files to upload
|
||||
(or add -kkeyid argument to debuild, which you must do
|
||||
if you want to sign with a subkey)
|
||||
run gpg -K to list your private keys
|
||||
- ant debian-release-tarball (ant precise-release-tarball for precise/trusty)
|
||||
- ant debian-release-tarball (this is currently for zesty and higher)
|
||||
(ant precise-release-tarball for precise thru wily... only do this once for both the precise and trusty build)
|
||||
(ant xenial-release-tarball for xenial and yakkety)
|
||||
this will make a directory ../i2p-0.9.XX-0-xxxxxxxx/
|
||||
and a tarball ../i2p_0.9.XX.orig.tar.bz2
|
||||
- cp debian/changelog ../i2p-0.9.XX-0-xxxxxxxx/debian/
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Release checklist
|
||||
# Release checklist and process
|
||||
|
||||
## One week before
|
||||
|
||||
@ -26,6 +26,11 @@
|
||||
|
||||
- Review Google Play crash reports, fix any related issues
|
||||
|
||||
- Initial review: Review the complete diff from the last release, fix any issues
|
||||
|
||||
- Trial Debian build: Build and test a preliminary Debian build
|
||||
with 'ant debian' and fix any issues
|
||||
|
||||
|
||||
## A day or two before
|
||||
|
||||
@ -236,6 +241,15 @@
|
||||
2. Upload the bundles to Maven Central via https://oss.sonatype.org
|
||||
|
||||
|
||||
### Android build
|
||||
|
||||
1. See branch i2p.android.base for build instructions
|
||||
|
||||
2. Upload to Google Play, F-Droid, and website
|
||||
|
||||
3. Announce on Twitter
|
||||
|
||||
|
||||
### Notify release
|
||||
|
||||
1. Upload files to launchpad release (download mirror)
|
||||
@ -256,15 +270,18 @@
|
||||
|
||||
4. Announce on:
|
||||
- #i2p, #i2p-dev (also on Freenode side)
|
||||
- forum.i2p
|
||||
- IRC
|
||||
- Twitter
|
||||
|
||||
5. Launchpad builds
|
||||
(see debian-alt/doc/launchpad.txt for instructions)
|
||||
|
||||
6. Debian builds
|
||||
6. Copy launchpad files to our Debian repo,
|
||||
or build Debian packages and upload them
|
||||
(see debian-alt/doc/debian-build.txt for instructions)
|
||||
|
||||
7. Announce Launchpad and Debian builds on Twitter
|
||||
|
||||
8. Notify Tails that new Debian builds are available
|
||||
8. Notify downstream Debian maintainer
|
||||
|
||||
9. (if we get back into Tails) Notify Tails that new Debian builds are available
|
||||
|
Reference in New Issue
Block a user