>Hi!
>Так тут в том то и
>дело, что ставил с порта
>(pkg_add, последнюю версию пакета, тк.
по-русски:
- порт
- пакет
и звучат и означают разные вещи, за исключением
сути - создание binaries того или иного software.
пакеты - packages,
pkg_name - утилиты для работы с готовыми
пакетами, собранными кем-то из freebsd team
пакеты собираются под конкретную реализацию и
конфигурацию системы, имеют зависимости...
И собраны на базе чужой системы - так понятно?
ports - порты,
/usr/ports/раздел/пакет
порты включают в себя патчи, Makefile характерный
для OS FreeBSD и включает в себя зависимости,
те при установке того или иного software,
в случае отсутствия необходимой библиотеки,
software, они будут скачены и установлены в
процессе компиляции.
По-скольку конфигурирование и компиляция идут
на конкретной-собственной системе, проблем быть
не должно.
>у меня на компакте mutt'а
>нет - FreeBSD 4.0) -
>при установке крик и шум
>по поводу недостающих библиотек и
>пакетов. Ну с пакетами проще
>- выкачал, поставил, но когда
>он начал говорить что нет
>какой-то ...so.4 - я застрял
>серьезно. Вот и решил выкачать
>исходники - и все стало
>без проблем, и работает.
действия на примере mutt'а
1. идем на www.freebsd.org/ports/
http://www.freebsd.org/cgi/ports.cgi?query=mutt&stype=all
- смотрим, есть ли нужная нам версия, смотрим
перечисленные там зависимости на предмет
криминала
1.1. если нужная нам версия mutt есть в портах,
выкачиваем ее порт и если нужно зависимые порты
1.2 если нужной версии нет, разбираемся с
патчами, смотрим кто их ведет и скачиваем оттуда,
если есть, если нет - делаем собственные (на сколько ума хватит)
2. выкачиваем дистрибутив, кладем его в
/usr/ports/distfiles
3. делаем su - root(toor)
4. cd /usr/ports/mail/mutt-devel
если портирование уже произведено, то
make && make install
5 для желающих make deinstall
Примечание: порты установленные с системой
можно не трогать, а держать или cvsup'ить
свежие порты в /usr/local/ports и там ваять
все необходимое для себя.
В случае использования packages или ports,
нет проблем с регистрацией и удалением установлен
ного software, ибо pkg-utilities и порты FreeBSD
сами это делают.
В случае самостоятельного компиляния(без использования) /usr/ports - ни make, ни gmake
никакой регистрации не ведут и в базу ничего
не пропишут, соответственно - самостоятельно
правится сгенеренный makefile на предмет
deinstall или uninstall - какой термин больше
нравится.
чтение make/gmake/imake - должны полностью
просветлить голову.
Еще раз, если хочется вести базу software:
- либо use pkg_utilities
- либо ports
в ином случае - ручками.
>Но вот с видимостью пакета по
>pkg_info - не видно.
>1.Так получается нужно просмотреть его makefile
>и сделать как-бы наоборот? создать
>свой унинсталл?
>2.Или опять же проанализировав макефайл заняться
>чисткой вручную? те. смотреть куда
>что ложит и искать, удалять?
пункт 2. именно, а уж вручную или отредактировать
makefile:
deinstall: rm -f /path/name
rm -f ...
rm -f /path/man1/name
это по желанию
Примеры:
дано: RELEASE-4.2
хочу: свежий aviplay из current-ports
Варианты:
1) взять packages из тех что для RELEASE-4.2
- однако для этого могут потребоваться
зависимые пакеты, значит нужно и их
выкачивать и устанавливать, если они
отсутствуют (НЕ ФАКТ ЧТО ВСЕ БУДЕТ ok)
2) выкачать current-port для aviplay и порты
зависимостей, положить в /usr/ports/...
и попытаться собрать, при необходимости
сделать собственные правки
Примечание для п.2) - с current-ports могут
быть проблемы, по-скольку они являются зависимой
частью для системы - make, переменные make и тд
и тп. Те надо понимать и осознавать что делаешь.
>
>Всего хорошего!
>С уважением, Dmitry.