Portmaster

Не зависит от других портов. Написан на sh. Поддерживает комплишены для интерпретаторов. Быстрее? Не имеет базы (как portupgrade

Также упоминания есть, что все три бекапят старый порт в виде пакета, но все кроме portmaster его сами возвращают при невозможности обновить и продолжают установку далее, а вот в нем потребуется откатывать вручную, если заметишь этот момент.

portupgrade тяжелее, но использование portmaster требуется большего знания как работают порты и что делать с сложных ситуациях

Portupgrade can also handle binary packages-only installations.

Portmaster works with what is already on your system and requires no additional ports to run, but it does require a somewhat deeper understanding of how ports work to troubleshoot snafu situations.

Воспринимает настройки заданные через portconf. Часто встречаются советы их использовать совместно, указывая make flags и options для любого порта.

portmaster в отличии от portupgrade останавливается, если при сборке порт не удается установить.

sudo make install clean -C /usr/ports/ports-mgmt/portmaster/
 * Установка

Предлагает помощников для bash и zsh, для tcsh не предлагает.

portmaster -af portmaster shells/bash
 * Возможности
 * если уже установлена последняя версия, то при запуске portmaster libtool переустановит порт
 * Если при обновлении возникнут проблем, то можно использовать
 * Также можно использовать для установки нового порта, перед которым будут обновлены все необходимые порты.
 * По умолчанию делает резервную копию перед удаление существующего порта
 * Не имеет зависимостей от других портов

Все порты разделены на 4 категории


 * 1) Root ports (No dependencies, not depended on)
 * 2) Trunk ports (No dependencies, are depended on)
 * 3) Branch ports (Have dependencies, are depended on)
 * 4) Leaf ports (Have dependencies, not depended on)

В версии 1.25 такой опции нет portmaster --check-depends  ===>>> Checking php5-extensions-1.4 ===>>> textproc/php5-xmlwriter is listed as a dependency ===>>> but there is no installed version

===>>> Delete this dependency data? y/n [n]

===>>> Checking autoconf-2.62 ===>>> /usr/ports/devel/autoconf262 does not exist ===>>> This port should probably be updated 

В заголовке терминала xterm показывает общее количество пакетов и уже обработанных, например, 82/660. Также там показывается текущий порт (крайний справа) и в чьей зависимостью он является, например All >. goffice-0.6.5. >> gconf2-2.201. >> gtk-2.12.1_1 128/660
 * Прогресс