Path: csiph.com!news.dns-netz.com!news.freedyn.net!aioe.org!bofh.it!news.nic.it!robomod From: Markus Koschany Newsgroups: linux.debian.maint.java Subject: Re: List of consultants focusing on Debian packaging for Java? Date: Sat, 05 Dec 2020 23:10:03 +0100 Message-ID: References: X-Original-To: debian-java@lists.debian.org X-Mailbox-Line: From debian-java-request@lists.debian.org Sat Dec 5 22:04:20 2020 Old-Return-Path: X-Amavis-Spam-Status: No, score=-10.363 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DIGITS_LETTERS=1, LDO_WHITELIST=-5, PGPSIGNATURE=-5, SARE_MSGID_LONG40=0.637] autolearn=ham autolearn_force=no X-Policyd-Weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 CL_IP_EQ_HELO_MX=-3.1 (check from: .debian. - helo: .hesinde.koschany. - helo-domain: .koschany.) FROM/MX_MATCHES_NOT_HELO(DOMAIN)=0; rate: -4.6 Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-7aUbyANa2dQROh4NDACD" MIME-Version: 1.0 Authentication-Results: ORIGINATING; auth=pass smtp.auth=apo@gambaru.de smtp.mailfrom=apo@debian.org X-Mailing-List: archive/latest/22583 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/121016a6b77be1f1d013033d9b9cb2cdf14e2afe.camel@debian.org Approved: robomod@news.nic.it Lines: 363 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Sat, 05 Dec 2020 23:04:02 +0100 X-Original-Message-ID: <121016a6b77be1f1d013033d9b9cb2cdf14e2afe.camel@debian.org> X-Original-References: <354d15b9-1b12-317a-93ab-c825b7bdb4b0@antonin.delpeuch.eu> <18592dac9edda0ed5228d30df3a6c1d77c35c971.camel@debian.org> Xref: csiph.com linux.debian.maint.java:11961 --=-7aUbyANa2dQROh4NDACD Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 li= kely 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 an= d mvn dependency:list.=20 The initial work will be significant but the reoccurring maintenance is equ= ally 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 mu= st 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.=20 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=20 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=20 com.wcohen:com.wcohen.secondstring:jar:0.1:compile=20 de.fau.cs.osr.ptk:ptk-common:jar:3.0.8:compile=20 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 Debi= an 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. Th= is 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 versio= n shouldn't cause any problems.=20 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 wou= ld 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 th= at is really feasible. I suppose the extensions are important but optional but= the server probably is not.=20 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=20 https://mentors.debian.net/intro-maintainers/ and asking questions on debia= n- mentors or debian-java. Best, Markus Dependency list =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Compile =3D=3D=3D=3D=3D=3D=3D=3D=3D com.fasterxml.jackson.core:jackson-annotations:jar:2.11.3:compile -- mo= dule 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 -- modul= e 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 collecti= on (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:compi= le -- module jsr305 (auto) com.google.errorprone:error_prone_annotations:jar:2.3.4:compile -- modu= le com.google.errorprone.annotations [auto] com.google.guava:failureaccess:jar:1.0.1:compile -- module failureacces= s (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-wi= th- 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 -- modul= e 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 -- modu= le org.apache.commons.io [auto] commons-lang:commons-lang:jar:2.5:compile -- module commons.lang (auto) commons-logging:commons-logging:jar:1.2:compil= e -- 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 -- modul= e 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:compi= le -- 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 (aut= o) 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.math= 3 (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.cor= e [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:com= pile -- 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.tdb= 2 [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 (au= to) 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:compil= e -- 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.alph= a (auto) org.clojure:spec.alpha:jar:0.2.176:compile -- module spec.alpha (a= uto) 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 (aut= o) 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 (aut= o) 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 (a= uto) 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 =3D=3D=3D=3D=3D=3D=3D=3D 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.ag= ent 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 -- modul= e org.mockito [auto] org.objenesis:objenesis:jar:2.6:test -- module objenesi= s (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:t= est -- module powermock.reflect (auto) org.testng:testng:jar:7.3.0:test -- mod= ule org.testng [auto] org.yaml:snakeyaml:jar:1.21:test -- module snakeyaml (au= to) javax.servlet:servlet-api:jar:2.5:provided -- module servlet.api (auto) org.apache.jena:apache-jena-libs:pom:3.9.0 --=-7aUbyANa2dQROh4NDACD Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQKTBAABCgB9FiEErPPQiO8y7e9qGoNf2a0UuVE7UeQFAl/MA9JfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEFD RjNEMDg4RUYzMkVERUY2QTFBODM1RkQ5QUQxNEI5NTEzQjUxRTQACgkQ2a0UuVE7 UeT9GA/9F42fMgklMz7dD4HakkOxpnXRbOodMB0JmT8SUm6DSxJPRzNQCSnr6ZUX Jmwd/xdXLSy6/GTJLkjaDGabESZkEB0sTrvrL/2yIE08S0K5T6MqusMZgffWNMPW bTr3eT2Jn679vGrmlP3qjBzatxocrw+Vn2BCyy20kgQJyfeij9sgh+eQCxqQXwPq dKOdah53tbfxgg3fMFi7pQPC0YiqKluq03wzF6KCTrgliZdkZeXOAeKfZu0iBNPd qqzjPU8H+yrOmV7hAmdL1X3OTeFNgLgFFCy7xa3dZjIg8WSa4HR228ic3+wsXdXx BVQtPa5zklstUXCallAWQCf3446COYs3690TKuGVbBamIjP8xggAn6qkJZOA8fMI qdeGSXWxiK/tW/tgPDarBfI+3acYGxdjjw3LMZLEwgP6IcvJNGBzcvUoTfDaMVx+ 2LcZ95uCkkfFcYuZcvdi4PX9UwGr68vRa4Mi6tK7ekxbg0GQpYPGixVRuAB8mxLc DzQt6MvHtV4x0T34Sy4amEPSJ3RiLQXYAyvDnCbZWuGmPfzrkFgevtM3F8675+Fm 00nEaUsoUbtD7l2kZoOxVtX3YJN7M1gYQG0PlPy9C+IBg/qQRXHxDIylrIk7nkZf MgPoeN+cYt+bEoV532UG+i8KuhyTk0ixaTaYm1vQIiDaeIdP9L0= =G4BT -----END PGP SIGNATURE----- --=-7aUbyANa2dQROh4NDACD--