|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 26 Feb 2001 13:05:35 To : Lev Serebryakov Subject : Re: make recursive-fetch -------------------------------------------------------------------------------- > А нет ли у кого-нибудь скрипта, который бы вытягивал _все_, что нужно для >порта, в том числе вс, что нужно для его зависимостей (включая то, что уже >стоит)? > Может есть что-то готовое? Я пользуюсь самописными скриптами. Попробуй, на тройке работает. ~/bin/rfetch: #!/bin/sh if [ "x$1" = "x" ]; then portdir=`pwd` else portdir=$1 cd $portdir || exit 0 fi bn=`basename $portdir` tmpmakefile=`mktemp /tmp/Makefile.$bn.$$.XXXXXX` || exit 1 trap "rm -f $tmpmakefile; exit 0" SIGINT SIGTERM printf '.include "Makefile"\n'>>$tmpmakefile printf '\n'>>$tmpmakefile printf 'rfetch:\n'>>$tmpmakefile printf '\trparse %s ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${RUN_DEPENDS} ${LIB_DEPENDS} ${DEPENDS}\n' $bn >>$tmpmakefile make -f$tmpmakefile rfetch fetch error=$? rm $tmpmakefile exit $error #EOF ~/bin/rparse: #!/bin/sh if [ "x$1" = "x" ]; then exit 0 fi if [ "x$1" = "xports" ]; then echo WARNING: "$@" exit 1 fi dontfetch=/tmp/dontfetch [ -f $dontfetch ] || touch $dontfetch portname=$1 shift OFS=$IFS deps="$*" for dep in $deps do IFS=':' set $dep IFS=$OFS if grep -q "$2" $dontfetch; then continue else echo "$2" >> $dontfetch fi echo "${portname} требует $2" rfetch "$2" || exit 1 done exit 0 Идешь в каталог порта, говоришь rfetch. Вытягивает все, что нужно для установки и запуска порта, со всеми зависимостями. Eugene -- "Люди забыли эту истину," - сказал Лис, - "но ты не забывай" --- slrn/0.9.6.2 (FreeBSD) * Origin: SVZ-Service (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/2609308aef27b.html, оценка из 5, голосов 10
|