diff options
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 8 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/elki-dev.install | 16 | ||||
-rw-r--r-- | debian/elki-dev.links | 18 | ||||
-rw-r--r-- | debian/elki-dev.lintian-overrides | 16 | ||||
-rw-r--r-- | debian/elki.links | 4 | ||||
-rw-r--r-- | debian/elki.poms | 8 | ||||
-rw-r--r-- | debian/patches/allow-empty-packages.patch | 111 | ||||
-rw-r--r-- | debian/patches/better-classpath.patch | 32 | ||||
-rw-r--r-- | debian/patches/build.patch | 37 | ||||
-rw-r--r-- | debian/patches/enable-profiles-hack.patch | 24 | ||||
-rw-r--r-- | debian/patches/javadoc-encoding.patch | 63 | ||||
-rw-r--r-- | debian/patches/powi-bugfix.patch | 125 | ||||
-rw-r--r-- | debian/patches/randomsample-bugfix.patch | 539 | ||||
-rw-r--r-- | debian/patches/repeatable-documentation.patch | 314 | ||||
-rw-r--r-- | debian/patches/series | 7 | ||||
-rw-r--r-- | debian/patches/skip-cpu-dependent-test.patch | 14 |
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 © ${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> - <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 --> |