This is an automated email from the git hooks/post-receive script. nomadium pushed a commit to branch next in repository jruby.
commit f5b50a942ea3076099b9e97022dbf72687f1ec66 Author: Miguel Landaeta <[email protected]> Date: Fri Jan 23 12:39:45 2015 -0300 Kick off jruby update packaging --- debian/NEWS.Debian | 14 - debian/README.Debian | 7 - debian/changelog | 35 + debian/control | 5 +- debian/dirs | 2 - debian/jruby.docs | 6 + debian/jruby.install | 11 + debian/jruby.links | 11 + debian/jruby.lintian-overrides | 3 - debian/links | 6 - debian/maven.cleanIgnoreRules | 0 debian/maven.ignoreRules | 0 debian/maven.properties | 0 debian/patches/0001-Fix-shebang-lines.patch | 61 +- .../patches/0004-replace-bundled-libraries.patch | 274 -------- debian/patches/0005-ignore-test-failures.patch | 40 -- ...06-do-not-build-InvokeDynamicSupport.java.patch | 20 - .../patches/0007-use-unversioned-jarjar.jar.patch | 64 -- debian/patches/0008-CVE-2011-4838.patch | 132 ---- debian/patches/0009-CVE-2012-5370.patch | 130 ---- ...D_CLOEXEC-correctly-using-F_SETFD-not-F_S.patch | 73 --- debian/patches/0011-java7-compat.patch | 704 --------------------- debian/patches/0012-nailgun.patch | 46 -- debian/patches/series | 11 - debian/rules | 80 ++- debian/source.lintian-overrides | 3 - debian/watch | 8 +- 27 files changed, 115 insertions(+), 1631 deletions(-) diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian deleted file mode 100644 index 9ba352e..0000000 --- a/debian/NEWS.Debian +++ /dev/null @@ -1,14 +0,0 @@ -In my previous jruby1.0 and jruby1.1 packages, the shebang lines in -the /usr/bin/* binaries used to be '#!/usr/bin/env jruby1.x'; this is -unfortunately broken in jruby1.2 (see JRuby bug 3354[0]), so those -shebang lines are now the vanilla upstream ones, namely -'#!/usr/bin/env jruby'. - -This means that if you point your /etc/alternatives/jruby to something -else than jruby1.2, you *will* run that instead of jruby1.2, even if -you call the 1.2 binaries directly (for instance, /usr/bin/jirb1.2). - -[0] http://jira.codehaus.org/browse/JRUBY-3554 - - -- Sebastien Delafond <[email protected]> Thu, 09 Apr 2009 00:23:16 -0700 - diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 5528bd1..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,7 +0,0 @@ -This is the Debian package for jruby1.09, a 100% pure-Java -implementation of ruby. - -Original packaging efforts courtesy of a hacker who'd rather remain -anonymous; "keep the filth alive". - --- Sebastien Delafond <[email protected]> Wed, 16 May 2007 18:38:29 -0700 diff --git a/debian/changelog b/debian/changelog index 92d2df7..e2344f0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,38 @@ +jruby (1.7.18-1~miguel1) UNRELEASED; urgency=medium + + WARNING: this package is nowhere near of being ready + to be accepted in Debian. It's just a preview of how could + look an up-to-date jruby Debian package. Even this changelog + entry is incomplete. + + * New upstream release. (Closes: #636554, #773131). + * Switch build system to Maven, upstream doesn't maintain Ant one anymore: + - Add B-D on maven and maven-repo-helper. + - TODO: this work is incomplete. More dependencies need to be added. + * Remove outdated packaging files: + - d/dirs, d/links, d/README.Debian, d/NEWS.Debian and a couple of + lintian overrides. + * Refresh patches: + - Update d/patches/0001-Fix-shebang-lines.patch. + - Drop unnecessary patches, some of them were merged at upstream: + + d/patches/0004-replace-bundled-libraries.patch + + d/patches/0005-ignore-test-failures.patch + + d/patches/0006-do-not-build-InvokeDynamicSupport.java.patch + + d/patches/0007-use-unversioned-jarjar.jar.patch + + d/patches/0008-CVE-2011-4838.patch + + d/patches/0009-CVE-2012-5370.patch + + d/patches/0010-jruby-Set-FD_CLOEXEC-correctly-using-F_SETFD-not-F_S.patch + + d/patches/0011-java7-compat.patch + + d/patches/0012-nailgun.patch + * Update Uploaders list: + - Remove Sebastien Delafond. Thanks for your work on this package! + - Remove Torsten Werner. Thanks for your work on this package! + - Add myself to Uploaders list. + - TODO: Is Tim Potter going to join as maintainer? + * Update d/watch file. + + -- Miguel Landaeta <[email protected]> Wed, 21 Jan 2015 17:32:09 -0300 + jruby (1.5.6-9) unstable; urgency=medium * Team upload. diff --git a/debian/control b/debian/control index 88a20a3..ed52c98 100644 --- a/debian/control +++ b/debian/control @@ -2,14 +2,13 @@ Source: jruby Section: ruby Priority: optional Maintainer: Debian Java Maintainers <[email protected]> -Uploaders: Sebastien Delafond <[email protected]>, - Torsten Werner <[email protected]> +Uploaders: Miguel Landaeta <[email protected]> Build-Depends: debhelper (>= 9~), openjdk-7-jdk (>= 7u71-2.5.3), ant-optional, libasm3-java, libcommons-logging-java, libjarjar-java, libjoda-time-java, junit4, libbsf-java, libjline-java, bnd, libconstantine-java, netbase, libjgrapht0.8-java, libjcodings-java, libbytelist-java, libjffi-java, libjaffl-java, libjruby-joni-java, yydebug, nailgun, libjnr-posix-java, - libjnr-netdb-java, libyecht-java (>= 0.0.2-2~), cdbs, maven-repo-helper + libjnr-netdb-java, libyecht-java (>= 0.0.2-2~), maven-repo-helper, maven Standards-Version: 3.9.6 Homepage: http://jruby.org Vcs-Git: git://anonscm.debian.org/pkg-java/jruby.git diff --git a/debian/dirs b/debian/dirs deleted file mode 100644 index d66de20..0000000 --- a/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/jruby -usr/bin diff --git a/debian/jruby.docs b/debian/jruby.docs new file mode 100644 index 0000000..9df09f2 --- /dev/null +++ b/debian/jruby.docs @@ -0,0 +1,6 @@ +target/package/docs/README.cext +target/package/docs/README.test.md +target/package/docs/README.coverage +target/package/docs/CodeConventions.txt + +target/package/samples diff --git a/debian/jruby.install b/debian/jruby.install new file mode 100644 index 0000000..45eb975 --- /dev/null +++ b/debian/jruby.install @@ -0,0 +1,11 @@ +target/package/bin/jruby usr/share/jruby/bin +target/package/bin/jrubyc usr/share/jruby/bin +target/package/bin/testrb usr/share/jruby/bin +target/package/bin/gem usr/share/jruby/bin +target/package/bin/ast usr/share/jruby/bin +target/package/bin/jgem usr/share/jruby/bin +target/package/bin/jirb usr/share/jruby/bin +target/package/bin/ri usr/share/jruby/bin +target/package/bin/rdoc usr/share/jruby/bin + +target/package/lib/ruby usr/share/jruby/lib diff --git a/debian/jruby.links b/debian/jruby.links new file mode 100644 index 0000000..b6fe1a0 --- /dev/null +++ b/debian/jruby.links @@ -0,0 +1,11 @@ +usr/share/jruby/bin/jruby usr/bin/jruby +usr/share/jruby/bin/jrubyc usr/bin/jrubyc +usr/share/jruby/bin/testrb usr/bin/testrb +usr/share/jruby/bin/gem usr/bin/gem +usr/share/jruby/bin/ast usr/bin/ast +usr/share/jruby/bin/jgem usr/bin/jgem +usr/share/jruby/bin/jirb usr/bin/jirb +usr/share/jruby/bin/ri usr/bin/ri +usr/share/jruby/bin/rdoc usr/bin/rdoc + +usr/share/java/jruby.jar usr/share/jruby/lib/jruby.jar diff --git a/debian/jruby.lintian-overrides b/debian/jruby.lintian-overrides deleted file mode 100644 index f1f8a53..0000000 --- a/debian/jruby.lintian-overrides +++ /dev/null @@ -1,3 +0,0 @@ -# # we really do not need to depend (or even suggest or recommend) ruby -# # just for this script -# jruby binary: ruby-script-but-no-ruby-dep ./usr/lib/jruby/bin/jruby.rb diff --git a/debian/links b/debian/links deleted file mode 100644 index 3ee1313..0000000 --- a/debian/links +++ /dev/null @@ -1,6 +0,0 @@ -usr/lib/jruby/bin/jirb usr/bin/jirb -usr/lib/jruby/bin/jruby usr/bin/jruby -usr/lib/jruby/bin/jruby.rb usr/bin/jruby.rb -usr/lib/jruby/bin/jrubyc usr/bin/jrubyc -usr/lib/jruby/lib/jruby.jar usr/share/java/jruby.jar -usr/share/ri/1.8/system usr/lib/jruby/share/ri/1.8/system diff --git a/debian/maven.cleanIgnoreRules b/debian/maven.cleanIgnoreRules new file mode 100644 index 0000000..e69de29 diff --git a/debian/maven.ignoreRules b/debian/maven.ignoreRules new file mode 100644 index 0000000..e69de29 diff --git a/debian/maven.properties b/debian/maven.properties new file mode 100644 index 0000000..e69de29 diff --git a/debian/patches/0001-Fix-shebang-lines.patch b/debian/patches/0001-Fix-shebang-lines.patch index 6910804..f5e75ff 100644 --- a/debian/patches/0001-Fix-shebang-lines.patch +++ b/debian/patches/0001-Fix-shebang-lines.patch @@ -7,19 +7,15 @@ Remove extraneous shebang lines, and correct necessary jruby ones. lib/ruby/1.8/abbrev.rb | 1 - lib/ruby/1.8/irb/cmd/subirb.rb | 1 - lib/ruby/1.8/irb/ext/save-history.rb | 1 - - lib/ruby/1.8/matrix.rb | 1 - lib/ruby/1.8/rdoc/markup/sample/rdoc2latex.rb | 1 - lib/ruby/1.8/rdoc/parsers/parse_rb.rb | 1 - lib/ruby/1.8/set.rb | 1 - lib/ruby/1.8/tsort.rb | 1 - lib/ruby/1.8/wsdl/soap/wsdl2ruby.rb | 1 - lib/ruby/1.9/abbrev.rb | 1 - - lib/ruby/1.9/rake/rake_test_loader.rb | 1 - lib/ruby/1.9/set.rb | 1 - - lib/ruby/site_ruby/1.8/rubygems/digest/md5.rb | 1 - - lib/ruby/site_ruby/1.8/rubygems/digest/sha1.rb | 1 - - lib/ruby/site_ruby/1.8/rubygems/digest/sha2.rb | 1 - - 15 files changed, 0 insertions(+), 15 deletions(-) + lib/ruby/2.0/abbrev.rb | 1 - + 11 files changed, 0 insertions(+), 11 deletions(-) diff --git a/lib/ruby/1.8/abbrev.rb b/lib/ruby/1.8/abbrev.rb index 338b89f..6e2f71a 100644 @@ -48,15 +44,6 @@ index 486dc76..66aced6 100644 # # save-history.rb - # $Release Version: 0.9.5$ -diff --git a/lib/ruby/1.8/matrix.rb b/lib/ruby/1.8/matrix.rb -index 93ae3a9..f405d58 100644 ---- a/lib/ruby/1.8/matrix.rb -+++ b/lib/ruby/1.8/matrix.rb -@@ -1,4 +1,3 @@ --#!/usr/local/bin/ruby - #-- - # matrix.rb - - # $Release Version: 1.0$ diff --git a/lib/ruby/1.8/rdoc/markup/sample/rdoc2latex.rb b/lib/ruby/1.8/rdoc/markup/sample/rdoc2latex.rb index 26563b7..798357e 100644 --- a/lib/ruby/1.8/rdoc/markup/sample/rdoc2latex.rb @@ -111,18 +98,9 @@ index 338b89f..6e2f71a 100644 +++ b/lib/ruby/1.9/abbrev.rb @@ -1,4 +1,3 @@ -#!/usr/bin/env ruby - =begin - # + #-- # Copyright (c) 2001,2003 Akinori MUSHA <[email protected]> -diff --git a/lib/ruby/1.9/rake/rake_test_loader.rb b/lib/ruby/1.9/rake/rake_test_loader.rb -index 8d7dad3..acb02d9 100644 ---- a/lib/ruby/1.9/rake/rake_test_loader.rb -+++ b/lib/ruby/1.9/rake/rake_test_loader.rb -@@ -1,4 +1,3 @@ --#!/usr/bin/env ruby - - # Load the test files from the command line. - + # diff --git a/lib/ruby/1.9/set.rb b/lib/ruby/1.9/set.rb index c57b668..3b5a3ab 100644 --- a/lib/ruby/1.9/set.rb @@ -132,31 +110,12 @@ index c57b668..3b5a3ab 100644 #-- # set.rb - defines the Set class #++ -diff --git a/lib/ruby/site_ruby/1.8/rubygems/digest/md5.rb b/lib/ruby/site_ruby/1.8/rubygems/digest/md5.rb -index f924579..d0e0bb5 100644 ---- a/lib/ruby/site_ruby/1.8/rubygems/digest/md5.rb -+++ b/lib/ruby/site_ruby/1.8/rubygems/digest/md5.rb +diff --git a/lib/ruby/2.0/abbrev.rb b/lib/ruby/2.0/abbrev.rb +index 841f6d9..a6d0266 100755 +--- a/lib/ruby/2.0/abbrev.rb ++++ b/lib/ruby/2.0/abbrev.rb @@ -1,4 +1,3 @@ -#!/usr/bin/env ruby #-- - # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. - # All rights reserved. -diff --git a/lib/ruby/site_ruby/1.8/rubygems/digest/sha1.rb b/lib/ruby/site_ruby/1.8/rubygems/digest/sha1.rb -index 5a50b53..53cbed5 100644 ---- a/lib/ruby/site_ruby/1.8/rubygems/digest/sha1.rb -+++ b/lib/ruby/site_ruby/1.8/rubygems/digest/sha1.rb -@@ -1,4 +1,3 @@ --#!/usr/bin/env ruby - #-- - # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. - # All rights reserved. -diff --git a/lib/ruby/site_ruby/1.8/rubygems/digest/sha2.rb b/lib/ruby/site_ruby/1.8/rubygems/digest/sha2.rb -index 5876c7a..2aae91f 100644 ---- a/lib/ruby/site_ruby/1.8/rubygems/digest/sha2.rb -+++ b/lib/ruby/site_ruby/1.8/rubygems/digest/sha2.rb -@@ -1,4 +1,3 @@ --#!/usr/bin/env ruby - #-- - # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others. - # All rights reserved. --- + # Copyright (c) 2001,2003 Akinori MUSHA <[email protected]> + # diff --git a/debian/patches/0004-replace-bundled-libraries.patch b/debian/patches/0004-replace-bundled-libraries.patch deleted file mode 100644 index 9a79308..0000000 --- a/debian/patches/0004-replace-bundled-libraries.patch +++ /dev/null @@ -1,274 +0,0 @@ -From: Hideki Yamane <[email protected]> -Date: Thu, 29 Jul 2010 19:46:58 +0200 -Subject: replace bundled libraries - -... and use Debian packages instead ---- - build.properties | 2 + - build.xml | 170 ++++++++++++++++++++---------------------------------- - 2 files changed, 64 insertions(+), 108 deletions(-) - create mode 100644 build.properties - ---- /dev/null -+++ b/build.properties -@@ -0,0 +1,2 @@ -+build.lib.dir=/usr/share/java/ -+local.build.lib.dir=build_lib ---- a/build.xml -+++ b/build.xml -@@ -15,7 +15,29 @@ - <property name="shared.lib.dir" value="lib/ruby/site_ruby/shared"/> - - <path id="build.classpath"> -- <fileset dir="${build.lib.dir}" includes="*.jar"/> -+ <fileset dir="${build.lib.dir}"> -+ <include name="asm3.jar"/> -+ <include name="asm3-commons.jar"/> -+ <include name="asm3-util.jar"/> -+ <include name="asm3-analysis.jar"/> -+ <include name="asm3-tree.jar"/> -+ <include name="libconstantine-java.jar"/> -+ <include name="joda-time.jar"/> -+ <include name="bsf.jar"/> -+ <include name="jline.jar"/> -+ <include name="junit4.jar"/> -+ <include name="jgrapht0.8.jar"/> -+ <include name="bytelist.jar"/> -+ <include name="jcodings.jar"/> -+ <include name="jaffl.jar"/> -+ <include name="jffi.jar"/> -+ <include name="joni.jar"/> -+ <include name="nailgun.jar"/> -+ <include name="yydebug.jar"/> -+ <include name="jnr-posix.jar"/> -+ <include name="jnr-netdb.jar"/> -+ </fileset> -+ <fileset dir="${local.build.lib.dir}" includes="*.jar"/> - </path> - - <path id="jruby.execute.classpath"> -@@ -299,38 +321,21 @@ - - <jar destfile="${lib.dir}/jruby.jar" compress="true" index="true"> - <fileset dir="${jruby.classes.dir}"/> -- <zipfileset src="${build.lib.dir}/asm-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-commons-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-util-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-analysis-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-tree-3.2.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-commons.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-util.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-analysis.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-tree.jar"/> - <zipfileset src="${build.lib.dir}/bytelist.jar"/> -- <zipfileset src="${build.lib.dir}/constantine.jar"/> -- <zipfileset src="${build.lib.dir}/jline-0.9.93.jar"/> -+ <zipfileset src="${build.lib.dir}/libconstantine-java.jar"/> -+ <zipfileset src="${build.lib.dir}/jline.jar"/> - <zipfileset src="${build.lib.dir}/jcodings.jar"/> - <zipfileset src="${build.lib.dir}/joni.jar"/> - <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/> - <zipfileset src="${build.lib.dir}/jnr-posix.jar"/> - <zipfileset src="${build.lib.dir}/jaffl.jar"/> - <zipfileset src="${build.lib.dir}/jffi.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-Darwin.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-AIX.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparc-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparcv9-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-s390x-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/joda-time-1.6.jar"/> -+ <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> - <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> - <metainf dir="${base.dir}/spi"> -@@ -355,15 +360,15 @@ - <exclude name="org/jruby/ext/ffi/**/*"/> - <exclude name="org/jruby/embed/**/*"/> - </fileset> -- <zipfileset src="${build.lib.dir}/asm-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-util-3.2.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-util.jar"/> - <zipfileset src="${build.lib.dir}/bytelist.jar"/> -- <zipfileset src="${build.lib.dir}/constantine.jar"/> -+ <zipfileset src="${build.lib.dir}/libconstantine-java.jar"/> - <zipfileset src="${build.lib.dir}/jcodings.jar"/> - <zipfileset src="${build.lib.dir}/joni.jar"/> - <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/> - <zipfileset src="${build.lib.dir}/jnr-posix.jar"/> -- <zipfileset src="${build.lib.dir}/joda-time-1.6.jar"/> -+ <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <manifest> - <attribute name="Built-By" value="${user.name}"/> - <attribute name="Main-Class" value="org.jruby.Main"/> -@@ -377,38 +382,21 @@ - <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar-1.0.jar"/> - <jarjar destfile="${lib.dir}/jruby.jar" compress="true"> - <fileset dir="${jruby.classes.dir}"/> -- <zipfileset src="${build.lib.dir}/asm-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-commons-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-util-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-analysis-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-tree-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/constantine.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-commons.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-util.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-analysis.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-tree.jar"/> -+ <zipfileset src="${build.lib.dir}/libconstantine-java.jar"/> - <zipfileset src="${build.lib.dir}/bytelist.jar"/> -- <zipfileset src="${build.lib.dir}/jline-0.9.93.jar"/> -+ <zipfileset src="${build.lib.dir}/jline.jar"/> - <zipfileset src="${build.lib.dir}/jcodings.jar"/> - <zipfileset src="${build.lib.dir}/joni.jar"/> - <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/> - <zipfileset src="${build.lib.dir}/jnr-posix.jar"/> - <zipfileset src="${build.lib.dir}/jaffl.jar"/> - <zipfileset src="${build.lib.dir}/jffi.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-Darwin.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-AIX.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparc-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparcv9-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-s390x-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/joda-time-1.6.jar"/> -+ <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> - <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> - <metainf dir="${base.dir}/spi"> -@@ -472,41 +460,24 @@ - <exclude name="META-INF/jruby.home/lib/ruby/site_ruby/shared/builtin/**"/> - <exclude name="META-INF/jruby.home/lib/ruby/1.9/**"/> - </fileset> -- <zipfileset src="${build.lib.dir}/asm-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-commons-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-util-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-analysis-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-tree-3.2.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-commons.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-util.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-analysis.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-tree.jar"/> - <zipfileset src="${build.lib.dir}/bytelist.jar"/> -- <zipfileset src="${build.lib.dir}/constantine.jar"/> -- <zipfileset src="${build.lib.dir}/jline-0.9.93.jar"/> -+ <zipfileset src="${build.lib.dir}/libconstantine-java.jar"/> -+ <zipfileset src="${build.lib.dir}/jline.jar"/> - <zipfileset src="${build.lib.dir}/jcodings.jar"/> - <zipfileset src="${build.lib.dir}/joni.jar"/> - <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/> - <zipfileset src="${build.lib.dir}/jnr-posix.jar"/> - <zipfileset src="${build.lib.dir}/jaffl.jar"/> - <zipfileset src="${build.lib.dir}/jffi.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-Darwin.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-AIX.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparc-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparcv9-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-s390x-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/joda-time-1.6.jar"/> -+ <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> - <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> -- <zipfileset src="${shared.lib.dir}/yecht.jar"/> -+ <zipfileset src="${local.shared.lib.dir}/yecht.jar"/> - <metainf dir="${base.dir}/spi"> - <include name="services/**"/> - </metainf> -@@ -560,41 +531,24 @@ - <fileset dir="${build.dir}/jar-complete"> - <exclude name="META-INF/jruby.home/lib/ruby/1.8/**"/> - </fileset> -- <zipfileset src="${build.lib.dir}/asm-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-commons-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-util-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-analysis-3.2.jar"/> -- <zipfileset src="${build.lib.dir}/asm-tree-3.2.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-commons.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-util.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-analysis.jar"/> -+ <zipfileset src="${build.lib.dir}/asm3-tree.jar"/> - <zipfileset src="${build.lib.dir}/bytelist.jar"/> -- <zipfileset src="${build.lib.dir}/constantine.jar"/> -- <zipfileset src="${build.lib.dir}/jline-0.9.93.jar"/> -+ <zipfileset src="${build.lib.dir}/libconstantine-java.jar"/> -+ <zipfileset src="${build.lib.dir}/jline.jar"/> - <zipfileset src="${build.lib.dir}/jcodings.jar"/> - <zipfileset src="${build.lib.dir}/joni.jar"/> - <zipfileset src="${build.lib.dir}/jnr-netdb.jar"/> - <zipfileset src="${build.lib.dir}/jnr-posix.jar"/> - <zipfileset src="${build.lib.dir}/jaffl.jar"/> - <zipfileset src="${build.lib.dir}/jffi.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-Darwin.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-AIX.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-ppc64-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparc-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-sparcv9-SunOS.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-FreeBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-OpenBSD.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-i386-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-x86_64-Windows.jar"/> -- <zipfileset src="${build.lib.dir}/jffi-s390x-Linux.jar"/> -- <zipfileset src="${build.lib.dir}/joda-time-1.6.jar"/> -+ <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> - <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> -- <zipfileset src="${shared.lib.dir}/yecht.jar"/> -+ <zipfileset src="${local.shared.lib.dir}/yecht.jar"/> - <metainf dir="${base.dir}/spi"> - <include name="services/**"/> - </metainf> -@@ -767,7 +721,7 @@ - - <path id="test.class.path"> - <pathelement path="${build.lib.dir}/junit.jar"/> -- <pathelement path="${build.lib.dir}/livetribe-jsr223-2.0.6.jar"/> -+ <pathelement path="${build.lib.dir}/livetribe-jsr223.jar"/> - <pathelement path="${build.lib.dir}/bsf.jar"/> - <pathelement path="${build.lib.dir}/commons-logging-1.1.1.jar"/> - <pathelement path="${java.class.path}"/> diff --git a/debian/patches/0005-ignore-test-failures.patch b/debian/patches/0005-ignore-test-failures.patch deleted file mode 100644 index 1d5a625..0000000 --- a/debian/patches/0005-ignore-test-failures.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Torsten Werner <[email protected]> -Date: Fri, 30 Jul 2010 01:43:51 +0200 -Subject: ignore test failures - ---- - build.xml | 6 +++--- - 1 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/build.xml b/build.xml -index fe433f9..bf2b9e8 100644 ---- a/build.xml -+++ b/build.xml -@@ -735,7 +735,7 @@ - <echo message="compile=@{compile.mode}, jit.threshold=@{jit.threshold}, jit.maxsize=@{jit.maxsize}, jit.max=@{jit.max}, objectspace=@{objectspace.enabled} threadpool=@{thread.pooling} reflection=@{reflection} version=@{jruby.version}"/> - <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" classpath="${build.lib.dir}/junit.jar"/> - -- <junit jvm="${jruby.test.jvm}" fork="yes" forkMode="once" haltonfailure="true" dir="${basedir}" maxmemory="${jruby.test.memory}" showoutput="true" timeout="1800000"> -+ <junit jvm="${jruby.test.jvm}" fork="yes" forkMode="once" haltonfailure="false" dir="${basedir}" maxmemory="${jruby.test.memory}" showoutput="true" timeout="1800000"> - <classpath refid="test.class.path"/> - - <sysproperty key="jruby.compile.invokedynamic" value="true"/> -@@ -791,7 +791,7 @@ - <echo message="compile=@{compile.mode}, jit.threshold=@{jit.threshold}, jit.maxsize=@{jit.maxsize}, jit.max=@{jit.max}, objectspace=@{objectspace.enabled} threadpool=@{thread.pooling} reflection=@{reflection} version=@{jruby.version}"/> - <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" classpath="${build.lib.dir}/junit.jar"/> - -- <junit jvm="${jruby.test.jvm}" fork="yes" forkMode="once" haltonfailure="true" dir="${basedir}" maxmemory="${jruby.test.memory}" showoutput="true" timeout="1800000"> -+ <junit jvm="${jruby.test.jvm}" fork="yes" forkMode="once" haltonfailure="false" dir="${basedir}" maxmemory="${jruby.test.memory}" showoutput="true" timeout="1800000"> - <classpath refid="test.class.path"/> - - <sysproperty key="java.awt.headless" value="true"/> -@@ -918,7 +918,7 @@ - <macrodef name="run-junit-embed-all"> - <sequential> - <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" classpath="${build.lib.dir}/junit.jar"/> -- <junit jvm="${jruby.test.jvm}" fork="yes" forkMode="once" haltonfailure="true" dir="${basedir}" maxmemory="${jruby.test.memory}" showoutput="true" timeout="1800000"> -+ <junit jvm="${jruby.test.jvm}" fork="yes" forkMode="once" haltonfailure="false" dir="${basedir}" maxmemory="${jruby.test.memory}" showoutput="true" timeout="1800000"> - <classpath refid="test.class.path"/> - <jvmarg value="-Dfile.encoding=UTF-8"/> - <formatter type="xml"/> --- diff --git a/debian/patches/0006-do-not-build-InvokeDynamicSupport.java.patch b/debian/patches/0006-do-not-build-InvokeDynamicSupport.java.patch deleted file mode 100644 index c7826dd..0000000 --- a/debian/patches/0006-do-not-build-InvokeDynamicSupport.java.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: Torsten Werner <[email protected]> -Date: Sun, 15 Aug 2010 00:02:18 +0200 -Subject: do not build InvokeDynamicSupport.java - -... because it requires a dependency from the Java7 world which is not packaged -yet. ---- - build.xml | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - ---- a/build.xml -+++ b/build.xml -@@ -57,6 +57,7 @@ - <include name="**/*.java"/> - <exclude unless="bsf.present" name="org/jruby/javasupport/bsf/**/*.java"/> - <exclude unless="sun-misc-signal" name="**/SunSignalFacade.java"/> -+ <exclude name="org/jruby/runtime/invokedynamic/InvokeDynamicSupport.java"/> - </patternset> - - <patternset id="ruby.src.pattern"> diff --git a/debian/patches/0007-use-unversioned-jarjar.jar.patch b/debian/patches/0007-use-unversioned-jarjar.jar.patch deleted file mode 100644 index bc0bc25..0000000 --- a/debian/patches/0007-use-unversioned-jarjar.jar.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Torsten Werner <[email protected]> -Date: Tue, 13 Sep 2011 22:42:51 +0200 -Subject: use unversioned jarjar.jar - ---- - build.xml | 12 ++++++------ - 1 files changed, 6 insertions(+), 6 deletions(-) - ---- a/build.xml -+++ b/build.xml -@@ -380,7 +380,7 @@ - <target name="jar-jruby-dist" depends="generate-method-classes, generate-unsafe" unless="jar-up-to-date"> - <antcall target="_update_scm_revision_"/> - -- <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar-1.0.jar"/> -+ <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar.jar"/> - <jarjar destfile="${lib.dir}/jruby.jar" compress="true"> - <fileset dir="${jruby.classes.dir}"/> - <zipfileset src="${build.lib.dir}/asm3.jar"/> -@@ -433,7 +433,7 @@ - <property name="mainclass" value="org.jruby.Main"/> - <property name="filename" value="jruby-complete.jar"/> - <property name="bilename" value="jruby-complete.bar"/> -- <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar-1.0.jar"/> -+ <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar.jar"/> - <property name="jar-complete-home" value="${build.dir}/jar-complete/META-INF/jruby.home"/> - <mkdir dir="${jar-complete-home}"/> - <copy todir="${jar-complete-home}"> -@@ -454,7 +454,7 @@ - <arg line="--no-ri --no-rdoc --ignore-dependencies --env-shebang"/> - </java> - -- <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar-1.0.jar"/> -+ <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar.jar"/> - <jarjar destfile="${dest.lib.dir}/${filename}"> - <fileset dir="${jruby.classes.dir}"/> - <fileset dir="${build.dir}/jar-complete"> -@@ -505,7 +505,7 @@ - <target name="jar-complete-1.9" depends="generate-method-classes, generate-unsafe" description="Create the 'complete' JRuby jar. Pass 'mainclass' and 'filename' to adjust."> - <property name="mainclass" value="org.jruby.Main"/> - <property name="filename" value="jruby-complete.jar"/> -- <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar-1.0.jar"/> -+ <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar.jar"/> - <property name="jar-complete-home" value="${build.dir}/jar-complete/META-INF/jruby.home"/> - <mkdir dir="${jar-complete-home}"/> - <copy todir="${jar-complete-home}"> -@@ -526,7 +526,7 @@ - <arg line="--no-ri --no-rdoc --ignore-dependencies --env-shebang"/> - </java> - -- <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar-1.0.jar"/> -+ <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${build.lib.dir}/jarjar.jar"/> - <jarjar destfile="${dest.lib.dir}/${filename}"> - <fileset dir="${jruby.classes.dir}"/> - <fileset dir="${build.dir}/jar-complete"> -@@ -1126,7 +1126,7 @@ - <exclude name="lib/emma.jar"/> - <exclude name="lib/emma_ant.jar"/> - <exclude name="lib/junit.jar"/> -- <exclude name="lib/jarjar-1.0.jar"/> -+ <exclude name="lib/jarjar.jar"/> - <exclude name="docs/rdocs.tar.gz"/> - <exclude name="bench/**"/> - <include name="share/**"/> diff --git a/debian/patches/0008-CVE-2011-4838.patch b/debian/patches/0008-CVE-2011-4838.patch deleted file mode 100644 index 0236f8a..0000000 --- a/debian/patches/0008-CVE-2011-4838.patch +++ /dev/null @@ -1,132 +0,0 @@ ---- a/src/org/jruby/RubyHash.java -+++ b/src/org/jruby/RubyHash.java -@@ -809,7 +809,7 @@ - oldTable[j] = null; - while (entry != null) { - RubyHashEntry next = entry.next; -- entry.hash = entry.key.hashCode(); // update the hash value -+ entry.hash = hashValue(entry.key.hashCode()); // update the hash value - int i = bucketIndex(entry.hash, newTable.length); - entry.next = newTable[i]; - newTable[i] = entry; ---- a/src/org/jruby/Ruby.java -+++ b/src/org/jruby/Ruby.java -@@ -269,6 +269,8 @@ - this.beanManager = BeanManagerFactory.create(this, config.isManagementEnabled()); - this.jitCompiler = new JITCompiler(this); - this.parserStats = new ParserStats(this); -+ -+ this.hashSeed = this.random.nextInt(); - - this.beanManager.register(new Config(this)); - this.beanManager.register(parserStats); -@@ -3704,6 +3706,10 @@ - public Set<Script> getJittedMethods() { - return jittedMethods; - } -+ -+ public int getHashSeed() { -+ return hashSeed; -+ } - - public ExecutorService getExecutor() { - return executor; -@@ -3808,6 +3814,8 @@ - private long randomSeed = 0; - private long randomSeedSequence = 0; - private Random random = new Random(); -+ /** The runtime-local seed for hash randomization */ -+ private int hashSeed = 0; - - private final List<EventHook> eventHooks = new Vector<EventHook>(); - private boolean hasEventHooks; ---- a/src/org/jruby/RubyString.java -+++ b/src/org/jruby/RubyString.java -@@ -91,6 +91,7 @@ - import org.jruby.runtime.marshal.UnmarshalStream; - import org.jruby.util.ByteList; - import org.jruby.util.ConvertBytes; -+import org.jruby.util.MurmurHash; - import org.jruby.util.Numeric; - import org.jruby.util.Pack; - import org.jruby.util.Sprintf; -@@ -1024,11 +1025,11 @@ - } - - private int strHashCode(Ruby runtime) { -+ int hash = MurmurHash.hash32(value.getUnsafeBytes(), value.getBegin(), value.getRealSize(), runtime.getHashSeed()); - if (runtime.is1_9()) { -- return value.hashCode() ^ (value.getEncoding().isAsciiCompatible() && scanForCodeRange() == CR_7BIT ? 0 : value.getEncoding().getIndex()); -- } else { -- return value.hashCode(); -+ hash ^= (value.getEncoding().isAsciiCompatible() && scanForCodeRange() == CR_7BIT ? 0 : value.getEncoding().getIndex()); - } -+ return hash; - } - - @Override ---- /dev/null -+++ b/src/org/jruby/util/MurmurHash.java -@@ -0,0 +1,62 @@ -+package org.jruby.util; -+ -+public class MurmurHash { -+ // Based on Murmurhash 2.0 Java port at http://dmy999.com/article/50/murmurhash-2-java-port -+ // 2011-12-05: Modified by Hiroshi Nakamura <[email protected]> -+ // - signature change to use offset -+ // hash(byte[] data, int seed) to hash(byte[] src, int offset, int length, int seed) -+ // - extract 'm' and 'r' as murmurhash2.0 constants -+ -+ // Ported by Derek Young from the C version (specifically the endian-neutral -+ // version) from: -+ // http://murmurhash.googlepages.com/ -+ // -+ // released to the public domain - [email protected] -+ -+ // 'm' and 'r' are mixing constants generated offline. -+ // They're not really 'magic', they just happen to work well. -+ private static final int MURMUR2_MAGIC = 0x5bd1e995; -+ // CRuby 1.9 uses 16 but original C++ implementation uses 24 with above Magic. -+ private static final int MURMUR2_R = 24; -+ -+ @SuppressWarnings("fallthrough") -+ public static int hash32(byte[] src, int offset, int length, int seed) { -+ // Initialize the hash to a 'random' value -+ int h = seed ^ length; -+ -+ int i = offset; -+ int len = length; -+ while (len >= 4) { -+ int k = src[i + 0] & 0xFF; -+ k |= (src[i + 1] & 0xFF) << 8; -+ k |= (src[i + 2] & 0xFF) << 16; -+ k |= (src[i + 3] & 0xFF) << 24; -+ -+ k *= MURMUR2_MAGIC; -+ k ^= k >>> MURMUR2_R; -+ k *= MURMUR2_MAGIC; -+ -+ h *= MURMUR2_MAGIC; -+ h ^= k; -+ -+ i += 4; -+ len -= 4; -+ } -+ -+ switch (len) { -+ case 3: -+ h ^= (src[i + 2] & 0xFF) << 16; -+ case 2: -+ h ^= (src[i + 1] & 0xFF) << 8; -+ case 1: -+ h ^= (src[i + 0] & 0xFF); -+ h *= MURMUR2_MAGIC; -+ } -+ -+ h ^= h >>> 13; -+ h *= MURMUR2_MAGIC; -+ h ^= h >>> 15; -+ -+ return h; -+ } -+} diff --git a/debian/patches/0009-CVE-2012-5370.patch b/debian/patches/0009-CVE-2012-5370.patch deleted file mode 100644 index 6f725f8..0000000 --- a/debian/patches/0009-CVE-2012-5370.patch +++ /dev/null @@ -1,130 +0,0 @@ -Drop the MurmurHash to compute hashes, as it is vulnerable to a DoS: -A specially-crafted set of keys could trigger Murmur hash function -collisions, which degrade hash table items insert performance by -changing hash table operations complexity from an expected/average -O(n) to the worst case O(n^2). Reporters were able to find colliding -strings efficiently using equivalent substrings. - -Use PerlHash instead, as it was done upstream (see commit -5e4aab28b26fd127112b76fabfac9a33b64caf77 of git://jruby.org/jruby.git) -instead of the SipHash that is used in the C implementation of Ruby, -for performance reasons. - -Index: jruby/src/org/jruby/util/MurmurHash.java -=================================================================== ---- jruby.orig/src/org/jruby/util/MurmurHash.java 2012-12-11 20:29:23.666433052 +0100 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,62 +0,0 @@ --package org.jruby.util; -- --public class MurmurHash { -- // Based on Murmurhash 2.0 Java port at http://dmy999.com/article/50/murmurhash-2-java-port -- // 2011-12-05: Modified by Hiroshi Nakamura <[email protected]> -- // - signature change to use offset -- // hash(byte[] data, int seed) to hash(byte[] src, int offset, int length, int seed) -- // - extract 'm' and 'r' as murmurhash2.0 constants -- -- // Ported by Derek Young from the C version (specifically the endian-neutral -- // version) from: -- // http://murmurhash.googlepages.com/ -- // -- // released to the public domain - [email protected] -- -- // 'm' and 'r' are mixing constants generated offline. -- // They're not really 'magic', they just happen to work well. -- private static final int MURMUR2_MAGIC = 0x5bd1e995; -- // CRuby 1.9 uses 16 but original C++ implementation uses 24 with above Magic. -- private static final int MURMUR2_R = 24; -- -- @SuppressWarnings("fallthrough") -- public static int hash32(byte[] src, int offset, int length, int seed) { -- // Initialize the hash to a 'random' value -- int h = seed ^ length; -- -- int i = offset; -- int len = length; -- while (len >= 4) { -- int k = src[i + 0] & 0xFF; -- k |= (src[i + 1] & 0xFF) << 8; -- k |= (src[i + 2] & 0xFF) << 16; -- k |= (src[i + 3] & 0xFF) << 24; -- -- k *= MURMUR2_MAGIC; -- k ^= k >>> MURMUR2_R; -- k *= MURMUR2_MAGIC; -- -- h *= MURMUR2_MAGIC; -- h ^= k; -- -- i += 4; -- len -= 4; -- } -- -- switch (len) { -- case 3: -- h ^= (src[i + 2] & 0xFF) << 16; -- case 2: -- h ^= (src[i + 1] & 0xFF) << 8; -- case 1: -- h ^= (src[i + 0] & 0xFF); -- h *= MURMUR2_MAGIC; -- } -- -- h ^= h >>> 13; -- h *= MURMUR2_MAGIC; -- h ^= h >>> 15; -- -- return h; -- } --} -Index: jruby/src/org/jruby/RubyString.java -=================================================================== ---- jruby.orig/src/org/jruby/RubyString.java 2012-12-11 20:29:23.650433034 +0100 -+++ jruby/src/org/jruby/RubyString.java 2012-12-11 20:49:48.895686092 +0100 -@@ -91,7 +91,7 @@ - import org.jruby.runtime.marshal.UnmarshalStream; - import org.jruby.util.ByteList; - import org.jruby.util.ConvertBytes; --import org.jruby.util.MurmurHash; -+import org.jruby.util.PerlHash; - import org.jruby.util.Numeric; - import org.jruby.util.Pack; - import org.jruby.util.Sprintf; -@@ -1025,7 +1025,7 @@ - } - - private int strHashCode(Ruby runtime) { -- int hash = MurmurHash.hash32(value.getUnsafeBytes(), value.getBegin(), value.getRealSize(), runtime.getHashSeed()); -+ int hash = PerlHash.hash32(runtime.getHashSeed(), value.getUnsafeBytes(), value.getBegin(), value.getRealSize()); - if (runtime.is1_9()) { - hash ^= (value.getEncoding().isAsciiCompatible() && scanForCodeRange() == CR_7BIT ? 0 : value.getEncoding().getIndex()); - } -Index: jruby/src/org/jruby/util/PerlHash.java -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ jruby/src/org/jruby/util/PerlHash.java 2012-12-11 20:42:32.429215037 +0100 -@@ -0,0 +1,24 @@ -+package org.jruby.util; -+ -+/** -+ * Perl's Hash implementation. -+ * -+ * @author [email protected] -+ */ -+public class PerlHash { -+ public static long hash64(long key, byte[] src, int offset, int length) { -+ for (int idx = 0; idx < length; ++idx) { -+ key += (src[offset + idx] & 0xFF); -+ key += (key << 10); -+ key ^= (key >>> 6); -+ } -+ key += (key << 3); -+ key ^= (key >>> 11); -+ key += (key << 15); -+ return key; -+ } -+ public static int hash32(long key, byte[] src, int offset, int length) { -+ long res = hash64(key,src,offset,length); -+ return ((int) (res & 0xFFFFFFFF)) ^ ((int) (res >>> 32)); -+ } -+} diff --git a/debian/patches/0010-jruby-Set-FD_CLOEXEC-correctly-using-F_SETFD-not-F_S.patch b/debian/patches/0010-jruby-Set-FD_CLOEXEC-correctly-using-F_SETFD-not-F_S.patch deleted file mode 100644 index 7c802c1..0000000 --- a/debian/patches/0010-jruby-Set-FD_CLOEXEC-correctly-using-F_SETFD-not-F_S.patch +++ /dev/null @@ -1,73 +0,0 @@ -From e6ba288b93628e231dbb1a067b30f6f928be87d5 Mon Sep 17 00:00:00 2001 -From: Guillem Jover <[email protected]> -Date: Tue, 18 Dec 2012 18:33:48 +0100 -Subject: [PATCH] jruby: Set FD_CLOEXEC correctly using F_SETFD not F_SETFL - -Using that value on F_SETFL is just wrong, and might make the call fail -on some systems, as it's requesting to set an undetermined flag. For -example on GNU/* FD_CLOEXEC has value 1, which matches with O_WRONLY. - -This might cause the code to at least leak file descriptors, and at worst -to terminate execution. ---- - lib/ruby/1.8/drb/unix.rb | 2 +- - lib/ruby/1.8/webrick/utils.rb | 2 +- - lib/ruby/1.9/drb/unix.rb | 2 +- - lib/ruby/1.9/webrick/utils.rb | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/lib/ruby/1.8/drb/unix.rb b/lib/ruby/1.8/drb/unix.rb -index 57feed8..90ca292 100644 ---- a/lib/ruby/1.8/drb/unix.rb -+++ b/lib/ruby/1.8/drb/unix.rb -@@ -100,7 +100,7 @@ module DRb - end - - def set_sockopt(soc) -- soc.fcntl(Fcntl::F_SETFL, Fcntl::FD_CLOEXEC) if defined? Fcntl::FD_CLOEXEC -+ soc.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) if defined? Fcntl::FD_CLOEXEC - end - end - -diff --git a/lib/ruby/1.8/webrick/utils.rb b/lib/ruby/1.8/webrick/utils.rb -index cf9da6f..1c29ef5 100644 ---- a/lib/ruby/1.8/webrick/utils.rb -+++ b/lib/ruby/1.8/webrick/utils.rb -@@ -29,7 +29,7 @@ module WEBrick - - def set_close_on_exec(io) - if defined?(Fcntl::FD_CLOEXEC) -- io.fcntl(Fcntl::FD_CLOEXEC, 1) -+ io.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) - end - end - module_function :set_close_on_exec -diff --git a/lib/ruby/1.9/drb/unix.rb b/lib/ruby/1.9/drb/unix.rb -index ebecc22..e56008c 100644 ---- a/lib/ruby/1.9/drb/unix.rb -+++ b/lib/ruby/1.9/drb/unix.rb -@@ -100,7 +100,7 @@ module DRb - end - - def set_sockopt(soc) -- soc.fcntl(Fcntl::F_SETFL, Fcntl::FD_CLOEXEC) if defined? Fcntl::FD_CLOEXEC -+ soc.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) if defined? Fcntl::FD_CLOEXEC - end - end - -diff --git a/lib/ruby/1.9/webrick/utils.rb b/lib/ruby/1.9/webrick/utils.rb -index dee9363..677ecb8 100644 ---- a/lib/ruby/1.9/webrick/utils.rb -+++ b/lib/ruby/1.9/webrick/utils.rb -@@ -29,7 +29,7 @@ module WEBrick - - def set_close_on_exec(io) - if defined?(Fcntl::FD_CLOEXEC) -- io.fcntl(Fcntl::FD_CLOEXEC, 1) -+ io.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) - end - end - module_function :set_close_on_exec --- -1.8.1.rc0 - diff --git a/debian/patches/0011-java7-compat.patch b/debian/patches/0011-java7-compat.patch deleted file mode 100644 index a720066..0000000 --- a/debian/patches/0011-java7-compat.patch +++ /dev/null @@ -1,704 +0,0 @@ -Description: Fix compilation issues under OpenJDK 7 after b142 with primitive - + varargs now resolving as ambiguous. -Origin: https://github.com/jruby/jruby/commit/7588393ca5bfeba6182b87b8b47669ecab2fe403 - ---- a/src/org/jruby/Ruby.java -+++ b/src/org/jruby/Ruby.java -@@ -909,7 +909,7 @@ - - if (superClass == null) { - String className = parentIsObject ? name : parent.getName() + "::" + name; -- warnings.warn(ID.NO_SUPER_CLASS, "no super class for `" + className + "', Object assumed", className); -+ warnings.warn(ID.NO_SUPER_CLASS, "no super class for `" + className + "', Object assumed"); - - superClass = objectClass; - } ---- a/src/org/jruby/RubyArray.java -+++ b/src/org/jruby/RubyArray.java -@@ -2272,7 +2272,7 @@ - */ - @JRubyMethod(name = {"indexes", "indices"}, required = 1, rest = true) - public IRubyObject indexes(IRubyObject[] args) { -- getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "Array#indexes is deprecated; use Array#values_at", "Array#indexes", "Array#values_at"); -+ getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "Array#indexes is deprecated; use Array#values_at"); - - RubyArray ary = new RubyArray(getRuntime(), args.length); - ---- a/src/org/jruby/RubyBignum.java -+++ b/src/org/jruby/RubyBignum.java -@@ -543,7 +543,7 @@ - long fixValue = fix.getLongValue(); - // MRI issuses warning here on (RBIGNUM(x)->len * SIZEOF_BDIGITS * yy > 1024*1024) - if (((value.bitLength() + 7) / 8) * 4 * Math.abs(fixValue) > 1024 * 1024) { -- getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big", fixValue); -+ getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big"); - } - if (fixValue >= 0) { - return bignorm(getRuntime(), value.pow((int) fixValue)); // num2int is also implemented -@@ -552,7 +552,7 @@ - } - } else if (other instanceof RubyBignum) { - d = ((RubyBignum) other).getDoubleValue(); -- getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big", d); -+ getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big"); - } else if (other instanceof RubyFloat) { - d = ((RubyFloat) other).getDoubleValue(); - } else { -@@ -579,7 +579,7 @@ - } - // MRI issuses warning here on (RBIGNUM(x)->len * SIZEOF_BDIGITS * yy > 1024*1024) - if (((value.bitLength() + 7) / 8) * 4 * Math.abs(fixValue) > 1024 * 1024) { -- getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big", fixValue); -+ getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big"); - } - if (fixValue >= 0) { - return bignorm(runtime, value.pow((int) fixValue)); // num2int is also implemented -@@ -588,7 +588,7 @@ - } - } else if (other instanceof RubyBignum) { - d = ((RubyBignum) other).getDoubleValue(); -- getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big", d); -+ getRuntime().getWarnings().warn(ID.MAY_BE_TOO_BIG, "in a**b, b may be too big"); - } else if (other instanceof RubyFloat) { - d = ((RubyFloat) other).getDoubleValue(); - if (this.compareTo(RubyFixnum.zero(runtime)) == -1 ---- a/src/org/jruby/RubyEtc.java -+++ b/src/org/jruby/RubyEtc.java -@@ -117,7 +117,7 @@ - throw re; - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getpwuid is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getpwuid is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } -@@ -138,7 +138,7 @@ - return setupPasswd(recv.getRuntime(), pwd); - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getpwnam is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getpwnam is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } -@@ -169,7 +169,7 @@ - } - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.passwd is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.passwd is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } -@@ -204,7 +204,7 @@ - runtime.getPosix().endpwent(); - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.endpwent is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.endpwent is not supported by JRuby on this platform"); - } - } - return runtime.getNil(); -@@ -217,7 +217,7 @@ - runtime.getPosix().setpwent(); - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.setpwent is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.setpwent is not supported by JRuby on this platform"); - } - } - return runtime.getNil(); -@@ -235,7 +235,7 @@ - } - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getpwent is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getpwent is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } -@@ -256,7 +256,7 @@ - return setupGroup(runtime, grp); - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getgrnam is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getgrnam is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } -@@ -281,7 +281,7 @@ - throw re; - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getgrgid is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getgrgid is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } -@@ -294,7 +294,7 @@ - runtime.getPosix().endgrent(); - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.engrent is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.engrent is not supported by JRuby on this platform"); - } - } - return runtime.getNil(); -@@ -307,7 +307,7 @@ - runtime.getPosix().setgrent(); - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.setgrent is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.setgrent is not supported by JRuby on this platform"); - } - } - return runtime.getNil(); -@@ -338,7 +338,7 @@ - } - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.group is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.group is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } -@@ -356,7 +356,7 @@ - } - } catch (Exception e) { - if (runtime.getDebug().isTrue()) { -- runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getgrent is not supported by JRuby on this platform", e); -+ runtime.getWarnings().warn(ID.NOT_IMPLEMENTED, "Etc.getgrent is not supported by JRuby on this platform"); - } - return runtime.getNil(); - } ---- a/src/org/jruby/RubyGC.java -+++ b/src/org/jruby/RubyGC.java -@@ -105,6 +105,6 @@ - - private static void emptyImplementationWarning(Ruby runtime, String name) { - runtime.getWarnings().warn(ID.EMPTY_IMPLEMENTATION, -- name + " does nothing on JRuby", name); -+ name + " does nothing on JRuby"); - } - } ---- a/src/org/jruby/RubyGlobal.java -+++ b/src/org/jruby/RubyGlobal.java -@@ -353,13 +353,13 @@ - - @Override - public IRubyObject set(IRubyObject value) { -- runtime.getWarnings().warn(ID.INEFFECTIVE_GLOBAL, "warning: variable " + name + " is no longer effective; ignored", name); -+ runtime.getWarnings().warn(ID.INEFFECTIVE_GLOBAL, "warning: variable " + name + " is no longer effective; ignored"); - return value; - } - - @Override - public IRubyObject get() { -- runtime.getWarnings().warn(ID.INEFFECTIVE_GLOBAL, "warning: variable " + name + " is no longer effective", name); -+ runtime.getWarnings().warn(ID.INEFFECTIVE_GLOBAL, "warning: variable " + name + " is no longer effective"); - return runtime.getFalse(); - } - } ---- a/src/org/jruby/RubyIO.java -+++ b/src/org/jruby/RubyIO.java -@@ -861,8 +861,7 @@ - String className = klass.getName(); - context.getRuntime().getWarnings().warn( - ID.BLOCK_NOT_ACCEPTED, -- className + "::new() does not take block; use " + className + "::open() instead", -- className + "::open()"); -+ className + "::new() does not take block; use " + className + "::open() instead"); - } - - return klass.newInstance(context, args, block); ---- a/src/org/jruby/RubyKernel.java -+++ b/src/org/jruby/RubyKernel.java -@@ -285,7 +285,7 @@ - - @JRubyMethod(name = "getc", module = true, visibility = PRIVATE) - public static IRubyObject getc(ThreadContext context, IRubyObject recv) { -- context.getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "getc is obsolete; use STDIN.getc instead", "getc", "STDIN.getc"); -+ context.getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "getc is obsolete; use STDIN.getc instead"); - IRubyObject defin = context.getRuntime().getGlobalVariables().get("$stdin"); - return defin.callMethod(context, "getc"); - } ---- a/src/org/jruby/RubyModule.java -+++ b/src/org/jruby/RubyModule.java -@@ -2693,7 +2693,7 @@ - if (p == objectClass && this != objectClass) { - String badCName = getName() + "::" + internedName; - runtime.getWarnings().warn(ID.CONSTANT_BAD_REFERENCE, "toplevel constant " + -- internedName + " referenced by " + badCName, badCName); -+ internedName + " referenced by " + badCName); - } - - return value; -@@ -2758,7 +2758,7 @@ - runtime.getLoadService().removeAutoLoadFor(getName() + "::" + name); - } else { - if (warn) { -- runtime.getWarnings().warn(ID.CONSTANT_ALREADY_INITIALIZED, "already initialized constant " + name, name); -+ runtime.getWarnings().warn(ID.CONSTANT_ALREADY_INITIALIZED, "already initialized constant " + name); - } - } - } ---- a/src/org/jruby/RubyRational.java -+++ b/src/org/jruby/RubyRational.java -@@ -879,7 +879,7 @@ - long e = ne - de; - - if (e > 1023 || e < -1022) { -- runtime.getWarnings().warn(IRubyWarnings.ID.FLOAT_OUT_OF_RANGE, "out of Float range", getMetaClass()); -+ runtime.getWarnings().warn(IRubyWarnings.ID.FLOAT_OUT_OF_RANGE, "out of Float range"); - return runtime.newFloat(e > 0 ? Double.MAX_VALUE : 0); - } - -@@ -890,7 +890,7 @@ - f = ldexp(f, e); - - if (Double.isInfinite(f) || Double.isNaN(f)) { -- runtime.getWarnings().warn(IRubyWarnings.ID.FLOAT_OUT_OF_RANGE, "out of Float range", getMetaClass()); -+ runtime.getWarnings().warn(IRubyWarnings.ID.FLOAT_OUT_OF_RANGE, "out of Float range"); - } - - return runtime.newFloat(f); ---- a/src/org/jruby/RubyStringScanner.java -+++ b/src/org/jruby/RubyStringScanner.java -@@ -131,7 +131,7 @@ - check(); - Ruby runtime = context.getRuntime(); - if (runtime.isVerbose()) { -- runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#clear is obsolete; use #terminate instead", "StringScanner#clear", "#terminate"); -+ runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#clear is obsolete; use #terminate instead"); - } - return terminate(); - } -@@ -338,8 +338,7 @@ - Ruby runtime = context.getRuntime(); - if (runtime.isVerbose()) { - runtime.getWarnings().warning(ID.DEPRECATED_METHOD, -- "StringScanner#getbyte is obsolete; use #get_byte instead", -- "StringScanner#getbyte", "#get_byte"); -+ "StringScanner#getbyte is obsolete; use #get_byte instead"); - } - return get_byte(context); - } -@@ -365,8 +364,7 @@ - Ruby runtime = context.getRuntime(); - if (runtime.isVerbose()) { - runtime.getWarnings().warning( -- ID.DEPRECATED_METHOD, "StringScanner#peep is obsolete; use #peek instead", -- "StringScanner#peep", "#peek"); -+ ID.DEPRECATED_METHOD, "StringScanner#peep is obsolete; use #peek instead"); - } - return peek(context, length); - } -@@ -405,7 +403,7 @@ - public RubyBoolean empty_p(ThreadContext context) { - Ruby runtime = context.getRuntime(); - if (runtime.isVerbose()) { -- runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#empty? is obsolete; use #eos? instead", "StringScanner#empty?", "#eos?"); -+ runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#empty? is obsolete; use #eos? instead"); - } - return eos_p(context); - } -@@ -440,8 +438,7 @@ - public IRubyObject matchedsize(ThreadContext context) { - Ruby runtime = context.getRuntime(); - if (runtime.isVerbose()) { -- runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#matchedsize is obsolete; use #matched_size instead", -- "StringScanner#matchedize", "#matched_size"); -+ runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#matchedsize is obsolete; use #matched_size instead"); - } - return matched_size(); - } -@@ -500,7 +497,7 @@ - public RubyFixnum restsize(ThreadContext context) { - Ruby runtime = context.getRuntime(); - if (runtime.isVerbose()) { -- runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#restsize is obsolete; use #rest_size instead", "StringScanner#restsize", "#rest_size"); -+ runtime.getWarnings().warning(ID.DEPRECATED_METHOD, "StringScanner#restsize is obsolete; use #rest_size instead"); - } - return rest_size(); - } ---- a/src/org/jruby/ast/DefnNode.java -+++ b/src/org/jruby/ast/DefnNode.java -@@ -90,11 +90,11 @@ - String name = getName(); - - if (containingClass == runtime.getObject() && name == "initialize") { -- runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining Object#initialize may cause infinite loop", "Object#initialize"); -+ runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining Object#initialize may cause infinite loop"); - } - - if (name == "__id__" || name == "__send__") { -- runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining `" + name + "' may cause serious problem", name); -+ runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining `" + name + "' may cause serious problem"); - } - - Visibility visibility = context.getCurrentVisibility(); ---- a/src/org/jruby/ast/InstVarNode.java -+++ b/src/org/jruby/ast/InstVarNode.java -@@ -114,7 +114,7 @@ - - private void warnAboutUninitializedIvar(Ruby runtime) { - runtime.getWarnings().warning(ID.IVAR_NOT_INITIALIZED, getPosition(), -- "instance variable " + name + " not initialized", name); -+ "instance variable " + name + " not initialized"); - } - - @Override ---- a/src/org/jruby/common/IRubyWarnings.java -+++ b/src/org/jruby/common/IRubyWarnings.java -@@ -30,6 +30,7 @@ - ***** END LICENSE BLOCK *****/ - package org.jruby.common; - -+import org.jruby.Ruby; - import org.jruby.lexer.yacc.ISourcePosition; - - // FIXME: Document difference between warn and warning (or rename one better) -@@ -100,12 +101,26 @@ - } - } - -- public abstract org.jruby.Ruby getRuntime(); -- public abstract void warn(ID id, ISourcePosition position, String message, Object... data); -- public abstract void warn(ID id, String fileName, int lineNumber, String message, Object... data); -+ public abstract Ruby getRuntime(); - public abstract boolean isVerbose(); -+ -+ public abstract void warn(ID id, ISourcePosition position, String message); -+ public abstract void warn(ID id, String fileName, int lineNumber, String message); -+ public abstract void warn(ID id, String message); -+ public abstract void warning(ID id, String message); -+ public abstract void warning(ID id, ISourcePosition position, String message); -+ public abstract void warning(ID id, String fileName, int lineNumber, String message); -+ -+ @Deprecated - public abstract void warn(ID id, String message, Object... data); -+ @Deprecated - public abstract void warning(ID id, String message, Object... data); -+ @Deprecated -+ public abstract void warn(ID id, ISourcePosition position, String message, Object... data); -+ @Deprecated -+ public abstract void warn(ID id, String fileName, int lineNumber, String message, Object... data); -+ @Deprecated - public abstract void warning(ID id, ISourcePosition position, String message, Object... data); -- public abstract void warning(ID id, String fileName, int lineNumber, String message, Object... data); -+ @Deprecated -+ public abstract void warning(ID id, String fileName, int lineNumber, String message, Object...data); - } ---- a/src/org/jruby/common/NullWarnings.java -+++ b/src/org/jruby/common/NullWarnings.java -@@ -28,14 +28,15 @@ - ***** END LICENSE BLOCK *****/ - package org.jruby.common; - -+import org.jruby.Ruby; - import org.jruby.lexer.yacc.ISourcePosition; - - /** - * A Warnings implementation which silently ignores everything. - */ - public class NullWarnings implements IRubyWarnings { -- private org.jruby.Ruby runtime; -- public NullWarnings(org.jruby.Ruby runtime) { -+ private Ruby runtime; -+ public NullWarnings(Ruby runtime) { - this.runtime = runtime; - } - -@@ -47,10 +48,23 @@ - return runtime; - } - -+ public void warn(ID id, ISourcePosition position, String message) {} -+ public void warn(ID id, String fileName, int lineNumber, String message) {} -+ public void warn(ID id, String message) {} -+ public void warning(ID id, String message) {} -+ public void warning(ID id, ISourcePosition position, String message) {} -+ public void warning(ID id, String fileName, int lineNumber, String message) {} -+ -+ @Deprecated - public void warn(ID id, String message, Object... data) {} -+ @Deprecated - public void warning(ID id, String message, Object... data) {} -+ @Deprecated - public void warn(ID id, ISourcePosition position, String message, Object... data) {} -+ @Deprecated - public void warn(ID id, String fileName, int lineNumber, String message, Object... data) {} -+ @Deprecated - public void warning(ID id, ISourcePosition position, String message, Object... data) {} -+ @Deprecated - public void warning(ID id, String fileName, int lineNumber, String message, Object...data) {} - } ---- a/src/org/jruby/common/RubyWarnings.java -+++ b/src/org/jruby/common/RubyWarnings.java -@@ -48,21 +48,25 @@ - warn(ID.MISCELLANEOUS, message); - } - -- public org.jruby.Ruby getRuntime() { -+ public Ruby getRuntime() { - return runtime; - } - -+ public boolean isVerbose() { -+ return runtime.isVerbose(); -+ } -+ - /** - * Prints a warning, unless $VERBOSE is nil. - */ -- public void warn(ID id, ISourcePosition position, String message, Object... data) { -- warn(id, position.getFile(), position.getStartLine(), message, data); -+ public void warn(ID id, ISourcePosition position, String message) { -+ warn(id, position.getFile(), position.getStartLine(), message); - } - - /** - * Prints a warning, unless $VERBOSE is nil. - */ -- public void warn(ID id, String fileName, int lineNumber, String message, Object... data) { -+ public void warn(ID id, String fileName, int lineNumber, String message) { - if (!runtime.warningsEnabled()) return; // TODO make an assert here - - StringBuilder buffer = new StringBuilder(100); -@@ -73,38 +77,79 @@ - errorStream.callMethod(runtime.getCurrentContext(), "write", runtime.newString(buffer.toString())); - } - -- public boolean isVerbose() { -- return runtime.isVerbose(); -- } -- -- public void warn(ID id, String message, Object... data) { -+ public void warn(ID id, String message) { - ThreadContext context = runtime.getCurrentContext(); -- warn(id, context.getFile(), context.getLine(), message, data); -+ warn(id, context.getFile(), context.getLine(), message); - } - - /** - * Verbose mode warning methods, their contract is that consumer must explicitly check for runtime.isVerbose() - * before calling them - */ -- public void warning(String message, Object... data) { -- warning(ID.MISCELLANEOUS, message, data); -+ public void warning(String message) { -+ warning(ID.MISCELLANEOUS, message); - } - -- public void warning(ID id, String message, Object... data) { -+ public void warning(ID id, String message) { - ThreadContext context = runtime.getCurrentContext(); -- warning(id, context.getFile(), context.getLine(), message, data); -+ warning(id, context.getFile(), context.getLine(), message); - } - - /** - * Prints a warning, only in verbose mode. - */ -- public void warning(ID id, ISourcePosition position, String message, Object... data) { -- warning(id, position.getFile(), position.getStartLine(), message, data); -+ public void warning(ID id, ISourcePosition position, String message) { -+ warning(id, position.getFile(), position.getStartLine(), message); - } - - /** - * Prints a warning, only in verbose mode. - */ -+ public void warning(ID id, String fileName, int lineNumber, String message) { -+ assert isVerbose(); -+ warn(id, fileName, lineNumber, message); -+ } -+ -+ @Deprecated -+ public void warn(ID id, ISourcePosition position, String message, Object... data) { -+ warn(id, position.getFile(), position.getStartLine(), message, data); -+ } -+ -+ @Deprecated -+ public void warn(ID id, String fileName, int lineNumber, String message, Object... data) { -+ if (!runtime.warningsEnabled()) return; // TODO make an assert here -+ -+ StringBuilder buffer = new StringBuilder(100); -+ -+ buffer.append(fileName).append(':').append(lineNumber + 1).append(' '); -+ buffer.append("warning: ").append(message).append('\n'); -+ IRubyObject errorStream = runtime.getGlobalVariables().get("$stderr"); -+ errorStream.callMethod(runtime.getCurrentContext(), "write", runtime.newString(buffer.toString())); -+ } -+ -+ @Deprecated -+ public void warn(ID id, String message, Object... data) { -+ ThreadContext context = runtime.getCurrentContext(); -+ warn(id, context.getFile(), context.getLine(), message, data); -+ } -+ -+ @Deprecated -+ public void warning(String message, Object... data) { -+ warning(ID.MISCELLANEOUS, message, data); -+ } -+ -+ @Deprecated -+ public void warning(ID id, String message, Object... data) { -+ ThreadContext context = runtime.getCurrentContext(); -+ warning(id, context.getFile(), context.getLine(), message, data); -+ } -+ -+ @Deprecated -+ public void warning(ID id, ISourcePosition position, String message, Object... data) { -+ warning(id, position.getFile(), position.getStartLine(), message, data); -+ } -+ -+ @Deprecated - public void warning(ID id, String fileName, int lineNumber, String message, Object... data) { - assert isVerbose(); - warn(id, fileName, lineNumber, message, data); ---- a/src/org/jruby/ext/JRubyPOSIXHandler.java -+++ b/src/org/jruby/ext/JRubyPOSIXHandler.java -@@ -44,7 +44,7 @@ - } else { - ourID = ID.MISCELLANEOUS; - } -- runtime.getWarnings().warn(ourID, message, data); -+ runtime.getWarnings().warn(ourID, message); - } - - public boolean isVerbose() { ---- a/src/org/jruby/internal/runtime/GlobalVariables.java -+++ b/src/org/jruby/internal/runtime/GlobalVariables.java -@@ -111,7 +111,7 @@ - if (variable != null) return variable.getAccessor().getValue(); - - if (runtime.isVerbose()) { -- runtime.getWarnings().warning(ID.GLOBAL_NOT_INITIALIZED, "global variable `" + name + "' not initialized", name); -+ runtime.getWarnings().warning(ID.GLOBAL_NOT_INITIALIZED, "global variable `" + name + "' not initialized"); - } - return runtime.getNil(); - } ---- a/src/org/jruby/internal/runtime/UndefinedAccessor.java -+++ b/src/org/jruby/internal/runtime/UndefinedAccessor.java -@@ -60,7 +60,7 @@ - */ - public IRubyObject getValue() { - if (runtime.isVerbose()) { -- runtime.getWarnings().warning(ID.ACCESSOR_NOT_INITIALIZED, "global variable `" + name + "' not initialized", name); -+ runtime.getWarnings().warning(ID.ACCESSOR_NOT_INITIALIZED, "global variable `" + name + "' not initialized"); - } - return runtime.getNil(); - } ---- a/src/org/jruby/javasupport/util/RuntimeHelpers.java -+++ b/src/org/jruby/javasupport/util/RuntimeHelpers.java -@@ -1579,11 +1579,11 @@ - } - - if (containingClass == runtime.getObject() && name.equals("initialize")) { -- runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining Object#initialize may cause infinite loop", "Object#initialize"); -+ runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining Object#initialize may cause infinite loop"); - } - - if (name.equals("__id__") || name.equals("__send__")) { -- runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining `" + name + "' may cause serious problem", name); -+ runtime.getWarnings().warn(ID.REDEFINING_DANGEROUS, "redefining `" + name + "' may cause serious problem"); - } - } - ---- a/src/org/jruby/lexer/yacc/RubyYaccLexer.java -+++ b/src/org/jruby/lexer/yacc/RubyYaccLexer.java -@@ -116,7 +116,7 @@ - try { - d = Double.parseDouble(number); - } catch (NumberFormatException e) { -- warnings.warn(ID.FLOAT_OUT_OF_RANGE, getPosition(), "Float " + number + " out of range.", number); -+ warnings.warn(ID.FLOAT_OUT_OF_RANGE, getPosition(), "Float " + number + " out of range."); - - d = number.startsWith("-") ? Double.NEGATIVE_INFINITY : Double.POSITIVE_INFINITY; - } -@@ -1090,7 +1090,7 @@ - //a wrong position if the "inclusive" flag is not set. - ISourcePosition tmpPosition = getPosition(); - if (isARG() && spaceSeen && !Character.isWhitespace(c)) { -- if (warnings.isVerbose()) warnings.warning(ID.ARGUMENT_AS_PREFIX, tmpPosition, "`&' interpreted as argument prefix", "&"); -+ if (warnings.isVerbose()) warnings.warning(ID.ARGUMENT_AS_PREFIX, tmpPosition, "`&' interpreted as argument prefix"); - c = Tokens.tAMPER; - } else if (isBEG()) { - c = Tokens.tAMPER; -@@ -1939,7 +1939,7 @@ - default: - src.unread(c); - if (isARG() && spaceSeen && !Character.isWhitespace(c)) { -- if (warnings.isVerbose()) warnings.warning(ID.ARGUMENT_AS_PREFIX, getPosition(), "`*' interpreted as argument prefix", "*"); -+ if (warnings.isVerbose()) warnings.warning(ID.ARGUMENT_AS_PREFIX, getPosition(), "`*' interpreted as argument prefix"); - c = Tokens.tSTAR; - } else if (isBEG()) { - c = Tokens.tSTAR; ---- a/src/org/jruby/parser/ParserSupport.java -+++ b/src/org/jruby/parser/ParserSupport.java -@@ -631,7 +631,7 @@ - } - - private void handleUselessWarn(Node node, String useless) { -- warnings.warn(ID.USELESS_EXPRESSION, node.getPosition(), "Useless use of " + useless + " in void context.", useless); -+ warnings.warn(ID.USELESS_EXPRESSION, node.getPosition(), "Useless use of " + useless + " in void context."); - } - - /** -@@ -1453,12 +1453,12 @@ - } - - public void warn(ID id, ISourcePosition position, String message, Object... data) { -- warnings.warn(id, position, message, data); -+ warnings.warn(id, position, message); - } - - public void warning(ID id, ISourcePosition position, String message, Object... data) { - if (warnings.isVerbose()) { -- warnings.warning(id, position, message, data); -+ warnings.warning(id, position, message); - } - } - ---- a/src/org/jruby/RubyStruct.java -+++ b/src/org/jruby/RubyStruct.java -@@ -211,7 +211,7 @@ - if (type != null) { - ThreadContext context = runtime.getCurrentContext(); - Frame frame = context.getCurrentFrame(); -- runtime.getWarnings().warn(ID.STRUCT_CONSTANT_REDEFINED, frame.getFile(), frame.getLine(), "redefining constant Struct::" + name, name); -+ runtime.getWarnings().warn(ID.STRUCT_CONSTANT_REDEFINED, frame.getFile(), frame.getLine(), "redefining constant Struct::" + name); - superClass.remove_const(context, runtime.newString(name)); - } - newStruct = superClass.defineClassUnder(name, superClass, STRUCT_INSTANCE_ALLOCATOR); ---- a/src/org/jruby/RubyObject.java -+++ b/src/org/jruby/RubyObject.java -@@ -660,7 +660,7 @@ - */ - @JRubyMethod(name = "id") - public IRubyObject id_deprecated() { -- getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "Object#id will be deprecated; use Object#object_id", "Object#id", "Object#object_id"); -+ getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "Object#id will be deprecated; use Object#object_id"); - return id(); - } - -@@ -717,7 +717,7 @@ - */ - @JRubyMethod(name = "type") - public RubyClass type_deprecated() { -- getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "Object#type is deprecated; use Object#class", "Object#type", "Object#class"); -+ getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "Object#type is deprecated; use Object#class"); - return type(); - } - -@@ -1253,7 +1253,7 @@ - */ - @JRubyMethod(name = "to_a", visibility = Visibility.PUBLIC, compat = CompatVersion.RUBY1_8) - public RubyArray to_a() { -- getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "default 'to_a' will be obsolete", "to_a"); -+ getRuntime().getWarnings().warn(ID.DEPRECATED_METHOD, "default 'to_a' will be obsolete"); - return getRuntime().newArray(this); - } - diff --git a/debian/patches/0012-nailgun.patch b/debian/patches/0012-nailgun.patch deleted file mode 100644 index f51bebc..0000000 --- a/debian/patches/0012-nailgun.patch +++ /dev/null @@ -1,46 +0,0 @@ -Description: use unversioned nailgun.jar -Origin: vendor -Bug-Debian: http://bugs.debian.org/713159 -Forwarded: not needed -Author: Julian Taylor <[email protected]> -Reviewed-by: gregor herrmann <[email protected]> -Last-Update: 2013-11-01 - ---- a/build.xml -+++ b/build.xml -@@ -338,7 +338,7 @@ - <zipfileset src="${build.lib.dir}/jffi.jar"/> - <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> -- <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> -+ <zipfileset src="${build.lib.dir}/nailgun.jar"/> - <metainf dir="${base.dir}/spi"> - <include name="services/**"/> - </metainf> -@@ -399,7 +399,7 @@ - <zipfileset src="${build.lib.dir}/jffi.jar"/> - <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> -- <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> -+ <zipfileset src="${build.lib.dir}/nailgun.jar"/> - <metainf dir="${base.dir}/spi"> - <include name="services/**"/> - </metainf> -@@ -477,7 +477,7 @@ - <zipfileset src="${build.lib.dir}/jffi.jar"/> - <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> -- <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> -+ <zipfileset src="${build.lib.dir}/nailgun.jar"/> - <zipfileset src="${local.shared.lib.dir}/yecht.jar"/> - <metainf dir="${base.dir}/spi"> - <include name="services/**"/> -@@ -548,7 +548,7 @@ - <zipfileset src="${build.lib.dir}/jffi.jar"/> - <zipfileset src="${build.lib.dir}/joda-time.jar"/> - <zipfileset src="${build.lib.dir}/yydebug.jar"/> -- <zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/> -+ <zipfileset src="${build.lib.dir}/nailgun.jar"/> - <zipfileset src="${local.shared.lib.dir}/yecht.jar"/> - <metainf dir="${base.dir}/spi"> - <include name="services/**"/> diff --git a/debian/patches/series b/debian/patches/series index 875449d..27d2ef7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,12 +1 @@ 0001-Fix-shebang-lines.patch -0002-jruby_home-is-at-a-specific-location-on-Debian.patch -0003-do-not-install-gems.patch -0004-replace-bundled-libraries.patch -0005-ignore-test-failures.patch -0006-do-not-build-InvokeDynamicSupport.java.patch -0007-use-unversioned-jarjar.jar.patch -0008-CVE-2011-4838.patch -0009-CVE-2012-5370.patch -0010-jruby-Set-FD_CLOEXEC-correctly-using-F_SETFD-not-F_S.patch -0011-java7-compat.patch -0012-nailgun.patch diff --git a/debian/rules b/debian/rules index b6af033..0c69cfe 100755 --- a/debian/rules +++ b/debian/rules @@ -1,49 +1,45 @@ #!/usr/bin/make -f +%: + dh $@ -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/ant.mk +# very hackish: this rules file has to be rewritten -JAVA_HOME := /usr/lib/jvm/java-7-openjdk-$(DEB_BUILD_ARCH) -DEB_ANT_CLEAN_TARGET := clean-all -DEB_ANT_BUILD_TARGET := -Ddev.gems=false -DdocsNotNeeded=true \ - -Dshared.lib.dir=/usr/share/java test dist-bin -DEB_JARS := ant-junit junit4 -UVERSION := $(shell dpkg-parsechangelog | grep ^Version: | sed 's/^.*: \(.*\)-\(.*\)$$/\1/') +override_dh_auto_build: + rsync -avP lib/ruby/shared/ lib/ruby/shared.bak + #mvn -Pdist + mkdir -p maven/jruby-dist/target -# must be set to avoid test failures -export BUILDING_JRUBY := true - -clean:: - $(RM) lib/ruby/site_ruby/shared/yecht.jar debian/stamp-yecht - # strange workaround for dpkg-source - $(RM) bin/jruby - rm -f test/testapp/testapp +override_dh_auto_clean: + #mvn clean mh_clean + unlink lib/ruby/gems/shared/bin/rmvn || true + rm -rf maven/jruby-stdlib/target + rm -rf maven/jruby-dist/target + rm -rf lib/shared/ruby + rm -rf lib/ruby/gems/shared/gems + rm -rf lib/ruby/gems/shared/specifications + rm -rf lib/ruby/gems/shared/rdoc + rm -rf core/target + rm -rf lib/target + rm -rf ext/readline/target + rm -rf ext/ripper/target + find lib/ruby/ -name '*.jar' -delete + rm -rf lib/jruby.jar + rm -rf bin/jruby + -test -d lib/ruby/shared.bak && rm -rf lib/ruby/shared && mv lib/ruby/shared.bak lib/ruby/shared + rm -f core/src/main/java/org/jruby/runtime/Constants.java + for script in ast gem install_doc jgem jirb jirb_swing jrubyc rdoc ri testrb irb rake; do \ + rm -f bin/$$script.bat; \ + done + rm -rf target + +override_dh_auto_install: + mkdir -p target/package + tar zxf maven/jruby-dist/target/jruby-dist-1.7.18-bin.tar.gz -C target/package --strip-components=1 + + -rm -rf target/package/lib/jni + -rm -rf target/package/lib/ruby/gems + -find target/package/lib -type f -name '*.ttf' -delete -pre-build:: debian/stamp-yecht -debian/stamp-yecht: - # symlink system yecht-ruby jar into shared directory - ln -s /usr/share/java/yecht-ruby.jar lib/ruby/site_ruby/shared/yecht.jar - touch $@ - -JRUBY_LIB_DIR := $(DEB_DESTDIR)/usr/lib/jruby - -install/jruby:: - tar -z -x -f dist/jruby-bin-*.tar.gz --strip 1 -C $(JRUBY_LIB_DIR) - # Remove all of the VCS directories - find $(JRUBY_LIB_DIR) -name '.svn' -delete - find $(JRUBY_LIB_DIR) -name '.git*' -delete - find $(JRUBY_LIB_DIR) -name '*.bat' -delete - # remove extra docs - $(RM) -r $(JRUBY_LIB_DIR)/docs $(JRUBY_LIB_DIR)/COPYING* $(JRUBY_LIB_DIR)/LICENSE.RUBY - # remove libjnidispatch.so, to keep the package - # architecture-independent; will put it in itw own - # separate package later on, if need be. - $(RM) -r $(JRUBY_LIB_DIR)/lib/native - # Remove all empty directories - find $(DEB_DESTDIR) -depth -follow -type d -empty -delete mh_installpoms -pjruby - mh_installjar -pjruby --java-lib maven/jruby/pom.xml $(JRUBY_LIB_DIR)/lib/jruby.jar - rm -f $(DEB_DESTDIR)/usr/share/java/jruby*.jar - dh_link usr/share/java/jruby.jar usr/share/java/jruby-$(UVERSION).jar - + mh_installjar -pjruby --java-lib maven/jruby/pom.xml ./target/package/lib/jruby.jar diff --git a/debian/source.lintian-overrides b/debian/source.lintian-overrides deleted file mode 100644 index 2f9c61d..0000000 --- a/debian/source.lintian-overrides +++ /dev/null @@ -1,3 +0,0 @@ -# java and ant are needed to clean -#jruby source: build-depends-without-arch-dep openjdk-6-jdk | java6-sdk -#jruby source: build-depends-without-arch-dep ant diff --git a/debian/watch b/debian/watch index a9b1849..c2154cb 100644 --- a/debian/watch +++ b/debian/watch @@ -1,7 +1,3 @@ -# Rename this file to "watch" and then you can run the "uscan" command -# to check for upstream updates and more. -# See uscan(1) for format - version=3 - -http://githubredir.debian.net/github/jruby/jruby .*/(\d.+).tar.gz +https://github.com/jruby/jruby/releases \ + /jruby/jruby/archive/([0-9].+)\.tar\.gz -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

