Hi Antonin, Am Freitag, den 04.12.2020, 21:46 +0100 schrieb Antonin Delpeuch (lists): [...] > It is not clear to me to what extent a Debian packaging project lends > itself to fixed-term contracting, since maintaining the package will > require continued work as we release new versions. Perhaps the project > could include some mentoring of the upstream maintainers to assist with > the packaging if possible? Or some provision to maintain the package for > a few years, assuming most of the work lies in the initial packaging? I had to do a quick analysis for OpenRefine to give you a proper answer. In short OpenRefine is a complex project with many dependencies. It is most likely suitable for Debian main and some work to package it for Debian is required. I have attached the list of dependencies found with mvn dependency:resolve and mvn dependency:list. The initial work will be significant but the reoccurring maintenance is equally important. It will be easier when the OpenRefine specific dependencies are only updated when OpenRefine moves to a newer version. If the project depends on a new dependency, then it must be packaged for Debian as well. Bug reports must be handled, for instance when we move to OpenJDK 17 and a build-dependency starts to fail to build from source, then something like that needs to be addressed even if it is not under the control of the OpenRefine project. Should OpenRefine move to another build system like Gradle then this would also require additional work or when the project decided to rewrite Java code in Kotlin. OpenRefine build-depends on Apache Jena and Butterfly and several other artifacts which haven't been packaged for Debian yet. com.github.albfernandez:juniversalchardet:jar:2.4.0:compile com.github.andrewoma.dexx:collection:jar:0.7:compile com.google.errorprone:error_prone_annotations:jar:2.3.4:compile com.google.guava:failureaccess:jar:1.0.1:compile com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with- guava:compile com.google.j2objc:j2objc-annotations:jar:1.3:compile com.metaweb:lessen:jar:1.0:compile com.wcohen:com.wcohen.secondstring:jar:0.1:compile de.fau.cs.osr.ptk:ptk-common:jar:3.0.8:compile de.fau.cs.osr.utils:utils:jar:3.0.8:compile edu.mit.simile:tracer:jar:1.0:compile net.rootdev:java-rdfa:jar:0.4.2:compile org.mozilla:rhino-runtime:jar:1.7.13:compile (not sure if rhino.jar in Debian is the same) org.sweble.wikitext:swc-parser-lazy:jar:3.1.9:compile org.odftoolkit:odfdom-java:jar:0.9.0- org.openrefine.dependencies:arithcode:jar:1.2:compile org.openrefine.dependencies:butterfly:jar:1.0.4:compile org.openrefine.dependencies:opencsv-multichar:jar:2.4:compile org.openrefine.dependencies:vicino:jar:1.2:compile The server module depends on Jetty 6 which has been removed from Debian. This quite ancient version is only available in Debian 8 "Jessie" at the moment. It is not supported anymore. Here the project needs to depend on a newer, supported Jetty version or at least depending on the current Jetty 9 version shouldn't cause any problems. The webapp depends on several Javascript files. I believe most of them are available in Debian but in in any case I recommend to ship the non-minified versions too because otherwise this is a reason for rejecting the package. It makes sense to split the whole work into different smaller pieces. I would package the main module first and all required build-dependencies and after that try to tackle the server and extensions modules but I don't know if that is really feasible. I suppose the extensions are important but optional but the server probably is not. I am open to discuss more details offlist and I can prepare a quote or an estimate. If you or other OpenRefine project members help with packaging, mentoring would also be possible. You can also just learn Debian packaging the normal way, for example by reading the documentation linked on https://mentors.debian.net/intro-maintainers/ and asking questions on debian- mentors or debian-java. Best, Markus Dependency list ================ Compile ========= com.fasterxml.jackson.core:jackson-annotations:jar:2.11.3:compile -- module com.fasterxml.jackson.annotation com.fasterxml.jackson.core:jackson-core:jar:2.11.3:compile -- module com.fasterxml.jackson.core com.fasterxml.jackson.core:jackson-databind:jar:2.11.3:compile -- module com.fasterxml.jackson.databind com.github.albfernandez:juniversalchardet:jar:2.4.0:compile -- module com.github.albfernandez.juniversalchardet [auto] com.github.andrewoma.dexx:collection:jar:0.7:compile -- module collection (auto) com.github.jsonld-java:jsonld-java:jar:0.12.1:compile -- module jsonld.java (auto) com.github.virtuald:curvesapi:jar:1.06:compile -- module curvesapi (auto) com.google.code.findbugs:jsr305:jar:3.0.2:compile -- module jsr305 (auto) com.google.errorprone:error_prone_annotations:jar:2.3.4:compile -- module com.google.errorprone.annotations [auto] com.google.guava:failureaccess:jar:1.0.1:compile -- module failureaccess (auto) com.google.guava:guava:jar:30.0-jre:compile -- module com.google.common [auto] com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with- guava:compile -- module listenablefuture (auto) com.google.j2objc:j2objc-annotations:jar:1.3:compile -- module j2objc.annotations (auto) com.metaweb:lessen:jar:1.0:compile -- module lessen (auto) commons-beanutils:commons-beanutils:jar:1.9.4:compile -- module commons.beanutils (auto) commons-cli:commons-cli:jar:1.4:compile -- module commons.cli (auto) commons-codec:commons-codec:jar:1.13:compile -- module org.apache.commons.codec [auto] commons-collections:commons-collections:jar:3.2.2:compile -- module commons.collections (auto) commons-compress:commons-compress:jar:20050911:compile -- module commons.compress (auto) commons-digester:commons-digester:jar:2.1:compile -- module commons.digester (auto) commons-fileupload:commons-fileupload:jar:1.4:compile -- module commons.fileupload (auto) commons-io:commons-io:jar:2.8.0:compile -- module org.apache.commons.io [auto] commons-lang:commons-lang:jar:2.5:compile -- module commons.lang (auto) commons-logging:commons-logging:jar:1.2:compile -- module commons.logging (auto) commons-validator:commons-validator:jar:1.7:compile -- module commons.validator (auto) com.wcohen:com.wcohen.secondstring:jar:0.1:compile -- module com.wcohen.secondstring (auto) com.zaxxer:SparseBitSet:jar:1.2:compile -- module SparseBitSet (auto) de.fau.cs.osr.ptk:ptk-common:jar:3.0.8:compile -- module ptk.common (auto) de.fau.cs.osr.utils:utils:jar:3.0.8:compile -- module utils (auto) edu.mit.simile:tracer:jar:1.0:compile -- module tracer (auto) javax.activation:javax.activation-api:jar:1.2.0:compile -- module java.activation [auto] javax.xml.bind:jaxb-api:jar:2.3.1:compile -- module java.xml.bind joda-time:joda-time:jar:2.10.8:compile -- module org.joda.time [auto] log4j:log4j:jar:1.2.16:compile -- module log4j (auto) net.rootdev:java-rdfa:jar:0.4.2:compile -- module java.rdfa (auto) oauth.signpost:signpost-commonshttp4:jar:2.1.1:compile -- module signpost.commonshttp4 (auto) oauth.signpost:signpost-core:jar:2.1.1:compile -- module signpost.core (auto) org.apache.commons:commons-collections4:jar:4.4:compile -- module org.apache.commons.collections4 [auto] org.apache.commons:commons-compress:jar:1.20:compile -- module org.apache.commons.compress [auto] org.apache.commons:commons-csv:jar:1.5:compile -- module commons.csv (auto) org.apache.commons:commons-lang3:jar:3.11:compile -- module org.apache.commons.lang3 [auto] org.apache.commons:commons-math3:jar:3.6.1:compile -- module commons.math3 (auto) org.apache.commons:commons-text:jar:1.9:compile -- module org.apache.commons.text [auto] org.apache.httpcomponents:httpclient-cache:jar:4.5.5:compile -- module httpclient.cache (auto) org.apache.httpcomponents:httpclient:jar:4.5.13:compile -- module org.apache.httpcomponents.httpclient [auto] org.apache.httpcomponents:httpcore:jar:4.4.14:compile -- module org.apache.httpcomponents.httpcore [auto] org.apache.jena:jena-arq:jar:3.9.0:compile -- module org.apache.jena.arq [auto] org.apache.jena:jena-base:jar:3.9.0:compile -- module org.apache.jena.base [auto] org.apache.jena:jena-cmds:jar:3.9.0:compile -- module org.apache.jena.cmds [auto] org.apache.jena:jena-core:jar:3.9.0:compile -- module org.apache.jena.core [auto] org.apache.jena:jena-dboe-base:jar:3.9.0:compile -- module org.apache.jena.dboe [auto] org.apache.jena:jena-dboe-index:jar:3.9.0:compile -- module org.apache.jena.dboe [auto] org.apache.jena:jena-dboe-transaction:jar:3.9.0:compile -- module org.apache.jena.dboe [auto] org.apache.jena:jena-dboe-trans-data:jar:3.9.0:compile -- module org.apache.jena.dboe [auto] org.apache.jena:jena-iri:jar:3.9.0:compile -- module org.apache.jena.iri [auto] org.apache.jena:jena-rdfconnection:jar:3.9.0:compile -- module org.apache.jena.rdfconnection [auto] org.apache.jena:jena-shaded-guava:jar:3.9.0:compile -- module org.apache.jena.ext.com.google [auto] org.apache.jena:jena-tdb2:jar:3.9.0:compile -- module org.apache.jena.tdb2 [auto] org.apache.jena:jena-tdb:jar:3.9.0:compile -- module org.apache.jena.tdb [auto] org.apache.poi:poi:jar:4.1.2:compile -- module poi (auto) org.apache.poi:poi-ooxml:jar:4.1.2:compile -- module poi.ooxml (auto) org.apache.poi:poi-ooxml-schemas:jar:4.1.2:compile -- module poi.ooxml.schemas (auto) org.apache.thrift:libthrift:jar:0.10.0:compile -- module libthrift (auto) org.apache.velocity:velocity:jar:1.6.3:compile -- module velocity (auto) org.apache.xmlbeans:xmlbeans:jar:3.1.0:compile -- module xmlbeans (auto) org.checkerframework:checker-qual:jar:3.5.0:compile -- module org.checkerframework.checker.qual [auto] org.clojure:clojure:jar:1.10.1:compile -- module clojure (auto) org.clojure:core.specs.alpha:jar:0.2.44:compile -- module core.specs.alpha (auto) org.clojure:spec.alpha:jar:0.2.176:compile -- module spec.alpha (auto) org.jsoup:jsoup:jar:1.13.1:compile -- module org.jsoup [auto] org.marc4j:marc4j:jar:2.9.1:compile -- module marc4j (auto) org.slf4j:jcl-over-slf4j:jar:1.7.25:compile -- module jcl.over.slf4j (auto) org.slf4j:slf4j-api:jar:1.7.30:compile -- module org.slf4j [auto] org.slf4j:slf4j-log4j12:jar:1.7.30:compile -- module slf4j.log4j12 (auto) org.mozilla:rhino-runtime:jar:1.7.13:compile -- module rhino.runtime (auto) org.sweble.wikitext:swc-parser-lazy:jar:3.1.9:compile -- module swc.parser.lazy (auto) oro:oro:jar:2.0.8:compile -- module oro (auto) rhino:js:jar:1.7R2:compile -- module js (auto) velocity:velocity:jar:1.5:compile -- module velocity (auto) xerces:xercesImpl:jar:2.12.0:compile -- module xercesImpl (auto) xml-apis:xml-apis:jar:1.4.01:compile -- module xml.apis (auto) xtc:rats-runtime:jar:1.15.0:compile -- module rats.runtime (auto) org.odftoolkit:odfdom-java:jar:0.9.0-RC1:compile -- module odfdom.java (auto) org.openrefine.dependencies:arithcode:jar:1.2:compile -- module arithcode (auto) org.openrefine.dependencies:butterfly:jar:1.0.4:compile -- module butterfly (auto) org.openrefine.dependencies:opencsv-multichar:jar:2.4:compile -- module opencsv.multichar (auto) org.openrefine.dependencies:vicino:jar:1.2:compile -- module vicino (auto) Test ======== aopalliance:aopalliance:jar:1.0:test -- module aopalliance (auto) com.beust:jcommander:jar:1.78:test -- module jcommander (auto) com.google.inject:guice:jar:no_aop:4.2.2:test -- module com.google.guice [auto] com.squareup.okhttp3:mockwebserver:jar:4.9.0:test -- module okhttp3.mockwebserver [auto] com.squareup.okhttp3:okhttp:jar:4.9.0:test -- module okhttp3 [auto] com.squareup.okio:okio:jar:2.8.0:test -- module okio (auto) javax.inject:javax.inject:jar:1:test -- module javax.inject (auto) junit:junit:jar:4.12:test -- module junit (auto) net.bytebuddy:byte-buddy-agent:jar:1.10.14:test -- module net.bytebuddy.agent net.bytebuddy:byte-buddy:jar:1.10.14:test -- module net.bytebuddy org.apache.ant:ant:jar:1.10.3:test -- module ant (auto) org.apache.ant:ant-launcher:jar:1.10.3:test -- module ant.launcher (auto) org.apache.httpcomponents:httpmime:jar:4.5.13:test -- module org.apache.httpcomponents.httpmime [auto] org.hamcrest:hamcrest-core:jar:1.3:test -- module hamcrest.core (auto) org.javassist:javassist:jar:3.27.0-GA:test -- module javassist (auto) org.jetbrains:annotations:jar:13.0:test -- module annotations (auto) org.jetbrains.kotlin:kotlin-stdlib-common:jar:1.4.0:test -- module kotlin.stdlib.common (auto) org.jetbrains.kotlin:kotlin-stdlib:jar:1.4.10:test -- module kotlin.stdlib org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:1.4.10:test -- module kotlin.stdlib.jdk7 org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:1.4.10:test -- module kotlin.stdlib.jdk8 org.mockito:mockito-core:jar:3.3.3:test -- module org.mockito [auto] org.objenesis:objenesis:jar:2.6:test -- module objenesis (auto) org.powermock:powermock-api-mockito2:jar:2.0.9:test -- module powermock.api.mockito2 (auto) org.powermock:powermock-api-support:jar:2.0.9:test -- module powermock.api.support (auto) org.powermock:powermock-core:jar:2.0.9:test -- module powermock.core (auto) org.powermock:powermock-module-testng-common:jar:2.0.9:test -- module powermock.module.testng.common (auto) org.powermock:powermock-module-testng:jar:2.0.9:test -- module powermock.module.testng (auto) org.powermock:powermock-reflect:jar:2.0.9:test -- module powermock.reflect (auto) org.testng:testng:jar:7.3.0:test -- module org.testng [auto] org.yaml:snakeyaml:jar:1.21:test -- module snakeyaml (auto) javax.servlet:servlet-api:jar:2.5:provided -- module servlet.api (auto) org.apache.jena:apache-jena-libs:pom:3.9.0
Attachment:
signature.asc
Description: This is a digitally signed message part