[Git][java-team/jython][master] 7 commits: Improve reproducible builds
Gilles Filippini
gitlab at salsa.debian.org
Sun Jan 13 14:06:04 GMT 2019
Gilles Filippini pushed to branch master at Debian Java Maintainers / jython
Commits:
b0ff63ef by Gilles Filippini at 2019-01-12T22:36:02Z
Improve reproducible builds
- - - - -
7ffc3a2e by Gilles Filippini at 2019-01-13T10:16:56Z
Point Vcs-* fields to salsad.o
- - - - -
e156b4bf by Gilles Filippini at 2019-01-13T11:15:31Z
Drop unused quilt patches
- - - - -
fb4de422 by Gilles Filippini at 2019-01-13T11:17:40Z
d/rules: ant: do not enforce build.date and build.time
ant should use $SOURCE_DATE_EPOCH when defined
- - - - -
d0766cbf by Gilles Filippini at 2019-01-13T13:14:13Z
d/orig-tar.*: exclude precompiled Windows binaries
- - - - -
e84a96f0 by Gilles Filippini at 2019-01-13T13:14:20Z
New upstream version 2.7.1+repack1
- - - - -
cf507e7d by Gilles Filippini at 2019-01-13T13:28:59Z
Upload release 2.7.1+repack1-1 ti unstable
- - - - -
16 changed files:
- debian/changelog
- debian/control
- debian/orig-tar.exclude
- debian/orig-tar.sh
- − debian/patches/04-runtime-classpath.patch
- − debian/patches/05-javadoc-fix.patch
- + debian/patches/reproducible-builds.patch
- debian/patches/series
- debian/rules
- − lib-python/2.7/distutils/command/wininst-6.0.exe
- − lib-python/2.7/distutils/command/wininst-7.1.exe
- − lib-python/2.7/distutils/command/wininst-8.0.exe
- − lib-python/2.7/distutils/command/wininst-9.0-amd64.exe
- − lib-python/2.7/distutils/command/wininst-9.0.exe
- − src/shell/jython.exe
- − src/shell/python27.dll
Changes:
=====================================
debian/changelog
=====================================
@@ -1,9 +1,19 @@
-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 at debian.org> Sat, 10 Nov 2018 11:38:50 +0100
+ -- Gilles Filippini <pini at 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 at debian.org> Sat, 12 Jan 2019 23:27:44 +0100
jython (2.7.1+repack-6) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -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
=====================================
debian/orig-tar.exclude
=====================================
@@ -1 +1,3 @@
extlibs
+*.exe
+*.dll
=====================================
debian/orig-tar.sh
=====================================
@@ -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"
=====================================
debian/patches/04-runtime-classpath.patch deleted
=====================================
@@ -1,12 +0,0 @@
-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 -->
=====================================
debian/patches/05-javadoc-fix.patch deleted
=====================================
@@ -1,24 +0,0 @@
-Description: fix javadoc error with literal "<stdin>"
-Author: Gilles Filippini <pini at 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
- */
=====================================
debian/patches/reproducible-builds.patch
=====================================
@@ -0,0 +1,43 @@
+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"/>
=====================================
debian/patches/series
=====================================
@@ -3,3 +3,4 @@
03-default-cachedir.patch
05-no-com.carrotsearch.sizeof.patch
javadoc-classpath.patch
+reproducible-builds.patch
=====================================
debian/rules
=====================================
@@ -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)"
=====================================
lib-python/2.7/distutils/command/wininst-6.0.exe deleted
=====================================
Binary files a/lib-python/2.7/distutils/command/wininst-6.0.exe and /dev/null differ
=====================================
lib-python/2.7/distutils/command/wininst-7.1.exe deleted
=====================================
Binary files a/lib-python/2.7/distutils/command/wininst-7.1.exe and /dev/null differ
=====================================
lib-python/2.7/distutils/command/wininst-8.0.exe deleted
=====================================
Binary files a/lib-python/2.7/distutils/command/wininst-8.0.exe and /dev/null differ
=====================================
lib-python/2.7/distutils/command/wininst-9.0-amd64.exe deleted
=====================================
Binary files a/lib-python/2.7/distutils/command/wininst-9.0-amd64.exe and /dev/null differ
=====================================
lib-python/2.7/distutils/command/wininst-9.0.exe deleted
=====================================
Binary files a/lib-python/2.7/distutils/command/wininst-9.0.exe and /dev/null differ
=====================================
src/shell/jython.exe deleted
=====================================
Binary files a/src/shell/jython.exe and /dev/null differ
=====================================
src/shell/python27.dll deleted
=====================================
Binary files a/src/shell/python27.dll and /dev/null differ
View it on GitLab: https://salsa.debian.org/java-team/jython/compare/1f028edbcf44e027f6fb210c2bc586359bae6b98...cf507e7d309c8ca7f13a51b8eff754df033ea3a8
--
View it on GitLab: https://salsa.debian.org/java-team/jython/compare/1f028edbcf44e027f6fb210c2bc586359bae6b98...cf507e7d309c8ca7f13a51b8eff754df033ea3a8
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20190113/7e72157f/attachment.html>
More information about the pkg-java-commits
mailing list