if [[ $# -ne 2 ]]; then cat <<- EOF >> /dev/stderr Requires 2 arguments: compilation log and source directory Example: ebuild_templater/ebuild_templater.sh \\ /var/log/portage/net-wireless/wpa_supplicant-0.5.8.log \\ wpa_supplicant-0.5.8/ \\ 2>/dev/null \\ | tee wpa_supplicant-0.5.8.ebuild EOF exit 1 fi LOG=$1 SOURCE=$2 PORTDIR=$(portageq portdir) MYDIR=${0%/*} i=0 while read line; do SKEL[i]="${line}" (( i++ )) done < <(grep -v -e '#' -e '^$' ${PORTDIR}/skel.ebuild) while read -a line; do RDEPEND="${RDEPEND} >=${line[0]}:${line[1]}" done < <(${MYDIR}/linking_libs.sh ${LOG}) while read -a line; do DEPEND="${DEPEND} >=${line[0]}:${line[1]}" done < <(${MYDIR}/included_headers.sh ${SOURCE}) # Top of ebuild cat ${PORTDIR}/header.txt # We're using SLOT dependencies echo EAPI=1 echo # Read skel.ebuild and insert dependencies for ((j=0; j<${#SKEL[@]}; j++)); do line="${SKEL[j]}" case ${line} in DEPEND=*) continue ;; RDEPEND=*) echo 'RDEPEND="' for rdep in ${RDEPEND}; do echo -e "\t${rdep}" done echo -e '\t"' echo 'DEPEND="${RDEPEND}' for dep in ${DEPEND}; do echo -e "\t${dep}" done echo -e '\t"' ;; *) echo "${line}" ;; esac done