https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: dev-java/jackrabbit-webdav-2.10.1 fails tests. Discovered on: amd64 (internal ref: ci) NOTE: This machine uses GCC-11: https://gcc.gnu.org/gcc-11/porting_to.html If you think this is a GCC-11 related issue, please block bug 732706.
CC'ing also the author of the commit (58b9312bcdc16d5bf4696807bfa3036e95b5a475)
Created attachment 727260 [details] build.log build log and emerge --info
Possible context of error(s): [javac] /var/tmp/portage/dev-java/jackrabbit-webdav-2.10.1/work/jackrabbit-2.10.1/jackrabbit-webdav/src/test/java/org/apache/jackrabbit/webdav/io/OutputContextImplTest.java:34: error: <anonymous org.apache.jackrabbit.webdav.io.OutputContextImplTest$1> is not abstract and does not override abstract method getHeaderNames() in HttpServletResponse
The new version to be tested is 2.21.7, not the old one.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14aef16e0d785ec9f16650dd4f70969cda87863b commit 14aef16e0d785ec9f16650dd4f70969cda87863b Author: Yuan Liao <liaoyuan@gmail.com> AuthorDate: 2022-01-08 18:01:46 +0000 Commit: Miroslav Šulc <fordfrog@gentoo.org> CommitDate: 2022-01-09 09:05:04 +0000 dev-java/jackrabbit-webdav: Fix tests and use HTTPS HOMEPAGE for 2.10.1 The test failure bug being fixed by this commit is caused by servlet-api-4.0 being added to the classpath earlier than servlet-api-2.3 by java-ant-2.eclass. servlet-api-4.0 is present in the classpath because it is a transitive dependency of this package introduced by dev-java/bndlib, but it is incompatible with the test sources. The tests are supposed to be compiled with servlet-api-2.3, but javac will choose servlet-api-4.0 because it appears earlier in the classpath. java-ant-2.eclass constructs the classpath by traversing the dependency tree using depth-first search, so transitive dependencies like servlet-api-4.0 can appear earlier than direct dependencies like servlet-api-2.3. java-pkg-simple.eclass, on the other hand, uses breadth-first search, which ensures that all direct dependencies will be visited earlier than any transitive dependencies in the traversal. Therefore, simply switching to java-pkg-simple.eclass resolves this bug. However, by doing this, this ebuild now relies on the undocumented implementation detail of java-pkg-simple.eclass, that the dependency tree is traversed with BFS. If java-pkg-simple.eclass switches to DFS for classpath construction in the future, the same bug might resurface! Yet there are still benefits of using java-pkg-simple.eclass even if it were not done merely for the bug. The upstream uses Maven instead of Ant to build the project -- the build.xml used by java-ant-2.eclass is a Gentoo custom one. Switching to java-pkg-simple.eclass means that there is no more maintenance burden of this package caused by the custom build.xml. As of this commit, ebuilds for slot 2 of this package also use java-pkg-simple.eclass, so the eclass switch fosters consistency. Closes: https://bugs.gentoo.org/804594 Signed-off-by: Yuan Liao <liaoyuan@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/23705 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org> .../jackrabbit-webdav-2.10.1-r2.ebuild | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+)