#!/bin/sh function make_index() { cd /home/ftp/ || return 1 if ! cd $1; then echo unable to cd to $1 dumbass return 1 else echo $1 fi tab="$(echo -ne '\t')" rm -rf /home/ftp/xml/$1/xpak/* mkdir -p /home/ftp/xml/$1/xpak rm -f /home/ftp/xml/$1/*.xml index=/home/ftp/xml/$1/index.xml cat < ${index} $1 solar This document describe a Gentoo Template Project 0.1 $(date -u +'%A %D %R') Gentoo Binrepo $1
Packages EOF for tarball in $(echo *.tbz2 | tr ' ' '\n' | sort) ; do pvr=$(basename $tarball .tbz2) cat=$(qatom $pvr | awk '{print $1}') pn=$(qatom $pvr | awk '{print $2}') pv=$(qatom $pvr | awk '{print $3}') pr=$(qatom $pvr | awk '{print $4}') xml=/home/ftp/xml/$1/${pvr}.xml xpak=/home/ftp/xml/$1/xpak/${pvr}.xpak qtbz2 -O -x ${tarball} > $xpak mkdir -p /home/ftp/xml/$1/xpak/${pvr} qxpak -x -d /home/ftp/xml/$1/xpak/${pvr}/ $xpak $(cat $xpak | qxpak -l -) desc="" dd="" ebuild=/home/ftp/xml/$1/xpak/${pvr}/${pvr}.ebuild contents=/home/ftp/xml/$1/xpak/${pvr}/CONTENTS for key in $(cat $xpak | qxpak -l -); do [[ $key == CATEGORY ]] && cat=$(cat /home/ftp/xml/$1/xpak/${pvr}/$key) if [[ $key == ${pvr}.ebuild ]]; then dd="$(grep ^DESCRIPTION= /home/ftp/xml/$1/xpak/${pvr}/$key)" desc=${dd:13} desc=${desc/\"/} fi done cat <> ${xml} $cat/$pvr solar This document describe a Gentoo Template Project $pr $(date -u +'%A %D %R') Gentoo Binrepo $1/$cat/$pvr
Packages Binary Source package: ${cat} ${pn} ${pv} ${pr}
Filename Size MD5sum
${pvr}.tbz2 $(ls -lhb ${tarball} | awk '{print $5}') $(md5sum ${tarball} | awk '{print $1}')
${pvr}.ebuild $(ls -lhb ${ebuild} | awk '{print $5}') $(md5sum ${ebuild} | awk '{print $1}')
$cat/$pn - ${desc} EOF keys="ACCEPT_KEYWORDS" NEEDED="" USE="" IUSE="" USED="" for key in $keys; do if [ -e /home/ftp/xml/$1/xpak/${pvr}/environment.bz2 ]; then tmp=$(bzgrep ^${key}= /home/ftp/xml/$1/xpak/${pvr}/environment.bz2) if [[ $tmp != "" ]]; then val=$(echo $tmp | cut -d = -f 2-) echo "" >> ${xml} fi fi done for key in $(cat $xpak | qxpak -l -); do if [ -e /home/ftp/xml/$1/xpak/${pvr}/$key ]; then val=$(cat /home/ftp/xml/$1/xpak/${pvr}/$key) if [ "$(echo ${key:0})" == "$(echo ${key:0} | tr [a-z] [A-Z])" ]; then cnt=$(echo $val | wc -c) if [ $cnt -ge 2 ] && [[ $key != CONTENTS ]]; then if [ $key == NEEDED ]; then NEEDED='
VDB Key Value
${key}${val}
' n=$(awk '{print "\t\t"}' < /home/ftp/xml/$1/xpak/${pvr}/$key) NEEDED="${NEEDED}${n}
ELF FileNEEDED
"$1""$2"

" else [[ $key == USE ]] && export USE="${val}" [[ $key == IUSE ]] && export IUSE="${val}" #echo $key echo -n "${tab}${tab}${key}" >> ${xml} case $key in HOMEPAGE) for s in ${val}; do echo -n "${s}" >> ${xml} done ;; INHERITED) for s in ${val}; do [ -f /usr/portage/eclass/${s}.eclass ] && \ echo -n"${s}" >> ${xml} || \ echo -n"{s}" >> ${xml} done ;; *) echo "$(echo $val | sed -e s/'<'/'\≤'/g -e s/'>'/'\≥'/g)" >> ${xml} ;; esac echo "" >> ${xml} fi fi fi fi done USED="" USE_TABLE="" for ii in $(echo ${IUSE} | tr ' ' '\n' | sort -u); do for uu in $(echo ${USE} | tr ' ' '\n' | sort -u); do if [[ $ii == $uu ]];then if [[ $USED != "" ]];then USED="${USED} +${ii}" else USED="+${ii}" fi fi done done [[ $USED != "" ]] && USE_TABLE="
USED ${USED}
" cat <> ${xml} ${USE_TABLE} ${NEEDED}
More Information on ${pn} Bug Reports
Packages
Source ChangeLog
EOF # Footer echo -e '\t \n
\n
' >> ${index} done echo "" >> $index echo '' >> ${xml} } #exec 2> /dev/null & if [ "$1" == "" ]; then #for profile in default-linux/{x86/2005.1/All,arm{,el},m68k/All} hardened/{ppc,x86} uclibc/{i386,armeb-{soft,hard}float,sh4}; do for profile in default-linux/x86/2005.1/All hardened/{x86,ppc,amd64/multilib} uclibc/i386 uclibc/ppc; do make_index ${profile} 2> /dev/null done else for foo in "$@"; do make_index $foo done fi