[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Solr version



Hi tony,

[adding only Waldemar to CC because we are subscribed to the list anyway]

> Can you post a list of what others can help with?

I have made my list a few months ago and just looked into it again.

1.

First of all as of version 9.0 solr will use gradle as the new build
system. This has been announced only a month ago. Previously it was
ant/ivy which I thought was fine. One of my main concerns is right now,
are we are able to keep solr up-to-date in Debian when there is so much
struggle to even package the latest gradle version?

I assume we could try to continue using the old ant build-system which
was rather straightforward and is a better fit for Debian in general.
This may work for a couple of years but the maintenance costs will
increase over time and at some point it is just too time consuming. Here
I would like to know what others think about the long-term perspective
of gradle in Debian and whether we should use gradle or ant for
packaging solr.

2.

Maintaining solr means to package and maintain a lot of different
dependencies. Many of them have been packaged already but there are new
packages which cannot be ignored. Personally I also want to have a
completely functional test suite because there are regular CVE reports
for solr and when we do updates in stable there should be a working test
suite to detect any regressions. I am adding the list of external
dependencies at the end of this email but from my point of view we need
to package at least

hadoop-common-3.2.0.jar
hadoop-annotations-3.2.0.jar
hadoop-hdfs-client-3.2.0.jar
hadoop-auth-3.2.0.jar
org.restlet.ext.servlet-2.4.3.jar
eigenbase-properties-1.1.5.jar
kerby-pkix-1.0.1.jar
commons-compiler-3.0.9.jar
rrd4j-3.5.jar
kerb-core-1.0.1.jar
avatica-core-1.13.0.jar
calcite-linq4j-1.18.0.jar

and this is just a summary of core libraries. If I count all jar files
in solr's source distribution (after running ant compile) I get

	244 different jar files

including external and internal ones.

We probably don't need to package every contrib functionality but still
there is some work to do...

3.

I have been wondering for a while if it is feasible at all for normal
contributors to maintain such packages, packages like netbeans, solr,
eclipse with hundreds of different jar components.

The best what we have ever achieved for netbeans was a basic build, an
editor that just supported the Java language. Still we had to support
dozens of different dependencies and changes in dependencies often
caused build failures or run time errors.

I'm not sure if "the Debian way" works and scales for certain software
projects. Even the most dedicated contributor has to sleep once in a
while and keeping hundreds of Debian packages in shape just to have a
Debian compliant version of netbeans or solr is a thankless task.

Since I don't envisage a resurgence of dedicated Java contributors in
the next months (remember the time when there were contributors from sun
for netbeans ? ), I suggest the following

Why don't we just create more or less official (even though not really
perfect) Debian packages for netbeans, eclipse, solr, hadoop, etc. by
using tools like jdeb [1] for ant and maven projects or
gradle-ospackage-plugin for gradle [2].

All the necessary scripts and code could be uploaded to contrib and then
at least we have an alternative to either no package at all or an
upstream version that doesn't provide an easy way to install/deinstall
and keep track of software in distributions.

We can do it the Debian way for solr but only if we have more people who
like to maintain a lot of different packages in Debian for the
foreseeable future or we acknowledge the status quo is not good enough
and try to find better alternatives. I'm really interested to hear more
opinions about maintaining such complex and difficult projects and how
it is possible to maintain them long-term.

Cheers,

Markus

[1] https://tracker.debian.org/pkg/jdeb
[2] https://github.com/nebula-plugins/gradle-ospackage-plugin


All jar files in solr:

./solrj/lib/jcl-over-slf4j-1.7.24.jar
./solrj/lib/http2-client-9.4.27.v20200227.jar
./solrj/lib/http2-common-9.4.27.v20200227.jar
./solrj/lib/netty-transport-4.1.47.Final.jar
./solrj/lib/http2-http-client-transport-9.4.27.v20200227.jar
./solrj/lib/netty-transport-native-epoll-4.1.47.Final.jar
./solrj/lib/jetty-client-9.4.27.v20200227.jar
./solrj/lib/jetty-http-9.4.27.v20200227.jar
./solrj/lib/jetty-io-9.4.27.v20200227.jar
./solrj/lib/netty-resolver-4.1.47.Final.jar
./solrj/lib/commons-math3-3.6.1.jar
./solrj/lib/jetty-alpn-client-9.4.27.v20200227.jar
./solrj/lib/netty-common-4.1.47.Final.jar
./solrj/lib/stax2-api-3.1.4.jar
./solrj/lib/jetty-util-9.4.27.v20200227.jar
./solrj/lib/netty-handler-4.1.47.Final.jar
./solrj/lib/netty-codec-4.1.47.Final.jar
./solrj/lib/commons-io-2.6.jar
./solrj/lib/httpmime-4.5.10.jar
./solrj/lib/netty-transport-native-unix-common-4.1.47.Final.jar
./solrj/lib/slf4j-api-1.7.24.jar
./solrj/lib/zookeeper-jute-3.5.7.jar
./solrj/lib/jetty-alpn-java-client-9.4.27.v20200227.jar
./solrj/lib/netty-buffer-4.1.47.Final.jar
./solrj/lib/httpcore-4.4.12.jar
./solrj/lib/zookeeper-3.5.7.jar
./solrj/lib/http2-hpack-9.4.27.v20200227.jar
./solrj/lib/httpclient-4.5.10.jar
./solrj/lib/woodstox-core-asl-4.4.1.jar
./solrj/test-lib/byte-buddy-1.9.3.jar
./solrj/test-lib/objenesis-2.6.jar
./solrj/test-lib/mockito-core-2.23.4.jar
./solrj/test-lib/log4j-slf4j-impl-2.13.2.jar
./contrib/langid/lib/langdetect-1.1-20120112.jar
./contrib/langid/lib/jsonic-1.2.7.jar
./contrib/langid/lib/opennlp-tools-1.9.1.jar
./contrib/analysis-extras/lib/morfologik-ukrainian-search-4.9.1.jar
./contrib/analysis-extras/lib/morfologik-polish-2.1.5.jar
./contrib/analysis-extras/lib/morfologik-fsa-2.1.5.jar
./contrib/analysis-extras/lib/opennlp-tools-1.9.1.jar
./contrib/analysis-extras/lib/morfologik-stemming-2.1.5.jar
./contrib/analysis-extras/lib/icu4j-62.1.jar
./contrib/dataimporthandler/test-lib/byte-buddy-1.9.3.jar
./contrib/dataimporthandler/test-lib/objenesis-2.6.jar
./contrib/dataimporthandler/test-lib/hsqldb-2.4.0.jar
./contrib/dataimporthandler/test-lib/mockito-core-2.23.4.jar
./contrib/dataimporthandler/test-lib/derby-10.9.1.0.jar
./contrib/dataimporthandler-extras/lib/gimap-1.5.1.jar
./contrib/dataimporthandler-extras/lib/javax.mail-1.5.1.jar
./contrib/dataimporthandler-extras/lib/activation-1.1.1.jar
./contrib/prometheus-exporter/lib/log4j-core-2.13.2.jar
./contrib/prometheus-exporter/lib/simpleclient_httpserver-0.2.0.jar
./contrib/prometheus-exporter/lib/jackson-core-2.10.1.jar
./contrib/prometheus-exporter/lib/log4j-api-2.13.2.jar
./contrib/prometheus-exporter/lib/simpleclient_common-0.2.0.jar
./contrib/prometheus-exporter/lib/jackson-databind-2.10.1.jar
./contrib/prometheus-exporter/lib/simpleclient-0.2.0.jar
./contrib/prometheus-exporter/lib/jackson-jq-0.0.8.jar
./contrib/prometheus-exporter/lib/slf4j-api-1.7.24.jar
./contrib/prometheus-exporter/lib/jackson-annotations-2.10.1.jar
./contrib/prometheus-exporter/lib/log4j-slf4j-impl-2.13.2.jar
./contrib/prometheus-exporter/lib/argparse4j-0.8.1.jar
./contrib/ltr/test-lib/jcl-over-slf4j-1.7.24.jar
./contrib/ltr/test-lib/byte-buddy-1.9.3.jar
./contrib/ltr/test-lib/objenesis-2.6.jar
./contrib/ltr/test-lib/mockito-core-2.23.4.jar
./contrib/clustering/lib/carrot2-guava-18.0.jar
./contrib/clustering/lib/jackson-databind-2.10.1.jar
./contrib/clustering/lib/carrot2-mini-3.16.0.jar
./contrib/clustering/lib/attributes-binder-1.3.3.jar
./contrib/clustering/lib/simple-xml-safe-2.7.1.jar
./contrib/clustering/lib/jackson-annotations-2.10.1.jar
./contrib/jaegertracer-configurator/lib/jaeger-thrift-1.1.0.jar
./contrib/jaegertracer-configurator/lib/jaeger-core-1.1.0.jar
./contrib/jaegertracer-configurator/lib/libthrift-0.13.0.jar
./contrib/extraction/lib/pdfbox-tools-2.0.17.jar
./contrib/extraction/lib/apache-mime4j-core-0.8.3.jar
./contrib/extraction/lib/tika-java7-1.24.jar
./contrib/extraction/lib/aspectjrt-1.8.0.jar
./contrib/extraction/lib/vorbis-java-tika-0.8.jar
./contrib/extraction/lib/bcprov-jdk15on-1.64.jar
./contrib/extraction/lib/isoparser-1.1.22.jar
./contrib/extraction/lib/poi-ooxml-4.1.1.jar
./contrib/extraction/lib/boilerpipe-1.1.0.jar
./contrib/extraction/lib/jmatio-1.5.jar
./contrib/extraction/lib/fontbox-2.0.17.jar
./contrib/extraction/lib/dec-0.1.2.jar
./contrib/extraction/lib/jempbox-1.8.16.jar
./contrib/extraction/lib/xmpcore-5.1.3.jar
./contrib/extraction/lib/poi-scratchpad-4.1.1.jar
./contrib/extraction/lib/commons-compress-1.19.jar
./contrib/extraction/lib/bcmail-jdk15on-1.64.jar
./contrib/extraction/lib/metadata-extractor-2.11.0.jar
./contrib/extraction/lib/pdfbox-2.0.17.jar
./contrib/extraction/lib/xercesImpl-2.12.0.jar
./contrib/extraction/lib/jdom2-2.0.6.jar
./contrib/extraction/lib/tika-xmp-1.24.jar
./contrib/extraction/lib/jackcess-3.0.1.jar
./contrib/extraction/lib/apache-mime4j-dom-0.8.3.jar
./contrib/extraction/lib/commons-collections4-4.2.jar
./contrib/extraction/lib/parso-2.0.11.jar
./contrib/extraction/lib/xmlbeans-3.1.0.jar
./contrib/extraction/lib/bcpkix-jdk15on-1.64.jar
./contrib/extraction/lib/rome-utils-1.12.2.jar
./contrib/extraction/lib/poi-ooxml-schemas-4.1.1.jar
./contrib/extraction/lib/curvesapi-1.06.jar
./contrib/extraction/lib/poi-4.1.1.jar
./contrib/extraction/lib/tagsoup-1.2.1.jar
./contrib/extraction/lib/tika-parsers-1.24.jar
./contrib/extraction/lib/icu4j-62.1.jar
./contrib/extraction/lib/xml-apis-1.4.01.jar
./contrib/extraction/lib/xz-1.8.jar
./contrib/extraction/lib/jackcess-encrypt-3.0.0.jar
./contrib/extraction/lib/tika-core-1.24.jar
./contrib/extraction/lib/juniversalchardet-1.0.3.jar
./contrib/extraction/lib/java-libpst-0.8.1.jar
./contrib/extraction/lib/commons-csv-1.7.jar
./contrib/extraction/lib/rome-1.12.2.jar
./contrib/extraction/lib/vorbis-java-core-0.8.jar
./contrib/velocity/lib/velocity-tools-view-3.0.jar
./contrib/velocity/lib/velocity-tools-view-jsp-3.0.jar
./contrib/velocity/lib/commons-lang3-3.9.jar
./contrib/velocity/lib/velocity-tools-generic-3.0.jar
./contrib/velocity/lib/velocity-engine-core-2.0.jar
./example/example-DIH/solr/db/lib/hsqldb-2.4.0.jar
./example/example-DIH/solr/db/lib/derby-10.9.1.0.jar
./server/start.jar
./server/lib/jetty-continuation-9.4.27.v20200227.jar
./server/lib/metrics-jvm-4.1.5.jar
./server/lib/jetty-servlet-9.4.27.v20200227.jar
./server/lib/http2-common-9.4.27.v20200227.jar
./server/lib/jetty-security-9.4.27.v20200227.jar
./server/lib/jetty-servlets-9.4.27.v20200227.jar
./server/lib/metrics-jmx-4.1.5.jar
./server/lib/metrics-core-4.1.5.jar
./server/lib/jetty-http-9.4.27.v20200227.jar
./server/lib/jetty-webapp-9.4.27.v20200227.jar
./server/lib/jetty-io-9.4.27.v20200227.jar
./server/lib/metrics-graphite-4.1.5.jar
./server/lib/metrics-jetty9-4.1.5.jar
./server/lib/jetty-util-9.4.27.v20200227.jar
./server/lib/http2-server-9.4.27.v20200227.jar
./server/lib/jetty-alpn-java-server-9.4.27.v20200227.jar
./server/lib/jetty-alpn-server-9.4.27.v20200227.jar
./server/lib/jetty-deploy-9.4.27.v20200227.jar
./server/lib/jetty-server-9.4.27.v20200227.jar
./server/lib/jetty-jmx-9.4.27.v20200227.jar
./server/lib/ext/log4j-core-2.13.2.jar
./server/lib/ext/jcl-over-slf4j-1.7.24.jar
./server/lib/ext/log4j-web-2.13.2.jar
./server/lib/ext/log4j-1.2-api-2.13.2.jar
./server/lib/ext/log4j-api-2.13.2.jar
./server/lib/ext/disruptor-3.4.2.jar
./server/lib/ext/jul-to-slf4j-1.7.24.jar
./server/lib/ext/slf4j-api-1.7.24.jar
./server/lib/ext/log4j-slf4j-impl-2.13.2.jar
./server/lib/http2-hpack-9.4.27.v20200227.jar
./server/lib/jetty-rewrite-9.4.27.v20200227.jar
./server/lib/javax.servlet-api-3.1.0.jar
./server/lib/jetty-xml-9.4.27.v20200227.jar
./core/lib/log4j-core-2.13.2.jar
./core/lib/protobuf-java-3.11.0.jar
./core/lib/opentracing-noop-0.33.0.jar
./core/lib/jcl-over-slf4j-1.7.24.jar
./core/lib/jackson-core-2.10.1.jar
./core/lib/log4j-1.2-api-2.13.2.jar
./core/lib/hadoop-auth-3.2.0.jar
./core/lib/kerb-core-1.0.1.jar
./core/lib/log4j-api-2.13.2.jar
./core/lib/antlr4-runtime-4.5.1-1.jar
./core/lib/commons-collections-3.2.2.jar
./core/lib/jackson-databind-2.10.1.jar
./core/lib/disruptor-3.4.2.jar
./core/lib/curator-client-2.13.0.jar
./core/lib/rrd4j-3.5.jar
./core/lib/commons-codec-1.13.jar
./core/lib/calcite-core-1.18.0.jar
./core/lib/kerb-util-1.0.1.jar
./core/lib/guava-25.1-jre.jar
./core/lib/org.restlet-2.4.3.jar
./core/lib/t-digest-3.1.jar
./core/lib/janino-3.0.9.jar
./core/lib/commons-lang3-3.9.jar
./core/lib/json-path-2.4.0.jar
./core/lib/commons-math3-3.6.1.jar
./core/lib/s2-geometry-library-java-1.0.0.jar
./core/lib/opentracing-api-0.33.0.jar
./core/lib/kerby-asn1-1.0.1.jar
./core/lib/commons-configuration2-2.1.1.jar
./core/lib/re2j-1.2.jar
./core/lib/commons-text-1.6.jar
./core/lib/jose4j-0.6.5.jar
./core/lib/hadoop-hdfs-client-3.2.0.jar
./core/lib/calcite-linq4j-1.18.0.jar
./core/lib/avatica-core-1.13.0.jar
./core/lib/commons-io-2.6.jar
./core/lib/commons-cli-1.4.jar
./core/lib/asm-7.2.jar
./core/lib/opentracing-util-0.33.0.jar
./core/lib/java-semver-0.9.0.jar
./core/lib/hppc-0.8.1.jar
./core/lib/commons-compiler-3.0.9.jar
./core/lib/kerby-pkix-1.0.1.jar
./core/lib/commons-exec-1.3.jar
./core/lib/htrace-core4-4.1.0-incubating.jar
./core/lib/hadoop-annotations-3.2.0.jar
./core/lib/spatial4j-0.7.jar
./core/lib/curator-recipes-2.13.0.jar
./core/lib/eigenbase-properties-1.1.5.jar
./core/lib/jackson-annotations-2.10.1.jar
./core/lib/asm-commons-7.2.jar
./core/lib/log4j-slf4j-impl-2.13.2.jar
./core/lib/org.restlet.ext.servlet-2.4.3.jar
./core/lib/caffeine-2.8.4.jar
./core/lib/curator-framework-2.13.0.jar
./core/lib/hadoop-common-3.2.0.jar
./core/lib/jackson-dataformat-smile-2.10.1.jar
./core/test-lib/kerb-crypto-1.0.1.jar
./core/test-lib/kerb-simplekdc-1.0.1.jar
./core/test-lib/hadoop-minikdc-3.2.0.jar
./core/test-lib/kerb-identity-1.0.1.jar
./core/test-lib/jersey-server-1.19.jar
./core/test-lib/commons-logging-1.1.3.jar
./core/test-lib/antlr4-runtime-4.5.1-1.jar
./core/test-lib/kerby-util-1.0.1.jar
./core/test-lib/byte-buddy-1.9.3.jar
./core/test-lib/commons-compress-1.19.jar
./core/test-lib/kerby-kdc-1.0.1.jar
./core/test-lib/kerb-common-1.0.1.jar
./core/test-lib/objenesis-2.6.jar
./core/test-lib/commons-text-1.6.jar
./core/test-lib/kerb-admin-1.0.1.jar
./core/test-lib/kerb-client-1.0.1.jar
./core/test-lib/hadoop-hdfs-3.2.0.jar
./core/test-lib/opentracing-mock-0.33.0.jar
./core/test-lib/kerby-config-1.0.1.jar
./core/test-lib/netty-all-4.1.47.Final.jar
./core/test-lib/hadoop-common-3.2.0-tests.jar
./core/test-lib/jersey-servlet-1.19.jar
./core/test-lib/mockito-core-2.23.4.jar
./core/test-lib/jersey-core-1.19.jar
./core/test-lib/kerb-server-1.0.1.jar
./core/test-lib/hadoop-minicluster-3.2.0.jar
./core/test-lib/hadoop-hdfs-3.2.0-tests.jar


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: