#!/bin/bash SUFFIX=".$(date +%Y%m%d)" BROKEN_MODULAR_DIR="`pwd`" BROKEN_MODULAR_SCRIPT="`pwd`/find_broken_modular_package.sh" BROKEN_MODULAR="${BROKEN_MODULAR_DIR}/broken_modular.txt${SUFFIX}" BROKEN_MODULAR_MAINTAINERS="${BROKEN_MODULAR_DIR}/broken_modular_maintainers.txt${SUFFIX}" PORTDIR=$(/usr/bin/portageq envvar PORTDIR) get_broken_packages() { local PORTDIR=$1 local BROKEN_MODULAR_SCRIPT=$2 local BROKEN_MODULAR=$3 local i touch ${BROKEN_MODULAR} pushd ${PORTDIR} &> /dev/null for i in *; do if [[ -d $i ]] \ && [[ $i != CVS ]] \ && [[ $i != distfiles ]] \ && [[ $i != eclass ]] \ && [[ $i != licenses ]] \ && [[ $i != metadata ]] \ && [[ $i != packages ]] \ && [[ $i != profiles ]] \ && [[ $i != scripts ]]; then echo "Running on $i ..." ${BROKEN_MODULAR_SCRIPT} $i \ >> ${BROKEN_MODULAR} fi done popd &> /dev/null } find_maintainers() { local BROKEN_MODULAR=$1 local BROKEN_MODULAR_MAINTAINERS=$2 local HERDS MAINTAINERS i touch ${BROKEN_MODULAR_MAINTAINERS} echo "Finding maintainer info ..." for i in $(awk '{print $2}' <${BROKEN_MODULAR} ); do HERDS=$(/usr/bin/herdstat -n -m $i \ | grep Herds \ | cut -d: -f2 \ | sed -e "s:^ *::g") MAINTAINERS=$(/usr/bin/herdstat -n -m $i \ | grep -e Maintainers -e @gentoo.org \ | cut -d: -f2 \ | sed -e "s:^ *::g" -e "s:@.*::g") echo $i $HERDS $MAINTAINERS \ >> ${BROKEN_MODULAR_MAINTAINERS} done } get_broken_packages ${PORTDIR} ${BROKEN_MODULAR_SCRIPT} ${BROKEN_MODULAR} find_maintainers ${BROKEN_MODULAR} ${BROKEN_MODULAR_MAINTAINERS}