Re: guava-libraries 18?
* Emmanuel Bourg:
> If the changes affect many reverse dependencies that's probably a good
> idea, but if it breaks only two packages I don't think we should
> duplicate the package.
>
>> I for one feel like manually checking 20+ packages would be a waste of
>> time.
> If you want I can check the first half and you the other half.
For me, it's not so much about the number of packages.
1. Testing whether a rebuild against the newer version still works is
clearly not sufficient: code can be loaded at run-time, for instance.
2. I wouldn't know what to check beyond that simple rebuild.
3. We (Debian) already know how to deal with ABI breakage in shared
libraries produced from (mostly) C and C++ code: Change the SONAME
(upstream's job) and adjust the name of the resulting library package
accordingly.
In the short run, this increases the number of packages in the
distribution, but different versions of a given library can co-exist.
This generally saves work because checking a potentially large number of
reverse dependencies is not needed right away and needs to be done only
when the old version is removed.
Why can't we do the same for Java libraries where upstream authors in
general seem much less willing to watch out for API/ABI compatibility?
>From working on elasticsearch, I have at least seen three packages where
API/ABI compatibility had been broken: icu4j, spatial4j, guava. I fixed
the first two by providing the new version under a different name.
4. I don't really care about most of the packages that may or may not
break with the changed API/ABI in guava-18.
JFTR: Here are the interesting binary packages as listed by apt-cache
rdepends:
checkstyle
eclipse-mylyn
epubcheck
igv
jajuk
jython
libandroidsdk-common-java
libandroidsdk-sdklib-java
libbiojava3.0-java
libcarrotsearch-hppc-java
libcarrotsearch-randomizedtesting-java
libclosure-compiler-java
libgradle-core-java
libguava-java-doc
libguice-java
libjenkins-java
libjsilver-java
libmaven-stapler-plugin-java
libmustache-java
libowasp-java-html-sanitizer-java
libplexus-containers1.5-java
libplexus-containers-java
libsisu-guice-java
libsisu-plexus-java
libsolr-java
libstapler-java
libuima-addons-java
maven
osmosis-plugin-borderextract
Cheers,
-Hilko
Reply to: