Что такое система DarwinPorts DarwinPorts - это програмное обеспечение для сборки, установки и организации пакетов, созданное для обеспечения такой же фукциональности как и в системе портов FreeBSD, с возможностью поддержки расширяемости для дальнейших разработок. DarwinPorts на данный момент успешно собирается и работает на системах MacOS X 10.2 (Darwin 6.0) и MacOS X 10.3. Это програмное обеспечение переносимо, написано на языке TCL c минимальным использованием модулей, написаных на языке C. "Руководство пользователя" доступно по адресу http://www.opendarwin.org/projects/darwinports/guide/ За дополнениями о внутренней организации системы портов - обратитесь к base/doc/INTERNALS. Обращаем Ваше внимание на то, что система DarwinPorts разбита на 2 части. Сама система DarwinPorts находится в директории base/ и является необходимой частью, а директория dports/ содержит дерево описаний портированного програмного обеспечения и является частью дополнительной опциональной). Она может быть скопирована по требованию из сети или может использоваться локальная копия. Смотрите документацию на /etc/ports/sources.conf ниже. Установка Специфичные для Вашей платформы инструкции смотрите в файле base/doc/README.platforms. Порядок установки: 1. cd base/ ./configure Перейдите в директорию base/ и запустите скрипт конфигурирования. Дополнительные параметры скрипта конфигурации описаны ниже. 2. make Запустите 'make' для сборки необходимого програмного обеспечения. 3. sudo make install Запустите 'sudo make install' для установки DarwinPorts в Вашу систему 4. [опционально] edit /etc/ports/ports.conf Файл /etc/ports/ports.conf позволяет задать некоторые опции для системы DarwinPorts. Если Вы желаете изменить пути для установки (installation path) или место расположения специфичной системной информации - измените следующие настройки: portdbpath - определяет путь, где хранятся специфические системные настройки. prefix - определяет путь для установки. 5. [опционально] edit /etc/ports/sources.conf В файле /etc/ports/sources.conf указаны оба (локальное и удаленное) месторасположение дерева програмного обеспечения. Если для скрипта ./configure не указан аргумент --with-dports-dir=DIR, то в файл sources.conf будет добавлено указание использовать стандартное дерево dports (директория darwinports/dports) Все необходимые программы и TCL скрипты будут собраны и установлены так, как указано ниже: [MacOS X 10.3] /Library/Tcl/darwinports1.0 [MacOS X 10.2] /System/Library/Tcl/darwinports1.0 [FreeBSD] /usr/local/lib/tcl8.3/darwinports1.0 - TCL модули для работы с системой DarwinPorts PREFIX - установлен по умолчанию в /opt/local, но может быть переназначен при сборке програмного обеспечения из директории base/ с помощью ключа --prefix=DIR $PREFIX/bin/port - утилита командной строки для сборки портированного програмного обеспечения $PREFIX/share/darwinports - внутренние библиотеки TCL системы портов Конфигурационные файлы для дополнительных настроек системы портов: /etc/ports/ports.conf - Пользовательские настройки системы портов /etc/ports/sources.conf - Месторасположение дерева портов (места, где доступны данные о портированном програмном обеспечении) Использование команды port Добавте если Вы еще не добавили /opt/local/bin (или $PREFIX/bin если указан другой путь для инсталяции системы DarwinPorts) в Вашу переменную окружения путей ($PATH) Если Вы используйте bourne shell (bash) - добавте в Ваш ~/.profile следующую строку: export PATH=$PATH:/opt/local/bin Если Вы используйте csh или tcsh - добавте указанную строку в файл ~/.cshrc set path=($path /opt/local/bin) Что-бы эти изменения вступили в силу - необходимо перезапустить или открыть новый Терминал. Указанная команда используется для сборки и установки нового порта: port install <имя порта> Для поиска портов используйте команду port search: port search vi Для более подробного изучения возможностей команды port -обратитесь к man-странице. Для выполнения таких операций как "собрать" или "скачать" все порты используйте команду portall. Эта команда поддерживает такие же аргументы как и команда port, но применяет их для всех портов в директории dports/. К примеру, команда "port clean" отчистит только порт в текущей директории, а команда "portall clean" отчистит все директории с портами в вашей системе. Создание нового порта Порт состоит из директории, содержащей файл Portfile и связанных с ним файлов. На данный момент с ним связаны только файлы с исправлениями (patch files). Файл Portfile содержит код TCL, исполняемый TCL интерпритатором системы DarwinPorts. В Portfile используется чрезвычайно простой синтаксис - пары ключ/значение, однако, допускается использование всех функциональных возможностей TCL там, где это необходимо. Для начала, пожалуйста обратитесь к base/doc/exampleport и man-странице portfile(7) или к "Руководству пользователя", доступному по адресу http://darwinports.opendarwin.org/docs