Skip to content
Commits on Source (7)
jython (2.7.1+repack-7) UNRELEASED; urgency=medium
jython (2.7.1+repack1-1) unstable; urgency=medium
* Improve build reproducibility using dh_strip_nondeterminism and
SOURCE_DATE_EPOCH
* Repack again upstream tarball to remove precompiled Windows binaries
* Point Vcs-* fields to salsa.debian.org
* Drop unused quilt patches
* d/rules: ant: do not enforce build.date and build.time: ant should use
$SOURCE_DATE_EPOCH when defined
-- Gilles Filippini <pini@debian.org> Sat, 10 Nov 2018 11:38:50 +0100
-- Gilles Filippini <pini@debian.org> Sun, 13 Jan 2019 14:28:39 +0100
jython (2.7.1+repack-7) unstable; urgency=medium
* New patch reproducible-builds.patch
* Replace timestamps with $SOURCE_DATE_EPOCH wherever possible
-- Gilles Filippini <pini@debian.org> Sat, 12 Jan 2019 23:27:44 +0100
jython (2.7.1+repack-6) unstable; urgency=medium
......
......@@ -25,8 +25,8 @@ Build-Depends-Indep: default-jdk,
libicu4j-java,
libnetty-java
Standards-Version: 4.2.1
Vcs-Git: https://anonscm.debian.org/git/pkg-java/jython.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/jython.git
Vcs-Git: https://salsa.debian.org/git/java-team/jython
Vcs-Browser: https://salsa.debian.org/java-team/jython.git
Homepage: http://www.jython.org
Package: jython
......
......@@ -6,7 +6,7 @@ set -e
PACKAGE=jython
UPSTREAM_VERSION="$2"
UPSTREAM_VERSION_MANGLED="$UPSTREAM_VERSION+repack"
UPSTREAM_VERSION_MANGLED="$UPSTREAM_VERSION+repack1"
UPSTREAM_TARBALL=../v$UPSTREAM_VERSION.tar.gz
SOURCE_DIR="$PACKAGE-$UPSTREAM_VERSION"
......
Index: jython/build.xml
===================================================================
--- jython.orig/build.xml
+++ jython/build.xml
@@ -673,6 +673,7 @@ The readme text for the next release wil
excludes="org/python/expose/generate/**,org/python/version.properties"/>
</nameunion>
<manifest>
+ <attribute name="Class-Path" value="${RuntimeClasspath}"/>
<attribute name="Main-Class" value="org.python.util.jython" />
<attribute name="Built-By" value="${user.name}" />
<!-- info section. ATTN: no blanks, no '.' in the names -->
Description: fix javadoc error with literal "<stdin>"
Author: Gilles Filippini <pini@debian.org>
Index: jython/src/org/python/util/InteractiveConsole.java
===================================================================
--- jython.orig/src/org/python/util/InteractiveConsole.java
+++ jython/src/org/python/util/InteractiveConsole.java
@@ -28,7 +28,7 @@ public class InteractiveConsole extends
/**
* Construct an interactive console, which will "run" when {@link #interact()} is called. The
- * name of the console (e.g. in error messages) will be {@value #CONSOLE_FILENAME}.
+ * name of the console (e.g. in error messages) will be {@literal "<stdin>"}.
*/
public InteractiveConsole() {
this(null, CONSOLE_FILENAME);
@@ -36,7 +36,7 @@ public class InteractiveConsole extends
/**
* Construct an interactive console, which will "run" when {@link #interact()} is called. The
- * name of the console (e.g. in error messages) will be {@value #CONSOLE_FILENAME}.
+ * name of the console (e.g. in error messages) will be {@literal "<stdin>"}.
*
* @param locals dictionary to use, or if <code>null</code>, a new empty one will be created
*/
Index: jython/build.xml
===================================================================
--- jython.orig/build.xml
+++ jython/build.xml
@@ -460,8 +460,12 @@ The readme text for the next release wil
<arg path="${work.dir}/build/gensrc/org/python/antlr"/>
<arg value="-lib"/>
<arg path="${work.dir}/build/gensrc/org/python/antlr"/>
- <arg file="${jython.base.dir}/grammar/Python.g"/>
- <arg file="${jython.base.dir}/grammar/PythonPartial.g"/>
+ <!-- Reproducible builds
+ Replace 'arg file=...' with 'arg value=...' to prevent using
+ the absolute filename, because these filenames are inserted
+ into the antlr generated getGrammar* methods -->
+ <arg value="grammar/Python.g"/>
+ <arg value="grammar/PythonPartial.g"/>
<classpath refid="main.classpath"/>
</java>
@@ -821,7 +825,10 @@ The readme text for the next release wil
</target>
<target name="copy-lib" depends="init, copy-javalib, copy-cpythonlib">
- <copy todir="${dist.dir}/Lib">
+ <!-- Reproducible builds
+ Use attribute preservelastmodified="true" because these files'
+ mtime are stored into the generated $py.class files -->
+ <copy todir="${dist.dir}/Lib" preservelastmodified="true">
<fileset dir="${jython.base.dir}/Lib">
<exclude name="**/*.class"/>
</fileset>
@@ -840,7 +847,10 @@ The readme text for the next release wil
</target>
<target name="copy-cpythonlib">
- <copy todir="${dist.dir}/Lib">
+ <!-- Reproducible builds
+ Use attribute preservelastmodified="true" because these files'
+ mtime are stored into the generated $py.class files -->
+ <copy todir="${dist.dir}/Lib" preservelastmodified="true">
<fileset dir="${python.lib}" excludes="**/*.pyc, **/*.pyo" includesfile="${jython.base.dir}/CPythonLib.includes">
<!-- The include file gets all of lib-python/2.7's test directory, but we only want the ones from Jython's Lib. -->
<present present="srconly" targetdir="${jython.base.dir}/Lib"/>
......@@ -3,3 +3,4 @@
03-default-cachedir.patch
05-no-com.carrotsearch.sizeof.patch
javadoc-classpath.patch
reproducible-builds.patch
......@@ -68,11 +68,12 @@ override_dh_auto_configure: check_classpath
dh_auto_configure
override_dh_auto_build:
# Reproducible builds - These files' mtime are stored into the
# generated $py.class files
touch -d @$(SOURCE_DATE_EPOCH) Lib/*.py lib-python/*/*.py
# Build the class files.
# -nouserlib is required to prevent conflicts with the ant jython plugin
ant -nouserlib developer-build jar javadoc \
-Dbuild.date="$(shell date -d @$(SOURCE_DATE_EPOCH) "+%b %d %Y")" \
-Dbuild.time="$(shell date -d @$(SOURCE_DATE_EPOCH) "+%H:%M:%S")" \
-Dmain.classpath=$(OUR_MAIN_CLASSPATH) \
-Dtest.classpath=$(OUR_TEST_CLASSPATH) \
-Druntime.classpath="$(OUR_RUNTIME_CLASSPATH)"
......