summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog8
-rw-r--r--debian/control2
-rw-r--r--debian/elki-dev.install16
-rw-r--r--debian/elki-dev.links18
-rw-r--r--debian/elki-dev.lintian-overrides16
-rw-r--r--debian/elki.links4
-rw-r--r--debian/elki.poms8
-rw-r--r--debian/patches/allow-empty-packages.patch111
-rw-r--r--debian/patches/better-classpath.patch32
-rw-r--r--debian/patches/build.patch37
-rw-r--r--debian/patches/enable-profiles-hack.patch24
-rw-r--r--debian/patches/javadoc-encoding.patch63
-rw-r--r--debian/patches/powi-bugfix.patch125
-rw-r--r--debian/patches/randomsample-bugfix.patch539
-rw-r--r--debian/patches/repeatable-documentation.patch314
-rw-r--r--debian/patches/series7
-rw-r--r--debian/patches/skip-cpu-dependent-test.patch14
17 files changed, 74 insertions, 1264 deletions
diff --git a/debian/changelog b/debian/changelog
index 23679db7..5e9c2b47 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+elki (0.7.1-1) unstable; urgency=low
+
+ * New upstream release (mostly bug fixes)
+ * Drop patches included upstream
+ * Build-dep on default-jdk instead of openjdk7-jdk (Closes: #814163)
+
+ -- Erich Schubert <erich@debian.org> Sat, 13 Feb 2016 17:05:40 +0100
+
elki (0.7.0-6) unstable; urgency=medium
* Add missing libsvm3-java dependency (Thanks, Tomas Barton)
diff --git a/debian/control b/debian/control
index 0a6c09dc..1503c626 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: elki
Section: science
Priority: extra
Maintainer: Erich Schubert <erich@debian.org>
-Build-Depends: debhelper (>= 9), openjdk-7-jdk | java7-sdk, maven-debian-helper (>= 1.5),
+Build-Depends: debhelper (>= 9), default-jdk (>= 2:1.7) | java7-sdk, maven-debian-helper (>= 1.5),
libbatik-java (>= 1.8), libxmlgraphics-commons-java,
libsvm3-java, libtrove3-java, maven (>= 3),
libmaven-antrun-plugin-java (>= 1.7), libmaven-antrun-plugin-java (<< 1.8),
diff --git a/debian/elki-dev.install b/debian/elki-dev.install
index 9097b40d..23aa0784 100644
--- a/debian/elki-dev.install
+++ b/debian/elki-dev.install
@@ -1,8 +1,8 @@
-elki/target/elki-0.7.0-javadoc.jar /usr/share/elki
-elki/target/elki-0.7.0-sources.jar /usr/share/elki
-addons/batikvis/target/elki-batik-visualization-0.7.0-javadoc.jar /usr/share/elki
-addons/batikvis/target/elki-batik-visualization-0.7.0-sources.jar /usr/share/elki
-addons/libsvm/target/elki-libsvm-0.7.0-javadoc.jar /usr/share/elki
-addons/libsvm/target/elki-libsvm-0.7.0-sources.jar /usr/share/elki
-addons/tutorial/target/elki-tutorial-0.7.0-javadoc.jar /usr/share/elki
-addons/tutorial/target/elki-tutorial-0.7.0-sources.jar /usr/share/elki
+elki/target/elki-*-javadoc.jar /usr/share/elki
+elki/target/elki-*-sources.jar /usr/share/elki
+addons/batikvis/target/elki-batik-visualization-*-javadoc.jar /usr/share/elki
+addons/batikvis/target/elki-batik-visualization-*-sources.jar /usr/share/elki
+addons/libsvm/target/elki-libsvm-*-javadoc.jar /usr/share/elki
+addons/libsvm/target/elki-libsvm-*-sources.jar /usr/share/elki
+addons/tutorial/target/elki-tutorial-*-javadoc.jar /usr/share/elki
+addons/tutorial/target/elki-tutorial-*-sources.jar /usr/share/elki
diff --git a/debian/elki-dev.links b/debian/elki-dev.links
index ce56b731..aa8f00e9 100644
--- a/debian/elki-dev.links
+++ b/debian/elki-dev.links
@@ -1,9 +1,9 @@
-/usr/share/java/elki-tutorial-0.7.0.jar /usr/share/elki/addons/elki-tutorial-0.7.0.jar
-/usr/share/elki/elki-0.7.0-javadoc.jar /usr/share/doc/elki-dev/elki-0.7.0-javadoc.jar
-/usr/share/elki/elki-0.7.0-sources.jar /usr/share/doc/elki-dev/elki-0.7.0-sources.jar
-/usr/share/elki/elki-batik-visualization-0.7.0-javadoc.jar /usr/share/doc/elki-dev/elki-batik-visualization-0.7.0-javadoc.jar
-/usr/share/elki/elki-batik-visualization-0.7.0-sources.jar /usr/share/doc/elki-dev/elki-batik-visualization-0.7.0-sources.jar
-/usr/share/elki/elki-tutorial-0.7.0-javadoc.jar /usr/share/doc/elki-dev/elki-tutorial-0.7.0-javadoc.jar
-/usr/share/elki/elki-tutorial-0.7.0-sources.jar /usr/share/doc/elki-dev/elki-tutorial-0.7.0-sources.jar
-/usr/share/elki/elki-libsvm-0.7.0-javadoc.jar /usr/share/doc/elki-dev/elki-libsvm-0.7.0-javadoc.jar
-/usr/share/elki/elki-libsvm-0.7.0-sources.jar /usr/share/doc/elki-dev/elki-libsvm-0.7.0-sources.jar
+/usr/share/java/elki-tutorial-0.7.1.jar /usr/share/elki/addons/elki-tutorial-0.7.1.jar
+/usr/share/elki/elki-0.7.1-javadoc.jar /usr/share/doc/elki-dev/elki-0.7.1-javadoc.jar
+/usr/share/elki/elki-0.7.1-sources.jar /usr/share/doc/elki-dev/elki-0.7.1-sources.jar
+/usr/share/elki/elki-batik-visualization-0.7.1-javadoc.jar /usr/share/doc/elki-dev/elki-batik-visualization-0.7.1-javadoc.jar
+/usr/share/elki/elki-batik-visualization-0.7.1-sources.jar /usr/share/doc/elki-dev/elki-batik-visualization-0.7.1-sources.jar
+/usr/share/elki/elki-tutorial-0.7.1-javadoc.jar /usr/share/doc/elki-dev/elki-tutorial-0.7.1-javadoc.jar
+/usr/share/elki/elki-tutorial-0.7.1-sources.jar /usr/share/doc/elki-dev/elki-tutorial-0.7.1-sources.jar
+/usr/share/elki/elki-libsvm-0.7.1-javadoc.jar /usr/share/doc/elki-dev/elki-libsvm-0.7.1-javadoc.jar
+/usr/share/elki/elki-libsvm-0.7.1-sources.jar /usr/share/doc/elki-dev/elki-libsvm-0.7.1-sources.jar
diff --git a/debian/elki-dev.lintian-overrides b/debian/elki-dev.lintian-overrides
index 2c25f0e0..a6aa9f70 100644
--- a/debian/elki-dev.lintian-overrides
+++ b/debian/elki-dev.lintian-overrides
@@ -1,8 +1,8 @@
-elki-dev: codeless-jar usr/share/elki/elki-0.7.0-sources.jar
-elki-dev: codeless-jar usr/share/elki/elki-batik-visualization-0.7.0-sources.jar
-elki-dev: codeless-jar usr/share/elki/elki-libsvm-0.7.0-sources.jar
-elki-dev: codeless-jar usr/share/elki/elki-tutorial-0.7.0-sources.jar
-elki-dev: codeless-jar usr/share/elki/elki-0.7.0-javadoc.jar
-elki-dev: codeless-jar usr/share/elki/elki-batik-visualization-0.7.0-javadoc.jar
-elki-dev: codeless-jar usr/share/elki/elki-libsvm-0.7.0-javadoc.jar
-elki-dev: codeless-jar usr/share/elki/elki-tutorial-0.7.0-javadoc.jar
+elki-dev: codeless-jar usr/share/elki/elki-*-sources.jar
+elki-dev: codeless-jar usr/share/elki/elki-batik-visualization-*-sources.jar
+elki-dev: codeless-jar usr/share/elki/elki-libsvm-*-sources.jar
+elki-dev: codeless-jar usr/share/elki/elki-tutorial-*-sources.jar
+elki-dev: codeless-jar usr/share/elki/elki-*-javadoc.jar
+elki-dev: codeless-jar usr/share/elki/elki-batik-visualization-*-javadoc.jar
+elki-dev: codeless-jar usr/share/elki/elki-libsvm-*-javadoc.jar
+elki-dev: codeless-jar usr/share/elki/elki-tutorial-*-javadoc.jar
diff --git a/debian/elki.links b/debian/elki.links
index 454c6be4..d1703e53 100644
--- a/debian/elki.links
+++ b/debian/elki.links
@@ -1,2 +1,2 @@
-/usr/share/java/elki-batik-visualization-0.7.0.jar /usr/share/elki/addons/elki-batik-visualization-0.7.0.jar
-/usr/share/java/elki-libsvm-0.7.0.jar /usr/share/elki/addons/elki-libsvm-0.7.0.jar
+/usr/share/java/elki-batik-visualization-0.7.1.jar /usr/share/elki/addons/elki-batik-visualization-0.7.1.jar
+/usr/share/java/elki-libsvm-0.7.1.jar /usr/share/elki/addons/elki-libsvm-0.7.1.jar
diff --git a/debian/elki.poms b/debian/elki.poms
index bc58059c..38391d51 100644
--- a/debian/elki.poms
+++ b/debian/elki.poms
@@ -26,11 +26,11 @@
# Empty by default. [mh_install]
#
pom.xml --ignore-pom
-elki/pom.xml --has-package-version --artifact=elki/target/elki-0.7.0.jar --java-lib
+elki/pom.xml --has-package-version --artifact=elki/target/elki-0.7.1.jar --java-lib
addons/3dpc/pom.xml --ignore
-addons/batikvis/pom.xml --has-package-version --artifact=addons/batikvis/target/elki-batik-visualization-0.7.0.jar --java-lib
+addons/batikvis/pom.xml --has-package-version --artifact=addons/batikvis/target/elki-batik-visualization-0.7.1.jar --java-lib
addons/bundle/pom.xml --ignore
addons/joglvis/pom.xml --ignore
-addons/libsvm/pom.xml --has-package-version --artifact=addons/libsvm/target/elki-libsvm-0.7.0.jar --java-lib
+addons/libsvm/pom.xml --has-package-version --artifact=addons/libsvm/target/elki-libsvm-0.7.1.jar --java-lib
addons/lucene/pom.xml --ignore
-addons/tutorial/pom.xml --has-package-version --package=elki-dev --artifact=addons/tutorial/target/elki-tutorial-0.7.0.jar --java-lib
+addons/tutorial/pom.xml --has-package-version --package=elki-dev --artifact=addons/tutorial/target/elki-tutorial-0.7.1.jar --java-lib
diff --git a/debian/patches/allow-empty-packages.patch b/debian/patches/allow-empty-packages.patch
deleted file mode 100644
index 63c0b635..00000000
--- a/debian/patches/allow-empty-packages.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From b2440d8b20318ba332250443193f8d46fa6ca523 Mon Sep 17 00:00:00 2001
-From: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Fri, 27 Nov 2015 15:10:31 +0100
-Subject: [PATCH] Robustness: allow default package for user extensions.
-
----
- .../de/lmu/ifi/dbs/elki/gui/util/ClassTree.java | 27 +++++++++++-----------
- 1 file changed, 14 insertions(+), 13 deletions(-)
-
-Index: elki-0.7.0/elki/src/main/java/de/lmu/ifi/dbs/elki/gui/util/ClassTree.java
-===================================================================
---- elki-0.7.0.orig/elki/src/main/java/de/lmu/ifi/dbs/elki/gui/util/ClassTree.java
-+++ elki-0.7.0/elki/src/main/java/de/lmu/ifi/dbs/elki/gui/util/ClassTree.java
-@@ -31,15 +31,15 @@ import javax.swing.tree.TreeNode;
-
- /**
- * Build a tree of available classes for use in Swing UIs.
-- *
-+ *
- * @author Erich Schubert
-- *
-+ *
- * @apiviz.has TreeNode
- */
- public class ClassTree {
- /**
- * Build the class tree for a given set of choices.
-- *
-+ *
- * @param choices Class choices
- * @param rootpkg Root package name (to strip / hide)
- * @return Root node.
-@@ -59,7 +59,8 @@ public class ClassTree {
- for(Class<?> impl : choices) {
- String name = impl.getName();
- name = (prefix != null && name.startsWith(prefix)) ? name.substring(prefix.length()) : name;
-- MutableTreeNode c = new ClassNode(impl.getName().substring(impl.getPackage().getName().length() + 1), name);
-+ int plen = (impl.getPackage() != null) ? impl.getPackage().getName().length() + 1 : 0;
-+ MutableTreeNode c = new ClassNode(impl.getName().substring(plen), name);
-
- MutableTreeNode p = null;
- int l = name.lastIndexOf('.');
-@@ -96,7 +97,7 @@ public class ClassTree {
-
- /**
- * Simplify the tree.
-- *
-+ *
- * @param cur Current node
- * @param prefix Prefix to add
- * @return Replacement node
-@@ -133,9 +134,9 @@ public class ClassTree {
-
- /**
- * Tree node representing a single class.
-- *
-+ *
- * @author Erich Schubert
-- *
-+ *
- * @apiviz.exclude
- */
- public static class PackageNode extends DefaultMutableTreeNode {
-@@ -151,7 +152,7 @@ public class ClassTree {
-
- /**
- * Current class name.
-- *
-+ *
- * @param display Displayed name
- * @param pkgname Actual class name
- */
-@@ -162,7 +163,7 @@ public class ClassTree {
-
- /**
- * Return the package name.
-- *
-+ *
- * @return Package name
- */
- public String getPackageName() {
-@@ -172,9 +173,9 @@ public class ClassTree {
-
- /**
- * Tree node representing a single class.
-- *
-+ *
- * @author Erich Schubert
-- *
-+ *
- * @apiviz.exclude
- */
- public static class ClassNode extends DefaultMutableTreeNode {
-@@ -190,7 +191,7 @@ public class ClassTree {
-
- /**
- * Current class name.
-- *
-+ *
- * @param display Displayed name
- * @param clsname Actual class name
- */
-@@ -201,7 +202,7 @@ public class ClassTree {
-
- /**
- * Return the class name.
-- *
-+ *
- * @return Class name
- */
- public String getClassName() {
diff --git a/debian/patches/better-classpath.patch b/debian/patches/better-classpath.patch
index 0c75d573..0337700f 100644
--- a/debian/patches/better-classpath.patch
+++ b/debian/patches/better-classpath.patch
@@ -1,8 +1,8 @@
-Index: elki-0.7.0/addons/batikvis/pom.xml
+Index: elki-0.7.1/addons/batikvis/pom.xml
===================================================================
---- elki-0.7.0.orig/addons/batikvis/pom.xml
-+++ elki-0.7.0/addons/batikvis/pom.xml
-@@ -38,8 +38,10 @@
+--- elki-0.7.1.orig/addons/batikvis/pom.xml
++++ elki-0.7.1/addons/batikvis/pom.xml
+@@ -37,8 +37,10 @@
<manifest>
<addClasspath>true</addClasspath>
<mainClass>de.lmu.ifi.dbs.elki.application.ELKILauncher</mainClass>
@@ -14,11 +14,11 @@ Index: elki-0.7.0/addons/batikvis/pom.xml
</archive>
</configuration>
</plugin>
-Index: elki-0.7.0/addons/tutorial/pom.xml
+Index: elki-0.7.1/addons/tutorial/pom.xml
===================================================================
---- elki-0.7.0.orig/addons/tutorial/pom.xml
-+++ elki-0.7.0/addons/tutorial/pom.xml
-@@ -38,7 +38,7 @@
+--- elki-0.7.1.orig/addons/tutorial/pom.xml
++++ elki-0.7.1/addons/tutorial/pom.xml
+@@ -37,7 +37,7 @@
<manifest>
<addClasspath>true</addClasspath>
<mainClass>de.lmu.ifi.dbs.elki.application.ELKILauncher</mainClass>
@@ -27,11 +27,11 @@ Index: elki-0.7.0/addons/tutorial/pom.xml
</manifest>
</archive>
</configuration>
-Index: elki-0.7.0/elki/pom.xml
+Index: elki-0.7.1/elki/pom.xml
===================================================================
---- elki-0.7.0.orig/elki/pom.xml
-+++ elki-0.7.0/elki/pom.xml
-@@ -60,8 +60,10 @@
+--- elki-0.7.1.orig/elki/pom.xml
++++ elki-0.7.1/elki/pom.xml
+@@ -59,8 +59,10 @@
<manifest>
<addClasspath>true</addClasspath>
<mainClass>de.lmu.ifi.dbs.elki.application.ELKILauncher</mainClass>
@@ -43,11 +43,11 @@ Index: elki-0.7.0/elki/pom.xml
</archive>
</configuration>
</plugin>
-Index: elki-0.7.0/addons/libsvm/pom.xml
+Index: elki-0.7.1/addons/libsvm/pom.xml
===================================================================
---- elki-0.7.0.orig/addons/libsvm/pom.xml
-+++ elki-0.7.0/addons/libsvm/pom.xml
-@@ -26,6 +26,32 @@
+--- elki-0.7.1.orig/addons/libsvm/pom.xml
++++ elki-0.7.1/addons/libsvm/pom.xml
+@@ -27,6 +27,32 @@
<elki.projdir>${basedir}/../..</elki.projdir>
</properties>
diff --git a/debian/patches/build.patch b/debian/patches/build.patch
index 87efedc4..ef527fe9 100644
--- a/debian/patches/build.patch
+++ b/debian/patches/build.patch
@@ -1,17 +1,9 @@
-Index: elki-0.7.0/pom.xml
+Index: elki-0.7.1/pom.xml
===================================================================
---- elki-0.7.0.orig/pom.xml
-+++ elki-0.7.0/pom.xml
-@@ -29,7 +29,6 @@
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-- <skipTests>true</skipTests>
- <elki.projdir>${basedir}</elki.projdir>
- <year>2015</year>
- </properties>
-@@ -241,20 +240,25 @@
- </modules>
+--- elki-0.7.1.orig/pom.xml
++++ elki-0.7.1/pom.xml
+@@ -304,20 +304,25 @@
+ </activation>
</profile>
<!-- Image search -->
+<!--
@@ -36,7 +28,7 @@ Index: elki-0.7.0/pom.xml
<profile>
<id>jogl</id>
<modules>
-@@ -263,6 +267,7 @@
+@@ -326,6 +331,7 @@
<module>addons/joglviz</module>
</modules>
</profile>
@@ -44,7 +36,7 @@ Index: elki-0.7.0/pom.xml
<!-- Profile for publishing to Sonatype Maven repository. -->
<profile>
<id>publish</id>
-@@ -316,37 +321,37 @@
+@@ -411,43 +417,43 @@
<dependency>
<groupId>net.sf.trove4j</groupId>
<artifactId>trove4j</artifactId>
@@ -75,6 +67,13 @@ Index: elki-0.7.0/pom.xml
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-codec</artifactId>
+- <version>[1.7,1.9)</version>
++ <version>1.9</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
- <version>[2,3)</version>
+ <version>2.0.1</version>
@@ -88,11 +87,11 @@ Index: elki-0.7.0/pom.xml
<scope>test</scope>
</dependency>
</dependencies>
-Index: elki-0.7.0/addons/libsvm/pom.xml
+Index: elki-0.7.1/addons/libsvm/pom.xml
===================================================================
---- elki-0.7.0.orig/addons/libsvm/pom.xml
-+++ elki-0.7.0/addons/libsvm/pom.xml
-@@ -36,6 +36,8 @@
+--- elki-0.7.1.orig/addons/libsvm/pom.xml
++++ elki-0.7.1/addons/libsvm/pom.xml
+@@ -37,6 +37,8 @@
<groupId>tw.edu.ntu.csie</groupId>
<artifactId>libsvm</artifactId>
<version>3.17</version>
diff --git a/debian/patches/enable-profiles-hack.patch b/debian/patches/enable-profiles-hack.patch
deleted file mode 100644
index 8f37c003..00000000
--- a/debian/patches/enable-profiles-hack.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Index: elki-0.7.0/pom.xml
-===================================================================
---- elki-0.7.0.orig/pom.xml
-+++ elki-0.7.0/pom.xml
-@@ -228,6 +228,9 @@
- <!-- Batik visualization -->
- <profile>
- <id>svg</id>
-+ <activation>
-+ <activeByDefault>true</activeByDefault>
-+ </activation>
- <modules>
- <module>addons/batikvis</module>
- </modules>
-@@ -235,6 +238,9 @@
- <!-- LibSVM outlier detection -->
- <profile>
- <id>svm</id>
-+ <activation>
-+ <activeByDefault>true</activeByDefault>
-+ </activation>
- <modules>
- <module>addons/libsvm</module>
- </modules>
diff --git a/debian/patches/javadoc-encoding.patch b/debian/patches/javadoc-encoding.patch
deleted file mode 100644
index fcb60b12..00000000
--- a/debian/patches/javadoc-encoding.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Index: elki-0.7.0/pom.xml
-===================================================================
---- elki-0.7.0.orig/pom.xml
-+++ elki-0.7.0/pom.xml
-@@ -1,3 +1,4 @@
-+<?xml version='1.0' encoding='UTF-8'?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-@@ -208,13 +209,16 @@
- </groups>
- <header><![CDATA[<img src="{@docRoot}/figures/elki-logo-200.png" width="200">]]></header>
- <footer><![CDATA[ELKI Version ${project.version}]]></footer>
-- <bottom><![CDATA[Copyright © ${year} <a href="http://elki.dbs.ifi.lmu.de/">ELKI Development Team</a>, <a href="http://www.dbs.ifi.lmu.de/">Lehr- und Forschungseinheit für Datenbanksysteme</a>, <a href="http://www.lmu.de/">Ludwig-Maximilians-Universität München</a>. <a href="http://elki.dbs.ifi.lmu.de/wiki/License">License information.</a>]]></bottom>
-+ <bottom><![CDATA[Copyright &copy; ${year} <a href="http://elki.dbs.ifi.lmu.de/">ELKI Development Team</a>, <a href="http://www.dbs.ifi.lmu.de/">Lehr- und Forschungseinheit f&uuml;r Datenbanksysteme</a>, <a href="http://www.lmu.de/">Ludwig-Maximilians-Universit&auml;t M&uuml;nchen</a>. <a href="http://elki.dbs.ifi.lmu.de/wiki/License">License information.</a>]]></bottom>
- <links>
- <!-- To link to related (external) JavaDoc -->
- <link>http://trove4j.sourceforge.net/javadocs/</link>
- <link>http://www.w3.org/2003/01/dom2-javadoc/</link>
- <link>https://xmlgraphics.apache.org/batik/javadoc/</link>
- </links>
-+ <charset>UTF-8</charset>
-+ <encoding>UTF-8</encoding>
-+ <docencoding>UTF-8</docencoding>
- </configuration>
- </plugin>
- </plugins>
-Index: elki-0.7.0/addons/batikvis/pom.xml
-===================================================================
---- elki-0.7.0.orig/addons/batikvis/pom.xml
-+++ elki-0.7.0/addons/batikvis/pom.xml
-@@ -1,3 +1,4 @@
-+<?xml version='1.0' encoding='UTF-8'?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-Index: elki-0.7.0/addons/libsvm/pom.xml
-===================================================================
---- elki-0.7.0.orig/addons/libsvm/pom.xml
-+++ elki-0.7.0/addons/libsvm/pom.xml
-@@ -1,3 +1,4 @@
-+<?xml version='1.0' encoding='UTF-8'?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-Index: elki-0.7.0/addons/tutorial/pom.xml
-===================================================================
---- elki-0.7.0.orig/addons/tutorial/pom.xml
-+++ elki-0.7.0/addons/tutorial/pom.xml
-@@ -1,3 +1,4 @@
-+<?xml version='1.0' encoding='UTF-8'?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-Index: elki-0.7.0/elki/pom.xml
-===================================================================
---- elki-0.7.0.orig/elki/pom.xml
-+++ elki-0.7.0/elki/pom.xml
-@@ -1,3 +1,4 @@
-+<?xml version='1.0' encoding='UTF-8'?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
diff --git a/debian/patches/powi-bugfix.patch b/debian/patches/powi-bugfix.patch
deleted file mode 100644
index 766a62d5..00000000
--- a/debian/patches/powi-bugfix.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-commit f558614879bb9def534bd2e041dc2de0fb4d1a88
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Tue Dec 1 11:16:36 2015 +0100
-
- Bug fix: MathUtil.powi was also broken. Ouch.
-
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java
-index deb3ed2..f112a96 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java
-@@ -1046,16 +1046,15 @@ public final class MathUtil {
- return Math.pow(x, p);
- }
- double tmp = x, ret = (p & 1) == 1 ? x : 1.;
-- p >>= 1;
- while(true) {
-+ tmp *= tmp;
-+ p >>= 1;
- if(p == 1) {
- return ret * tmp;
- }
- if((p & 1) != 0) {
- ret *= tmp;
- }
-- tmp *= tmp;
-- p >>= 1;
- }
- }
-
-diff --git a/elki/src/test/java/de/lmu/ifi/dbs/elki/math/TestMathUtil.java b/elki/src/test/java/de/lmu/ifi/dbs/elki/math/TestMathUtil.java
-index 9f180ef..e085537 100644
---- a/elki/src/test/java/de/lmu/ifi/dbs/elki/math/TestMathUtil.java
-+++ b/elki/src/test/java/de/lmu/ifi/dbs/elki/math/TestMathUtil.java
-@@ -34,7 +34,7 @@ import de.lmu.ifi.dbs.elki.JUnit4Test;
-
- /**
- * Unit test for some basic math functions.
-- *
-+ *
- * @author Erich Schubert
- */
- public class TestMathUtil implements JUnit4Test {
-@@ -48,7 +48,7 @@ public class TestMathUtil implements JUnit4Test {
- double[] weight2 = new double[size];
-
- Random r = new Random(seed);
-- for (int i = 0; i < size; i++) {
-+ for(int i = 0; i < size; i++) {
- data1[i] = r.nextDouble();
- data2[i] = r.nextDouble();
- weight1[i] = 1.0;
-@@ -88,7 +88,7 @@ public class TestMathUtil implements JUnit4Test {
- @Test
- public void testFloatToDouble() {
- Random r = new Random(1l);
-- for (int i = 0; i < 10000; i++) {
-+ for(int i = 0; i < 10000; i++) {
- final double dbl = Double.longBitsToDouble(r.nextLong());
- final float flt = (float) dbl;
- final double uppd = MathUtil.floatToDoubleUpper(flt);
-@@ -101,4 +101,12 @@ public class TestMathUtil implements JUnit4Test {
- assertTrue("Expected value to round to the same float.", flt == lowf || Double.isNaN(flt));
- }
- }
-+
-+ @Test
-+ public void testPowi() {
-+ assertEquals("Power incorrect", 0.01, MathUtil.powi(0.1, 2), 1e-13);
-+ assertEquals("Power incorrect", 0.001, MathUtil.powi(0.1, 3), 1e-13);
-+ assertEquals("Power incorrect", 0.0001, MathUtil.powi(0.1, 4), 1e-13);
-+ assertEquals("Power incorrect", 0.00001, MathUtil.powi(0.1, 5), 1e-13);
-+ }
- }
-
-commit 783a75300c96354aba1ac4bd953a56f02cac6442
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Tue Dec 1 19:31:07 2015 +0100
-
- Second part of the same powi bug fix.
-
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java
-index f112a96..2e8256d 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/MathUtil.java
-@@ -1071,16 +1071,15 @@ public final class MathUtil {
- return (int) Math.pow(x, p);
- }
- int tmp = x, ret = (p & 1) == 1 ? x : 1;
-- p >>= 1;
- while(true) {
-+ tmp *= tmp;
-+ p >>= 1;
- if(p == 1) {
- return ret * tmp;
- }
- if((p & 1) != 0) {
- ret *= tmp;
- }
-- tmp *= tmp;
-- p >>= 1;
- }
- }
-
-
-commit 274aae95147c01d2903c167572358fa18b8f4a52
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Tue Dec 1 11:29:56 2015 +0100
-
- Update unit test, which was affected by the powi bug.
-
-diff --git a/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/lof/TestVarianceOfVolume.java b/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/lof/TestVarianceOfVolume.java
-index 266e9f3..e66679d 100644
---- a/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/lof/TestVarianceOfVolume.java
-+++ b/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/lof/TestVarianceOfVolume.java
-@@ -54,7 +54,7 @@ public class TestVarianceOfVolume extends AbstractSimpleAlgorithmTest implements
- // run LOF on database
- OutlierResult result = lof.run(db);
-
-- testSingleScore(result, 1293, 848349.0186);
-- testAUC(db, "Noise", result, 0.936448179271);
-+ testSingleScore(result, 1293, 2.0733100852601836e13);
-+ testAUC(db, "Noise", result, 0.9306946778);
- }
- }
-\ No newline at end of file
diff --git a/debian/patches/randomsample-bugfix.patch b/debian/patches/randomsample-bugfix.patch
deleted file mode 100644
index 03bd2e32..00000000
--- a/debian/patches/randomsample-bugfix.patch
+++ /dev/null
@@ -1,539 +0,0 @@
-commit 465b2ec2c925cc3f49b59651f3b6c6bfabf2ac2c
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Tue Dec 1 10:30:05 2015 +0100
-
- BUG fix: randomSample did not work right (brown paper bag)
-
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/DBIDUtil.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/DBIDUtil.java
-index ae85fa1..fc054f2 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/DBIDUtil.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/DBIDUtil.java
-@@ -41,11 +41,11 @@ import de.lmu.ifi.dbs.elki.utilities.io.ByteBufferSerializer;
-
- /**
- * DBID Utility functions.
-- *
-+ *
- * @author Erich Schubert
-- *
-+ *
- * @apiviz.landmark
-- *
-+ *
- * @apiviz.has DBIDs
- * @apiviz.has DBIDRef
- * @apiviz.composedOf DBIDFactory
-@@ -65,7 +65,7 @@ public final class DBIDUtil {
-
- /**
- * Get the invalid special ID.
-- *
-+ *
- * @return invalid ID value
- */
- public static DBIDRef invalid() {
-@@ -74,9 +74,9 @@ public final class DBIDUtil {
-
- /**
- * Import and integer as DBID.
-- *
-+ *
- * Note: this may not be possible for some factories!
-- *
-+ *
- * @param id Integer ID to import
- * @return DBID
- */
-@@ -86,9 +86,9 @@ public final class DBIDUtil {
-
- /**
- * Export a DBID as int.
-- *
-+ *
- * Note: this may not be possible for some factories!
-- *
-+ *
- * @param id DBID to export
- * @return integer value
- */
-@@ -98,7 +98,7 @@ public final class DBIDUtil {
-
- /**
- * Compare two DBIDs.
-- *
-+ *
- * @param id1 First ID
- * @param id2 Second ID
- * @return Comparison result
-@@ -109,7 +109,7 @@ public final class DBIDUtil {
-
- /**
- * Test two DBIDs for equality.
-- *
-+ *
- * @param id1 First ID
- * @param id2 Second ID
- * @return Comparison result
-@@ -120,7 +120,7 @@ public final class DBIDUtil {
-
- /**
- * Dereference a DBID reference.
-- *
-+ *
- * @param ref DBID reference
- * @return DBID
- */
-@@ -133,7 +133,7 @@ public final class DBIDUtil {
-
- /**
- * Format a DBID as string.
-- *
-+ *
- * @param id DBID
- * @return String representation
- */
-@@ -143,7 +143,7 @@ public final class DBIDUtil {
-
- /**
- * Format a DBID as string.
-- *
-+ *
- * @param ids DBIDs
- * @return String representation
- */
-@@ -163,7 +163,7 @@ public final class DBIDUtil {
-
- /**
- * Get a serializer for DBIDs.
-- *
-+ *
- * @return DBID serializer
- */
- public static ByteBufferSerializer<DBID> getDBIDSerializer() {
-@@ -172,7 +172,7 @@ public final class DBIDUtil {
-
- /**
- * Get a serializer for DBIDs with static size.
-- *
-+ *
- * @return DBID serializer
- */
- public static ByteBufferSerializer<DBID> getDBIDSerializerStatic() {
-@@ -181,7 +181,7 @@ public final class DBIDUtil {
-
- /**
- * Generate a single DBID.
-- *
-+ *
- * @return A single DBID
- */
- public static DBID generateSingleDBID() {
-@@ -190,7 +190,7 @@ public final class DBIDUtil {
-
- /**
- * Return a single DBID for reuse.
-- *
-+ *
- * @param id DBID to deallocate
- */
- public static void deallocateSingleDBID(DBID id) {
-@@ -199,7 +199,7 @@ public final class DBIDUtil {
-
- /**
- * Generate a static DBID range.
-- *
-+ *
- * @param size Requested size
- * @return DBID range
- */
-@@ -209,7 +209,7 @@ public final class DBIDUtil {
-
- /**
- * Deallocate a static DBID range.
-- *
-+ *
- * @param range Range to deallocate
- */
- public static void deallocateDBIDRange(DBIDRange range) {
-@@ -218,7 +218,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new DBID variable.
-- *
-+ *
- * @param val Initial value.
- * @return Variable
- */
-@@ -228,7 +228,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new DBID variable.
-- *
-+ *
- * @return Variable
- */
- public static DBIDVar newVar() {
-@@ -237,7 +237,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new (modifiable) array of DBIDs.
-- *
-+ *
- * @return New array
- */
- public static ArrayModifiableDBIDs newArray() {
-@@ -246,7 +246,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new (modifiable) hash set of DBIDs.
-- *
-+ *
- * @return New hash set
- */
- public static HashSetModifiableDBIDs newHashSet() {
-@@ -255,7 +255,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new (modifiable) array of DBIDs.
-- *
-+ *
- * @param size Size hint
- * @return New array
- */
-@@ -265,7 +265,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new (modifiable) hash set of DBIDs.
-- *
-+ *
- * @param size Size hint
- * @return New hash set
- */
-@@ -275,7 +275,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new (modifiable) array of DBIDs.
-- *
-+ *
- * @param existing Existing DBIDs
- * @return New array
- */
-@@ -285,7 +285,7 @@ public final class DBIDUtil {
-
- /**
- * Make a new (modifiable) hash set of DBIDs.
-- *
-+ *
- * @param existing Existing DBIDs
- * @return New hash set
- */
-@@ -295,7 +295,7 @@ public final class DBIDUtil {
-
- /**
- * Compute the set intersection of two sets.
-- *
-+ *
- * @param first First set
- * @param second Second set
- * @return result.
-@@ -316,7 +316,7 @@ public final class DBIDUtil {
-
- /**
- * Compute the set intersection size of two sets.
-- *
-+ *
- * @param first First set
- * @param second Second set
- * @return size
-@@ -345,7 +345,7 @@ public final class DBIDUtil {
-
- /**
- * Compute the set intersection size of two sets.
-- *
-+ *
- * @param first First set
- * @param second Second set
- * @return size
-@@ -362,7 +362,7 @@ public final class DBIDUtil {
-
- /**
- * Compute the set symmetric intersection of two sets.
-- *
-+ *
- * @param first First set
- * @param second Second set
- * @param firstonly OUTPUT: elements only in first. MUST BE EMPTY
-@@ -393,7 +393,7 @@ public final class DBIDUtil {
-
- /**
- * Returns the union of the two specified collection of IDs.
-- *
-+ *
- * @param ids1 the first collection
- * @param ids2 the second collection
- * @return the union of ids1 and ids2 without duplicates
-@@ -407,7 +407,7 @@ public final class DBIDUtil {
-
- /**
- * Returns the difference of the two specified collection of IDs.
-- *
-+ *
- * @param ids1 the first collection
- * @param ids2 the second collection
- * @return the difference of ids1 minus ids2
-@@ -420,7 +420,7 @@ public final class DBIDUtil {
-
- /**
- * Wrap an existing DBIDs collection to be unmodifiable.
-- *
-+ *
- * @param existing Existing collection
- * @return Unmodifiable collection
- */
-@@ -442,7 +442,7 @@ public final class DBIDUtil {
-
- /**
- * Ensure that the given DBIDs are array-indexable.
-- *
-+ *
- * @param ids IDs
- * @return Array DBIDs.
- */
-@@ -457,7 +457,7 @@ public final class DBIDUtil {
-
- /**
- * Ensure that the given DBIDs support fast "contains" operations.
-- *
-+ *
- * @param ids IDs
- * @return Set DBIDs.
- */
-@@ -472,7 +472,7 @@ public final class DBIDUtil {
-
- /**
- * Ensure modifiable.
-- *
-+ *
- * @param ids IDs
- * @return Modifiable DBIDs.
- */
-@@ -493,10 +493,10 @@ public final class DBIDUtil {
-
- /**
- * Make a DBID pair.
-- *
-+ *
- * @param id1 first ID
- * @param id2 second ID
-- *
-+ *
- * @return DBID pair
- */
- public static DBIDPair newPair(DBIDRef id1, DBIDRef id2) {
-@@ -505,7 +505,7 @@ public final class DBIDUtil {
-
- /**
- * Make a DoubleDBIDPair.
-- *
-+ *
- * @param val double value
- * @param id ID
- * @return new pair
-@@ -516,9 +516,9 @@ public final class DBIDUtil {
-
- /**
- * Create an appropriate heap for the distance type.
-- *
-+ *
- * This will use a double heap if appropriate.
-- *
-+ *
- * @param k K value
- * @return New heap of size k, appropriate for this distance type.
- */
-@@ -528,7 +528,7 @@ public final class DBIDUtil {
-
- /**
- * Build a new heap from a given list.
-- *
-+ *
- * @param exist Existing result
- * @return New heap
- */
-@@ -538,7 +538,7 @@ public final class DBIDUtil {
-
- /**
- * Produce a random shuffling of the given DBID array.
-- *
-+ *
- * @param ids Original DBIDs
- * @param rnd Random generator
- */
-@@ -548,7 +548,7 @@ public final class DBIDUtil {
-
- /**
- * Produce a random shuffling of the given DBID array.
-- *
-+ *
- * @param ids Original DBIDs
- * @param random Random generator
- */
-@@ -558,22 +558,24 @@ public final class DBIDUtil {
-
- /**
- * Produce a random shuffling of the given DBID array.
-- *
-- * Only the first {@code limit} elements will be randomized.
-- *
-+ *
-+ * Only the first {@code limit} elements will be fully randomized, but the
-+ * remaining objects will also be changed.
-+ *
- * @param ids Original DBIDs
- * @param random Random generator
- * @param limit Shuffling limit.
- */
- public static void randomShuffle(ArrayModifiableDBIDs ids, Random random, final int limit) {
-+ final int end = ids.size();
- for(int i = 1; i < limit; i++) {
-- ids.swap(i - 1, i + random.nextInt(limit - i));
-+ ids.swap(i - 1, i + random.nextInt(end - i));
- }
- }
-
- /**
- * Produce a random sample of the given DBIDs.
-- *
-+ *
- * @param source Original DBIDs
- * @param k k Parameter
- * @param seed Random generator seed
-@@ -585,7 +587,7 @@ public final class DBIDUtil {
-
- /**
- * Produce a random sample of the given DBIDs.
-- *
-+ *
- * @param source Original DBIDs
- * @param k k Parameter
- * @param seed Random generator seed
-@@ -602,7 +604,7 @@ public final class DBIDUtil {
-
- /**
- * Produce a random sample of the given DBIDs.
-- *
-+ *
- * @param source Original DBIDs
- * @param k k Parameter
- * @param rnd Random generator
-@@ -614,7 +616,7 @@ public final class DBIDUtil {
-
- /**
- * Produce a random sample of the given DBIDs.
-- *
-+ *
- * @param source Original DBIDs
- * @param k k Parameter
- * @param random Random generator
-@@ -645,7 +647,7 @@ public final class DBIDUtil {
- ArrayModifiableDBIDs sample = DBIDUtil.newArray(source);
- randomShuffle(sample, random, k);
- // Delete trailing elements
-- for(int i = sample.size() - 1; i > k; i--) {
-+ for(int i = sample.size() - 1; i >= k; i--) {
- sample.remove(i);
- }
- return sample;
-@@ -654,7 +656,7 @@ public final class DBIDUtil {
-
- /**
- * Produce a random sample of the given DBIDs.
-- *
-+ *
- * @param ids Original ids
- * @param rate Sampling rate
- * @param random Random generator
-@@ -666,7 +668,7 @@ public final class DBIDUtil {
-
- /**
- * Produce a random sample of the given DBIDs.
-- *
-+ *
- * @param ids Original ids
- * @param rate Sampling rate
- * @param random Random generator
-@@ -711,7 +713,7 @@ public final class DBIDUtil {
-
- /**
- * Randomly split IDs into {@code p} partitions of almost-equal size.
-- *
-+ *
- * @param ids Original DBIDs
- * @param p Desired number of partitions.
- * @param rnd Random generator
-@@ -722,7 +724,7 @@ public final class DBIDUtil {
-
- /**
- * Randomly split IDs into {@code p} partitions of almost-equal size.
-- *
-+ *
- * @param oids Original DBIDs
- * @param p Desired number of partitions.
- * @param random Random generator
-@@ -752,7 +754,7 @@ public final class DBIDUtil {
-
- /**
- * Get a subset of the KNN result.
-- *
-+ *
- * @param list Existing list
- * @param k k
- * @return Subset
-@@ -769,7 +771,7 @@ public final class DBIDUtil {
-
- /**
- * Create a modifiable list to store distance-DBID pairs.
-- *
-+ *
- * @param size Estimated upper list size
- * @return Empty list
- */
-@@ -779,7 +781,7 @@ public final class DBIDUtil {
-
- /**
- * Create a modifiable list to store distance-DBID pairs.
-- *
-+ *
- * @return Empty list
- */
- public static ModifiableDoubleDBIDList newDistanceDBIDList() {
-@@ -788,7 +790,7 @@ public final class DBIDUtil {
-
- /**
- * Assert that the presented ids constitute a continuous {@link DBIDRange}.
-- *
-+ *
- * @param ids ID range.
- * @return DBID range.
- * @throws AbortException
-commit ebe72d8c1be19f9788fb90d51d5083169ce1b4de
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Wed Dec 2 15:15:21 2015 +0100
-
- Scores improved again, probably due to the latest fixes.
-
-diff --git a/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/distance/TestReferenceBasedOutlierDetection.java b/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/distance/TestReferenceBasedOutlierDetection.java
-index de0991d..bc5442c 100644
---- a/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/distance/TestReferenceBasedOutlierDetection.java
-+++ b/elki/src/test/java/de/lmu/ifi/dbs/elki/algorithm/outlier/distance/TestReferenceBasedOutlierDetection.java
-@@ -55,7 +55,7 @@ public class TestReferenceBasedOutlierDetection extends AbstractSimpleAlgorithmT
- // run ReferenceBasedOutlierDetection on database
- OutlierResult result = referenceBasedOutlierDetection.run(db);
-
-- testAUC(db, "Noise", result, 0.9418148148);
-- testSingleScore(result, 945, 0.87173403699);
-+ testAUC(db, "Noise", result, 0.9693703703703);
-+ testSingleScore(result, 945, 0.933574455);
- }
- }
-\ No newline at end of file
diff --git a/debian/patches/repeatable-documentation.patch b/debian/patches/repeatable-documentation.patch
deleted file mode 100644
index da33b86b..00000000
--- a/debian/patches/repeatable-documentation.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-commit d255e101e847ea051c718cd6dce613af0a0c5340
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Thu Jan 7 17:05:23 2016 +0100
-
- Sort classes, force UTF-8 encoding, clean up RandomParameter output.
-
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-index eea3dad..cdbad00 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-@@ -57,6 +57,7 @@ import de.lmu.ifi.dbs.elki.application.AbstractApplication;
- import de.lmu.ifi.dbs.elki.logging.Logging;
- import de.lmu.ifi.dbs.elki.logging.Logging.Level;
- import de.lmu.ifi.dbs.elki.logging.LoggingConfiguration;
-+import de.lmu.ifi.dbs.elki.math.random.RandomFactory;
- import de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil;
- import de.lmu.ifi.dbs.elki.utilities.ELKIServiceRegistry;
- import de.lmu.ifi.dbs.elki.utilities.ELKIServiceScanner;
-@@ -70,6 +71,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.UnParameter
- import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassListParameter;
- import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter;
- import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Parameter;
-+import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.RandomParameter;
- import de.lmu.ifi.dbs.elki.utilities.pairs.Pair;
- import de.lmu.ifi.dbs.elki.utilities.xml.HTMLUtil;
-
-@@ -182,7 +184,7 @@ public class DocumentParameters {
- throw new RuntimeException(e);
- }
- try {
-- PrintStream byclassstream = new PrintStream(new BufferedOutputStream(byclassfo));
-+ PrintStream byclassstream = new PrintStream(new BufferedOutputStream(byclassfo), false, "UTF-8");
- makeByClassOverviewWiki(byclass, new WikiStream(byclassstream));
- byclassstream.flush();
- byclassstream.close();
-@@ -245,7 +247,9 @@ public class DocumentParameters {
- private static void buildParameterIndex(Map<Class<?>, List<Parameter<?>>> byclass, Map<OptionID, List<Pair<Parameter<?>, Class<?>>>> byopt) {
- final ArrayList<TrackedParameter> options = new ArrayList<>();
- ExecutorService es = Executors.newSingleThreadExecutor();
-- for(final Class<?> cls : ELKIServiceRegistry.findAllImplementations(Object.class, false, true)) {
-+ List<Class<?>> objs = ELKIServiceRegistry.findAllImplementations(Object.class, false, true);
-+ Collections.sort(objs, new ELKIServiceScanner.ClassSorter());
-+ for(final Class<?> cls : objs) {
- // Doesn't have a proper name?
- if(cls.getCanonicalName() == null) {
- continue;
-@@ -1020,6 +1024,9 @@ public class DocumentParameters {
- if(par instanceof ClassParameter<?>) {
- appendDefaultClassLink(htmldoc, par, p);
- }
-+ else if(par instanceof RandomParameter && par.getDefaultValue() == RandomFactory.DEFAULT) {
-+ p.appendChild(htmldoc.createTextNode("use global random seed"));
-+ }
- else {
- Object def = par.getDefaultValue();
- p.appendChild(htmldoc.createTextNode(def.toString()));
-@@ -1047,6 +1054,9 @@ public class DocumentParameters {
- final Class<?> name = ((ClassParameter<?>) par).getDefaultValue();
- out.javadocLink(name, null);
- }
-+ else if(par instanceof RandomParameter && par.getDefaultValue() == RandomFactory.DEFAULT) {
-+ out.print("use global random seed");
-+ }
- else {
- Object def = par.getDefaultValue();
- out.print(def.toString());
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java
-index 7d448fc..3b9f029 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java
-@@ -105,7 +105,7 @@ public class DocumentReferences {
- try {
- File refwiki = new File(args[1]);
- FileOutputStream reffow = new FileOutputStream(refwiki);
-- PrintStream refstreamW = new PrintStream(reffow);
-+ PrintStream refstreamW = new PrintStream(reffow, false, "UTF-8");
- documentReferencesWiki(refs, refstreamW);
- refstreamW.flush();
- refstreamW.close();
-commit 03b1d86f6101ce74ac7318720cf5679b3a4ea4b2
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Fri Jan 8 16:17:43 2016 +0100
-
- Stricter sorting of references.
-
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java
-index 3b9f029..04b6a89 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentReferences.java
-@@ -330,7 +330,28 @@ public class DocumentReferences {
- @Override
- public int compare(Pair<Reference, TreeSet<Object>> p1, Pair<Reference, TreeSet<Object>> p2) {
- final Object o1 = p1.second.first(), o2 = p2.second.first();
-- return COMPARATOR.compare(o1, o2);
-+ int c = COMPARATOR.compare(o1, o2);
-+ if(c == 0) {
-+ Reference r1 = p1.first, r2 = p2.first;
-+ c = compareNull(r1.title(), r2.title());
-+ c = (c != 0) ? c : compareNull(r1.authors(), r2.authors());
-+ c = (c != 0) ? c : compareNull(r1.booktitle(), r2.booktitle());
-+ }
-+ return c;
-+ }
-+
-+ /**
-+ * Null-tolerant String comparison.
-+ *
-+ * @param s1 First string
-+ * @param s2 Second string
-+ * @return Order
-+ */
-+ private int compareNull(String s1, String s2) {
-+ return (s1 == s2) ? 0 //
-+ : (s1 == null) ? -1 //
-+ : (s2 == null) ? +1 //
-+ : s1.compareTo(s2);
- }
- });
- return refs;
-
-commit a24a37a0c6410a5373d1bd25811d62ff96f5cdc8
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Fri Jan 8 16:19:26 2016 +0100
-
- Stricter sorting of parameter occurrences.
-
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-index cdbad00..90a6ec9 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-@@ -724,9 +724,18 @@ public class DocumentParameters {
- Element maindl = htmldoc.createElement(HTMLUtil.HTML_DL_TAG);
- body.appendChild(maindl);
-
-- List<OptionID> opts = new ArrayList<>(byopt.keySet());
-- Collections.sort(opts, new SortByOption());
-+ final Comparator<OptionID> osort = new SortByOption();
-+ final Comparator<Class<?>> csort = new ELKIServiceScanner.ClassSorter();
-+ Comparator<Pair<Parameter<?>, Class<?>>> psort = new Comparator<Pair<Parameter<?>, Class<?>>>() {
-+ @Override
-+ public int compare(Pair<Parameter<?>, Class<?>> o1, Pair<Parameter<?>, Class<?>> o2) {
-+ int c = osort.compare(o1.first.getOptionID(), o2.first.getOptionID());
-+ return (c != 0) ? c : csort.compare(o1.second, o2.second);
-+ }
-+ };
-
-+ List<OptionID> opts = new ArrayList<>(byopt.keySet());
-+ Collections.sort(opts, osort);
- for(OptionID oid : opts) {
- final Parameter<?> firstopt = byopt.get(oid).get(0).getFirst();
- // DT = definition term
-@@ -791,7 +800,9 @@ public class DocumentParameters {
- optdd.appendChild(p);
- }
- optdd.appendChild(classesul);
-- for(Pair<Parameter<?>, Class<?>> clinst : byopt.get(oid)) {
-+ List<Pair<Parameter<?>, Class<?>>> plist = byopt.get(oid);
-+ Collections.sort(plist, psort);
-+ for(Pair<Parameter<?>, Class<?>> clinst : plist) {
- // DT definition term: option name, in TT for typewriter optics
- Element classli = htmldoc.createElement(HTMLUtil.HTML_LI_TAG);
-
-
-commit 83cb0dbda65e1e1f72d1cd9ba9c9cd66ea5fb3d0
-Author: Erich Schubert <schube@dbs.ifi.lmu.de>
-Date: Fri Jan 8 15:25:24 2016 +0100
-
- Fix getDefaultValueAsString() for ListParameter subclasses.
-
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-index 90a6ec9..4b9a5e0 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/application/internal/DocumentParameters.java
-@@ -1039,8 +1039,7 @@ public class DocumentParameters {
- p.appendChild(htmldoc.createTextNode("use global random seed"));
- }
- else {
-- Object def = par.getDefaultValue();
-- p.appendChild(htmldoc.createTextNode(def.toString()));
-+ p.appendChild(htmldoc.createTextNode(par.getDefaultValueAsString()));
- }
- optdd.appendChild(p);
- }
-@@ -1069,8 +1068,7 @@ public class DocumentParameters {
- out.print("use global random seed");
- }
- else {
-- Object def = par.getDefaultValue();
-- out.print(def.toString());
-+ out.print(par.getDefaultValueAsString());
- }
- out.println();
- }
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
-index d9d1a3a..f4f70a4 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/ClassListParameter.java
-@@ -96,6 +96,23 @@ public class ClassListParameter<C> extends ListParameter<ClassListParameter<C>,
- return buf.toString();
- }
-
-+ @Override
-+ public String getDefaultValueAsString() {
-+ StringBuilder buf = new StringBuilder();
-+ final String defPackage = restrictionClass.getPackage().getName() + ".";
-+ for(Class<? extends C> c : getDefaultValue()) {
-+ if(buf.length() > 0) {
-+ buf.append(LIST_SEP);
-+ }
-+ String name = c.getName();
-+ if(name.startsWith(defPackage)) {
-+ name = name.substring(defPackage.length());
-+ }
-+ buf.append(name);
-+ }
-+ return buf.toString();
-+ }
-+
- @SuppressWarnings("unchecked")
- @Override
- protected List<Class<? extends C>> parseValue(Object obj) throws ParameterException {
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java
-index 074bb0e..e8a59cb 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/DoubleListParameter.java
-@@ -60,6 +60,11 @@ public class DoubleListParameter extends ListParameter<DoubleListParameter, doub
- }
-
- @Override
-+ public String getDefaultValueAsString() {
-+ return FormatUtil.format(getDefaultValue(), LIST_SEP);
-+ }
-+
-+ @Override
- protected double[] parseValue(Object obj) throws ParameterException {
- if(obj instanceof double[]) {
- return double[].class.cast(obj);
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java
-index e5f1b02..02b397f 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/FileListParameter.java
-@@ -89,6 +89,20 @@ public class FileListParameter extends ListParameter<FileListParameter, List<Fil
- return buf.toString();
- }
-
-+ @Override
-+ public String getDefaultValueAsString() {
-+ StringBuilder buf = new StringBuilder();
-+ List<File> val = getDefaultValue();
-+ Iterator<File> veciter = val.iterator();
-+ while(veciter.hasNext()) {
-+ buf.append(veciter.next());
-+ if (veciter.hasNext()) {
-+ buf.append(LIST_SEP);
-+ }
-+ }
-+ return buf.toString();
-+ }
-+
- @SuppressWarnings("unchecked")
- @Override
- protected List<File> parseValue(Object obj) throws ParameterException {
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java
-index 756dbb9..0f2306e 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/IntListParameter.java
-@@ -70,6 +70,21 @@ public class IntListParameter extends ListParameter<IntListParameter, int[]> {
- }
-
- @Override
-+ public String getDefaultValueAsString() {
-+ int[] val = getDefaultValue();
-+ if(val.length == 0) {
-+ return "";
-+ }
-+ StringBuilder buf = new StringBuilder();
-+ buf.append(val[0]);
-+ for(int i = 1; i < val.length; i++) {
-+ buf.append(LIST_SEP);
-+ buf.append(val[i]);
-+ }
-+ return buf.toString();
-+ }
-+
-+ @Override
- protected int[] parseValue(Object obj) throws ParameterException {
- if(obj instanceof int[]) {
- return (int[]) obj;
-diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java
-index b6d999f..815611a 100644
---- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java
-+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameters/VectorListParameter.java
-@@ -122,6 +122,21 @@ public class VectorListParameter extends ListParameter<VectorListParameter, List
- return buf.toString();
- }
-
-+ @Override
-+ public String getDefaultValueAsString() {
-+ StringBuilder buf = new StringBuilder();
-+ List<Vector> val = getDefaultValue();
-+ Iterator<Vector> valiter = val.iterator();
-+ while(valiter.hasNext()) {
-+ buf.append(FormatUtil.format(valiter.next().getArrayRef(), LIST_SEP));
-+ // Append separation character
-+ if(valiter.hasNext()) {
-+ buf.append(VECTOR_SEP);
-+ }
-+ }
-+ return buf.toString();
-+ }
-+
- @SuppressWarnings("unchecked")
- @Override
- protected List<Vector> parseValue(Object obj) throws ParameterException {
diff --git a/debian/patches/series b/debian/patches/series
index 28a17e52..33fc6161 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,9 +1,2 @@
-allow-empty-packages.patch
build.patch
-enable-profiles-hack.patch
better-classpath.patch
-skip-cpu-dependent-test.patch
-javadoc-encoding.patch
-repeatable-documentation.patch
-powi-bugfix.patch
-randomsample-bugfix.patch
diff --git a/debian/patches/skip-cpu-dependent-test.patch b/debian/patches/skip-cpu-dependent-test.patch
deleted file mode 100644
index 5793bf12..00000000
--- a/debian/patches/skip-cpu-dependent-test.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: elki-0.7.0/pom.xml
-===================================================================
---- elki-0.7.0.orig/pom.xml
-+++ elki-0.7.0/pom.xml
-@@ -60,6 +60,9 @@
- <!-- to have the desired paths to the data files -->
- <workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
- <skipTests>${skipTests}</skipTests>
-+ <excludes>
-+ <exclude>**/TestHeapPerformance*</exclude>
-+ </excludes>
- </configuration>
- </plugin>
- <!-- Include more metadata in the jar -->