#!/bin/bashEMERGE_OPT=$1equery="equery -C -q"echo "Finding installed Java packages..."#for pattern in ${IGNORE_PACKAGES}; do# #doneJAVA_PACKAGES=$( (${equery} depends virtual/jre; ${equery} depends virtual/jdk) | sort | uniq | grep -v -e mozilla- -e openoffice -e gecko-sdk)FIXED_PACKAGES=""for package in ${JAVA_PACKAGES}; do fixed_package="=${package}" FIXED_PACKAGES="${FIXED_PACKAGES} ${fixed_package}"doneecho "Determining which Java packages are in the world file..."WORLD=/var/lib/portage/worldWORLD_PACKAGES=""for package in ${JAVA_PACKAGES}; do echo "Adjusting '${package}'...." # Pull of the category category=${package%%/*} echo "Category: ${category}" # Pull of the package name name=${package##*/} # Strip off the version name=${name%%-[0123456789]*} # you'd think bash would know \d... echo "Name: ${name}" package="${category}/${name}" echo "Checking if ${package} is in world..." grep ${package} ${WORLD} if [[ $? == 0 ]]; then echo "Found ${package} in world file" WORLD_PACKAGES="${WORLD_PACKAGES} ${package}" fidone[[ -n ${DEBUG} ]] && echo "WORLD_PACKAGES: ${WORLD_PACKAGES}" >> java-remerger.debugecho "Removing Java packages..."emerge -C ${EMERGE_OPT} ${FIXED_PACKAGES}echo "Re-emerging Java packages that were in the world..."emerge ${EMERGE_OPT} ${WORLD_PACKAGES}echo "You might want to do a emerge --depclean and revdep-rebuild to make sure everything is sane."