commit: e7bcf9b35099a85fed4fd6182b8949b02a7a15c7 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net> AuthorDate: Tue May 6 15:02:48 2025 +0000 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> CommitDate: Thu Jul 10 07:50:56 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7bcf9b3
java-utils-2.eclass: automatic dependency on java-dep-check When emerging a java package with JAVA_PKG_STRICT enabled, there are messages telling the user to install java-dep-check and javatoolkit for running further checks: "Install dev-java/java-dep-check for dependency checking" "Unable to perform class version checks as" "class-version-verify.py is unavailable" "Please install dev-java/javatoolkit." This commit adds both java-dep-check and javatoolkit to BDEPEND. To avoid circular dependencies with java-dep-check, it also adds a new eclass variable JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK to be put pre-inherit to dependencies of java-dep-check. Closes: https://bugs.gentoo.org/831341 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net> Part-of: https://github.com/gentoo/gentoo/pull/42182 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org> eclass/java-utils-2.eclass | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index e2af63819839..c11f1652fc5a 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-2.eclass @@ -1,4 +1,4 @@ -# Copyright 2004-2024 Gentoo Authors +# Copyright 2004-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: java-utils-2.eclass @@ -295,6 +295,13 @@ JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/com # ) # @CODE +# @ECLASS_VARIABLE: JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK +# @PRE_INHERIT +# @DEFAULT_UNSET +# @DESCRIPTION: +# Helper variable to be used in packages which would otherwise have circular +# dependencies with dev-java/java-dep-check once this is forced to BDEPEND. + # @FUNCTION: java-pkg_doexamples # @USAGE: [--subdir <subdir>] <file1/dir1> [<file2> ...] # @DESCRIPTION: @@ -2996,6 +3003,16 @@ is-java-strict() { return $? } +# Avoid having to emerge them separately every time +if is-java-strict; then + # Needed for java-pkg_verify-classes + BDEPEND="${BDEPEND} dev-java/javatoolkit" + if [[ -z "${JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK}" ]]; then + # Needed for java-utils-2_pkg_preinst + BDEPEND="${BDEPEND} dev-java/java-dep-check:0" || die + fi +fi + # @FUNCTION: java-pkg_clean # @DESCRIPTION: # Java package cleaner function. This will remove all *.class and *.jar
