java-check-environment check for dependencies not installed

Petteri Räty <[email protected]>
Newsgroups gmane.linux.gentoo.java
Message-ID <[email protected]>
Example output:

 * Checking package_env ...
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for dev-java/ant-javamail-1.7.0
 * Please try emerge -uD1 =dev-java/ant-javamail-1.7.0
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for dev-java/avalon-logkit-2.1-r1
 * Please try emerge -uD1 =dev-java/avalon-logkit-2.1-r1
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for www-servers/axis-1.2_rc2-r1
 * Please try emerge -uD1 =www-servers/axis-1.2_rc2-r1
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for dev-java/bcmail-1.36
 * Please try emerge -uD1 =dev-java/bcmail-1.36
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for app-office/borg-1.5.2
 * Please try emerge -uD1 =app-office/borg-1.5.2
!!! ERROR: Dependency package commons-io-1 was not found!
 * Broken dependencies for dev-java/commons-fileupload-1.2
 * Please try emerge -uD1 =dev-java/commons-fileupload-1.2
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for dev-java/excalibur-logger-2.1
 * Please try emerge -uD1 =dev-java/excalibur-logger-2.1
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for dev-java/log4j-1.2.14-r1
 * Please try emerge -uD1 =dev-java/log4j-1.2.14-r1
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for www-servers/resin-3.1.0
 * Please try emerge -uD1 =www-servers/resin-3.1.0
!!! ERROR: Dependency package sun-javamail was not found!
 * Broken dependencies for dev-java/soap-2.3.1-r1
 * Please try emerge -uD1 =dev-java/soap-2.3.1-r1
!!! ERROR: Dependency package sun-javamail was not found!
!!! ERROR: Dependency package commons-io-1 was not found!
 * Broken dependencies for www-servers/tomcat-5.5.23-r4
 * Please try emerge -uD1 =www-servers/tomcat-5.5.23-r4

                                                         [ !! ]

 * Some problems were found. Please follow the instructions above, and
rerun java-check-environment

But I think in most cases there shouldn't be this much breakage. This
was just a test after emerge -C sun-javamail. Comments welcome as usual.

Regards,
Petteri
patch (text/plain, 1.3 KB)
Index: java-check-environment
===================================================================
--- java-check-environment	(revision 4745)
+++ java-check-environment	(working copy)
@@ -261,14 +261,39 @@
 
 check_package_env() {
 	local result=0
+	local pkg owner failed
 	for penv in /usr/share/*/package.env; do
 		if grep DEPEND ${penv} | grep , > /dev/null; then
-			pkg=$(qfile -qC ${penv})
-			qeerror "Syntax error in ${penv}:"
+			owner=$(qfile -qC ${penv})
+			qeerror "Syntax error in ${owner}:"
 			qeerror "\tDEPEND has commas in it"
-			qeerror "Please reinstall ${pkg}"
+			qeerror "Please reinstall ${owner}"
 			result=1
 		fi
+		if grep 'GENERATION="2"' ${penv} > /dev/null; then
+			failed=0
+			(
+				source $penv
+				for atom in ${DEPEND//:/ }; do
+					if [[ ${atom} = *@* ]]; then
+						pkg=$(echo $atom | cut -d @ -f 2)
+					else
+						pkg=${atom}
+					fi
+					if [[ ! -e /usr/share/${pkg}/package.env ]]; then
+						return 1
+					fi
+				done
+				return 0
+			) || failed=1
+			if [[ ${failed} = 1 ]]; then
+				java-config --with-dependencies -p $(basename $(dirname ${penv})) > /dev/null
+				owner=$(qfile -qvC ${penv})
+				qeerror "Broken dependencies for ${owner}"
+				qeerror "Please try emerge -uD1 =${owner}"
+				result=1
+			fi
+		fi
 	done
 	return ${result}
 }
signature.asc (application/pgp-signature, 252 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGUhYicxLzpIGCsLQRAjnYAJ9ppaG0glaiORW7clGHo2HpFGwV/gCfdFuY
TyZ7+C+9D8K9AoNzF57C2/Q=
=Lh7j
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.