Данный проект основан на исходниках, созданных и позднее открытых компанией Cognitive technologies. Порт основан на cuneiform-linux версии 0.3.1 и содержит дополнительные исправления из основного репозитория. Работоспособность порта была проверена на FreeBSD 6 и 7, архитектуры i386 и amd64.
Показаны сообщения с ярлыком ports. Показать все сообщения
Показаны сообщения с ярлыком ports. Показать все сообщения
воскресенье, 24 августа 2008 г.
Завершена работа над FreeBSD портом системы распознавания Cuneiform
четверг, 8 мая 2008 г.
Обновление PHP5
Продолжаю исправлять свои давние ошибки :) На этот раз обновление php5 и его расширений там, где затерлась системная БД с записями об установленных из портов программах.
- Соберем
php5.cd /usr/ports/lang/php5 && make all
Остановимapache2/usr/local/etc/rc.d/apache2 stop
Ставимphp5make install
- Теперь установим расширения
php5.
Список расширений находится в файле/usr/local/etc/php/extensions.ini. Остается лишь поиск в портах и установка. Для этой цели написал маленький скрипт.#!/bin/sh
Сохраняем его под именем
grep -oE '=[a-z]+' /usr/local/etc/php/extensions.ini | \
sed -E 's/^./php5-/' | \
while read pkg;
do {
cd /usr/ports;
cd `make quicksearch name="^$pkg-" | \
grep -oE '/usr/ports/.+$'` && make install;
} done;php5-ext-inst.shи делаем исполняемымchmod +x php5-ext-inst.sh
Выполняем скрипт. - После установки расширений запускаем
apache2и радуемся жизни :)/usr/local/etc/rc.d/apache2 start
пятница, 11 апреля 2008 г.
Скрипт быстрой сборки пакетов зависимостей
При установке программ из портов freebsd нередко компилируются и ставятся их зависимости. Если для самой программы пакет собирается одной командой
make packageто сборка пакетов зависимостей превращается или в ручной обход требуемых программ или в длительное ожидание конца обработки команды
make package-recursiveПоследняя команда начинает тупо компилировать все зависимости и пытаться ставить их в систему, в том числе установленные вместе с программой.
Для решения этой проблемы я сделал следующее:
- В файл
/etc/make.confдобавить параметрWRKDIRPREFIX=/tmp/work
указывающий системе компилировать программы из портов в папке/tmp/work. - Cохранить скрипт под именем
pkg-recursive.sh:#!/bin/sh
if [ -z "$WRKDIRPREFIX" ];
then {
# WRKDIRPREFIX берем из make.conf
wrkdir=`grep -oE 'WRKDIRPREFIX=[^ ]+' /etc/make.conf | sed 's/WRKDIRPREFIX=//'`
if [ -z "$wrkdir" ];
then {
# WRKDIRPREFIX не задан ни в переменной окружения ни в make.conf
echo No WRKDIRPREFIX variable defined;
exit;
} fi;
}
else {
# WRKDIRPREFIX задан в переменной окружения
wrkdir=$WRKDIRPREFIX;
} fi;
# Меняем текущую директорию на директорию сборки и просматриваем его
cd $wrkdir/usr/ports && ls -d */* | \
while read pkg;
do {
if [ -f $wrkdir/usr/ports/$pkg/work/.install* ] && [ ! -f $wrkdir/usr/ports/$pkg/work/.package* ];
then {
# Условие срабатывает если программа установлена в систему и пакет не еще не собран.
# Команда printf "\t\n" принудительно завершает режим конфигурирования программы
# (выходит из make config).
cd /usr/ports/$pkg && (printf "\t\n" | make package);
} fi;
} done - Сделать скрипт исполняемым
chmod +x pkg-recursive.sh
- Установить и собрать пакет программы командой
make package
- Выполнить скрипт.
Автор:
Князь
на
15:52
4
коммент.
пятница, 14 марта 2008 г.
FreshPorts.org
Очень полезный ресурс. С его помощью можно оперативно узнавать о выходе новых версий нужных вам программ в дереве портов. Требуется зарегистрироваться на сайте, указать свой адрес e-mail (требует подтверждения), куда будут присылаться оповещения об обновлениях, и сформировать список.
Подписаться на:
Сообщения (Atom)