BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: Пн 12 фев, 2007 4:27 pm 
Не в сети

Зарегистрирован: Пн 12 фев, 2007 4:05 pm
Сообщения: 1
Привет всем.
Реши сделать portupgrade -arR
В результате столкнулся с неприятной проблемой - очень многие порты требуют конфигурирования, и процесс сборки постоянно прерывается и ждет моего вмешательства. Таким образом, то, что можно было бы скомпилировать за 15 часов, придется наверно неделю собирать.
Может быть кто нибудь знает методы решения этой проблемы ? Например как можно сначала сконфигурировать все порты, а потом уже запустить их сборку.
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн 12 фев, 2007 7:16 pm 
Не в сети

Зарегистрирован: Пт 16 дек, 2005 6:51 pm
Сообщения: 981
Откуда: Москва
у меня была такая проблема
почему-то постфикс не сохранял свои опции в /var/db/ports/postfix/options
после это само как-то решилось, появился файл этот.

стоит попробовать так: создать файл options для тех портов, у которых отсутствуют options и которые трубют опции при сбоке.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт 16 фев, 2007 12:22 am 
Не в сети

Зарегистрирован: Пт 24 мар, 2006 9:44 am
Сообщения: 67
Откуда: Беларусь
как вар-т прописывать опции в make.conf касательно текущей директории. геморно но железобетонно (вроди)
например так (если есть ошибка в синтаксисе - поправьте заодно):
Цитата:
.if ${.CURDIR:N*/usr/ports/databases/mysql50-*} == ""
BUILD_OPTIMIZED=yes
BUILD_STATIC=yes
WITH_LINUXTHREADS=yes
WITHOUT_INNODB=yes
.endif


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт 16 фев, 2007 1:14 am 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: Вт 10 авг, 2004 2:24 am
Сообщения: 3328
Откуда: Харьков
я обычно делаю make config-recursive в нужных портах, а потом пускаю собираться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт 16 фев, 2007 2:52 am 
Не в сети

Зарегистрирован: Ср 12 янв, 2005 7:14 am
Сообщения: 1419
Откуда: Murmansk
Новый, улучшенный, скрипт: 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).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика