Ports/install

Описание целей и ключей содержится в файле /usr/ports/Mk/bsd.port.mk

Установка из портов
Одной строкой, перечисляя все нужные цели make -C /usr/ports/x11/nvidia-driver/ install clean

Чтобы удалить конфигурационный файл, создаваемый при выборе пунктов из текстового меню нужно использовать цель make rmconfig

Чтобы увидеть эти настройки - выводится в консоль make showconfig  ===> The following configuration options are available for nvidia-driver-100.14.19: FREEBSD_AGP=off "Use FreeBSD AGP GART driver" VM86_INT10CALL=off "Use VM86 interface for video BIOS calls" ACPI=off "Enable support for ACPI Power Management" LINUX=off "Build with support for Linux compatibility"

Для их изменения (без удаления файла) - появится псевдографический интерфейс. Если нет других целей в строке. Recursive если, то не показывается. make config

Указание параметров при сборке (из CONFIGURE_ARGS+=) make WITH_ИМЯОПЦИИ=yes WITHOUT_ИМЯОПЦИИ=yes

Из Makefile (if defined(WITH_STATIC_BASH)) make -DWITH_STATIC_BASH

Чтобы не выводилось вопросов при установке, можно воспользоваться ключом BATCH=yes

Передать параметры утилите configure. Но надо формировать целиком строку, потому что это не добавляет, это заменяет все целиком. make CONFIGURE_ARGS+="--with-layout=PHP" install clean

Визуальный конфигуратор
Опции берутся из ключевого слова OPTIONS файла Makefile

Удаление
Аналогично действию pkg_delete make deinstall

Конфигурировать порт с использованием псевдографического меню. Сборка после этого не начинается. Вместо rmconfig удобно, если что-то было забыто в первый показ. make config

Показать состояние настроек, с которыми будет собран пакет, когда что-то меняется посредством псевдографического меню, то вывод изменяется make showconfig

yally# make showconfig ===> The following configuration options are available for php5-5.2.12: CLI=on (default) "Build CLI version" CGI=on (default) "Build CGI version" APACHE=off (default) "Build Apache module" DEBUG=off (default) "Enable debug" SUHOSIN=on (default) "Enable Suhosin protection system (not for jails)" MULTIBYTE=off (default) "Enable zend multibyte support" IPV6=on (default) "Enable ipv6 support" MAILHEAD=off (default) "Enable mail header patch" REDIRECT=off (default) "Enable force-cgi-redirect support (CGI only)" DISCARD=off (default) "Enable discard-path support (CGI only)" FASTCGI=on (default) "Enable fastcgi support (CGI only)" PATHINFO=on (default) "Enable path-info-check support (CGI only)" ===> Use 'make config' to modify these settings

Просмотреть возможные настройки конфигурирования и сборки make pre-fetch

Проверка уязвимостей
Игнорироваь make install clean -DDISABLE_VULNERABILITIES

Переустановка
Переустановка может потребоваться если установленное из портов нужно получить с новыми опциями. Например, был поставлен git, но без gitk. Простого способа нет.

Если попытаться поставить из портов приложение уже установленное, то она окончится ошибкой и советом сделать make deinstall и make reinstall. Получается, что в портах нет своего механизма обновления (?).

А reinstall по-видимому, нужен только для того чтобы переустановить приложение, которое уже было собрано и имеется это в work/


 * разница между целями (target) install и reinstall - отличается только удалением INSTALL_COOKIE
 * если использовать pkg_delete, то INSTALL_COOKIE внутри WRKDIR не удаляется - make install в таком случае не сработает.
 * make install -D FORCE_PKG_REGISTER - останутся файлы от старой версии (если они были убраны из новой)