#!/bin/bash EMERGE_OPT=$1 equery="equery -C -q" echo "Finding installed Java packages..." #for pattern in ${IGNORE_PACKAGES}; do # #done JAVA_PACKAGES=$( (${equery} depends virtual/jre; ${equery} depends virtual/jdk) | sort | uniq | grep -v -e mozilla- -e openoffice) FIXED_PACKAGES="" for package in ${JAVA_PACKAGES}; do fixed_package="=${package}" FIXED_PACKAGES="${FIXED_PACKAGES} ${fixed_package}" done echo "Determining which Java packages are in the world file..." WORLD=/var/lib/portage/world WORLD_PACKAGES="" for package in ${JAVA_PACKAGES}; do # Pull of the category category=${package%%/*} # Pull of the package name name=${package##*/} # Strip off the revision name=${name%%-r*} # Strip off the version 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}" fi done [[ -n ${DEBUG} ]] && echo "WORLD_PACKAGES: ${WORLD_PACKAGES}" >> java-remerger.debug echo "Removing Java packages..." emerge -C ${EMERGE_OPT} ${FIXED_PACKAGES} echo "Re-emerging Java packages that were in the world..." emerge ${EMERGE_OPT} ${WORLD_PACKAGES}