BSDPORTAL.RU http://www.bsdportal.ru/ |
|
portupgrade - как сделать предварительное конфигурирование http://www.bsdportal.ru/viewtopic.php?f=8&t=12947 |
Страница 1 из 1 |
Автор: | ndruha [ Пн 12 фев, 2007 4:27 pm ] |
Заголовок сообщения: | portupgrade - как сделать предварительное конфигурирование |
Привет всем. Реши сделать portupgrade -arR В результате столкнулся с неприятной проблемой - очень многие порты требуют конфигурирования, и процесс сборки постоянно прерывается и ждет моего вмешательства. Таким образом, то, что можно было бы скомпилировать за 15 часов, придется наверно неделю собирать. Может быть кто нибудь знает методы решения этой проблемы ? Например как можно сначала сконфигурировать все порты, а потом уже запустить их сборку. Спасибо. |
Автор: | c0re [ Пн 12 фев, 2007 7:16 pm ] |
Заголовок сообщения: | |
у меня была такая проблема почему-то постфикс не сохранял свои опции в /var/db/ports/postfix/options после это само как-то решилось, появился файл этот. стоит попробовать так: создать файл options для тех портов, у которых отсутствуют options и которые трубют опции при сбоке. |
Автор: | tigerBY [ Пт 16 фев, 2007 12:22 am ] |
Заголовок сообщения: | |
как вар-т прописывать опции в make.conf касательно текущей директории. геморно но железобетонно (вроди) например так (если есть ошибка в синтаксисе - поправьте заодно): Цитата: .if ${.CURDIR:N*/usr/ports/databases/mysql50-*} == ""
BUILD_OPTIMIZED=yes BUILD_STATIC=yes WITH_LINUXTHREADS=yes WITHOUT_INNODB=yes .endif |
Автор: | grayich [ Пт 16 фев, 2007 1:14 am ] |
Заголовок сообщения: | |
я обычно делаю make config-recursive в нужных портах, а потом пускаю собираться. |
Автор: | inspirra [ Пт 16 фев, 2007 2:52 am ] |
Заголовок сообщения: | |
Новый, улучшенный, скрипт: http://pastebin.mozilla-russia.org/91499 Код: #!/usr/local/bin/bash
#=== cR="\033[01;31m" ; cB="\033[01;34m" ; cNR="\033[00m";\ #=== PKGS="" ; RLEVEL="" ; DELTA="" ; #=== f1() { _pkgs="" c="`echo "$1" | wc -l | tr -d ' '`" ; echo -n [$c] >&2 #- for _port in $1 ; do _pkgs="$(printf "${_pkgs}\n${_port}\n`make -C ${_port} all-depends-list`")" #- c=`expr $c - 1` [ `expr $c % 10` -eq 0 ] && echo -n [$c] >&2 || echo -n "." >&2 [ $c -lt 0 ] && echo "[0]" >&2 done #- _pkgs="$(echo "${_pkgs}" | sort | uniq)" DELTA="$(printf "${_pkgs}\n`printf "${PKGS}\n${_pkgs}" | sort | uniq -d`" | sort | uniq -u)" PKGS="${PKGS}${DELTA}" } #=== f2() { echo ; for port in $1 ; do optionsfile=`make -C $port -V OPTIONSFILE` [ -e "$optionsfile" ] && md5=`md5 -q "$optionsfile"` make -C $port config-conditional if [ -e "$optionsfile" ] ; then if [ "`md5 -q "$optionsfile"`" != "$md5" ] ; then #echo c10 > /dev/speaker RLEVEL="${RLEVEL}>" f1 "$port" f2 "${DELTA}" port="= = = = = = = =" RLEVEL="${RLEVEL%%>}"; fi fi echo "$RLEVEL ${port}" done } #==== f3(){ f1 "$1" ; for port in $PKGS ; do \ f1(){ make -C $port fetch-required-list | \ while read l1 ; do \ echo "Каталог назначения: `make -C $port -V _DISTDIR`" ; \ echo ${l1} | perl -ne 'print "Файл/размер: ",/.*\/(.+?)\s.*/,"/"' ; \ echo ${l1} | perl -ne 'print /.*?-S\s*(\d*?)\s.*/,"\n"' ; \ echo "Зеркала загрузки:" ; \ echo ${l1} | tr -s "|" "\n" | \ while read l2 ; do \ echo $l2 | perl -ne 'print "\t",/.*?(http|ftp)(:.+?\s).*/' ; \ done ; echo ;\ done ; } ; \ list=`f1` ;\ printf "\nПорт: $port" ; \ if [ -n "$list" ] ; then printf "\n$list\n" ; else echo " - получение файлов не требуется" ; fi \ done } #==== f4(){ in_ports_list="`portversion -vl '<'`" ; [ $? -ne 0 ] && { printf "${cR}Ошибка(!):${cNR} $LINENO \n"; exit ;} echo "$(for _pkg in `echo "$in_ports_list" | cut -d" " -f1` ; do echo "/usr/ports/`pkg_info -oq ${_pkg}`" ; done)" } ###################################### ### GO ###################################### if [ "$1" = "fetch_list" ] ; then if [ "$2" ] ; then f3 "$2" ; else f3 "`f4`" ; fi elif [ "$1" = "config" ] ; then if [ "$2" ] ; then f1 "$2" ; else f1 "`f4`" ; fi f2 "${DELTA}" echo "${PKGS}" | grep -q "print/ghostscript" && printf "${cR}Внимание!${cNR} порт \"${cB}print/ghostscript*${cNR}\" не сохраняет конфигурацию и при каждом обновлении процесс конфигурации повторится!\n" else printf "${cB}Синтаксис:${cNR} $0 [ fetch_list | config ] /usr/ports/...порт\n" printf "${cB}Рекурсивный \"config-conditional\" по всем портам требующим обновления:${cNR} $0 config\n" printf "${cB}Рекурсивный \"config-conditional\":${cNR} $0 config /usr/ports/порт...\n" printf "${cB}Список файлов для закачки, для обновления:${cNR} $0 fetch_list\n" printf "${cB}Список файлов для закачки, для указанного порта:${cNR} $0 fetch_list /usr/ports/порт...\n" printf "${cB}Перед использованием ключа \"fetch_list\" рекомендуется выполнить рекурсивную конфигурацию (config-conditional).${cNR}\n" exit 1 fi Рекурсивный "config-conditional" для всех портов требующих обновления: script.sh config Рекурсивный "config-conditional" для указанного порта: script.sh config /usr/ports/порт... Список файлов для закачки (рекурсивно), для портов требующих обновления: script.sh fetch_list Список файлов для закачки (рекурсивно), для указанного порта: script.sh fetch_list /usr/ports/порт... *Перед использованием ключа "fetch_list" рекомендуется выполнить рекурсивную конфигурацию (config-conditional). |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |