#!/bin/bash # ------------------------------------------------------------------------- # # By Brandon Hale Many thanks to Donnie Berkholz for his # bash skills. print_longdesc() based on pdsst by Rach. # Requres dos2unix. # # ------------------------------------------------------------------------- source /etc/init.d/functions.sh if [ -z "$1" ]; then ewarn "Usage: `basename $0` " exit fi CVSDIR="${HOME}/gentoo-x86" HERD=${1} shift CATEGORY=${1} shift EXPRESSION=${1} function print_header() { echo "" echo "" echo "" echo "${HERD}" } function print_longdesc() { local descrip if [ -f ${DBHOME}/.$1.desc ]; then descrip=$( <${DBHOME}/.$1.desc ) else descrip=$( wget -q -O - http://freshmeat.net/projects/$1 \ | sed \ -e '/

About:/,/Author/!d' \ -e '/

About:/d' \ -e '/

Author:/d' \ -e '/^[[:space:]]*$/d' ) if [ -z "${descrip}" ]; then return 1 fi fi echo "" echo "${descrip}" | dos2unix | fold -s echo "" } print_footer() { echo "" } do_meta() { einfo "Generated metadata.xml:" echo print_header print_longdesc ${PKG} print_footer } do_cvs() { cvs add metadata.xml repoman full askme repoman ci -m "adding metadata" } askme() { read -p "Look good? (y/n) " answer if [ ! ${answer} = "y" ] then exit fi } WORKDIR="${CVSDIR}/${CATEGORY}" cd ${WORKDIR} TOTAL="`ls | grep ${EXPRESSION} | wc -l`" for i in `ls | grep ${EXPRESSION}` ; do COUNTER="`expr ${COUNTER} + 1`" cd ${WORKDIR}/${i} echo einfo "Now working in: `pwd | sed \"s:\(.*\)gentoo-x86/\(.*\):\2:g\"`" einfo "Package ${COUNTER}/${TOTAL}" if [ -f metadata.xml ] then ewarn "Metadata exists! Moving along.." continue fi PKG=$(pwd | sed "s:\(.*\)gentoo-x86/\(.*\):\2:g") do_meta ${PKG} echo askme do_meta ${PKG} >| metadata.xml do_cvs done