Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 532ef64a34
Fetching contributors…

Cannot retrieve contributors at this time

97 lines (80 sloc) 2.378 kb
#!/bin/bash
cd ..
EBUILDS=$(find . -name \*.ebuild | grep -v _darcs | sed -e "s/\.\\///" | sort)
RST=projects/GHC-6.6-failures.rst
PORTAGE=/usr/portage
YELLOW="\033[33m"
RED="\033[31m"
NORMAL="\033[0m"
if [[ "$1" == "--help" ]]; then
echo usage: $0
echo [123] package
echo 1. X means the package is present in $RST, otherwise not present
echo 2. empty means the package is only present in the overlay
echo 2. B means the package is present both in the overlay and in $PORTAGE
echo 2. P means the package is only present in $PORTAGE, not in the ovelay
echo 3. D means the package in the overlay is different from the $PORTAGE version
exit 0
fi
# check packages that are in the overlay
for EBUILD in ${EBUILDS}; do
PKG=$(echo "${EBUILD}" | sed -e s/.ebuild// | cut -d '/' -f 1,3)
echo -n "["
grep --quiet "^${PKG}" "${RST}"
if [[ $? -eq 0 ]]; then
# present in the failure list
echo -n "X"
else
echo -n " "
fi
if [[ -f "${PORTAGE}/${EBUILD}" ]]; then
# exists both in the overlay and portage
echo -n "B"
#ignore comment lines
T1=$( mktemp )
T2=$( mktemp )
cat "${EBUILD}" > $T1
cat "${PORTAGE}/${EBUILD}" > $T2
sed -e "s/#.*//" -i "${T1}"
sed -e "s/#.*//" -i "${T2}"
diff -q "${T1}" "${T2}" > /dev/null
if [[ $? -eq 1 ]]; then
# file in overlay and portage differs
echo -n -e "${RED}D${NORMAL}"
else
echo -n " "
fi
rm -f $T1
rm -f $T2
else
echo -n " "
fi
echo "] ${PKG}"
done
# find packages in cvs that aren't in the overlay
NAMES=$( echo "${EBUILDS}" | cut -d '/' -f 1,2 | uniq | sort )
for NAME in ${NAMES}; do
if [[ ! -d "${PORTAGE}/${NAME}" ]]; then
# the packages does not exist in portage
continue
fi
# find packages in portage
for CVSNAME in $( find "${PORTAGE}/${NAME}" -name "*.ebuild" ); do
SHORT_CVSNAME=$( echo "$CVSNAME" | sed -e "s|${PORTAGE}/||" )
if [[ -f "${SHORT_CVSNAME}" ]]; then
# file alreay exist in overlay, which means we've already tested it
continue
fi
PKG=$( echo "${SHORT_CVSNAME}" | sed -e s/.ebuild// | cut -d '/' -f 1,3 )
echo -n "["
grep --quiet "^${PKG}" "${RST}"
if [[ $? -eq 0 ]]; then
# package present in failure list
echo -n "X"
else
echo -n " "
fi
echo "P ] ${PKG}"
done
done
# vim: tw=76 ts=2 :
Jump to Line
Something went wrong with that request. Please try again.