The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как вручную поставить порт!"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как вручную поставить порт!"
Сообщение от mazaj emailИскать по авторуВ закладки on 12-Фев-03, 17:37  (MSK)
Хочу поставить порт! набираю make install ... после чего происходит попытка найти порт и установить... прикол в чем:

Я нахожу соответствующий файл в указанном пути, а make install ругается... Ладно! Я переписываю этот фал в /usr/ports/distfiles/ пишу make install - результат тот же (версию порта и архива проверял, NO_CHECKSUM=yes писал). Блин мне надо порт поставиить! И дерево портов недавно обновлял.

Есть файл .tar.gz файл ... Что с ним сделать после разархивирования? Что б он поставился?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Как вручную поставить порт!"
Сообщение от Chris emailИскать по авторуВ закладки on 12-Фев-03, 17:44  (MSK)
tar -zxvf file.tar.gz
cd ...
make
make install
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Как вручную поставить порт!"
Сообщение от lavr emailИскать по авторуВ закладки on 12-Фев-03, 19:00  (MSK)
>Хочу поставить порт! набираю make install ... после чего происходит попытка найти
>порт и установить... прикол в чем:
>
>Я нахожу соответствующий файл в указанном пути, а make install ругается... Ладно!
>Я переписываю этот фал в /usr/ports/distfiles/ пишу make install - результат
>тот же (версию порта и архива проверял, NO_CHECKSUM=yes писал). Блин мне
>надо порт поставиить! И дерево портов недавно обновлял.
>
>Есть файл .tar.gz файл ... Что с ним сделать после разархивирования? Что
>б он поставился?

man ports

http://www.opennet.me/tips/sml/36.shtml

дерево портов: /usr/ports/категория

конкретный порт: /usr/ports/категория/название_порта

содержимое порта:

/usr/ports/категория/название_порта/Makefile - файл сборки проекта
/usr/ports/категория/название_порта/distinfo - md5 контрольные суммы дистрибутивов которые будут собраны
/usr/ports/категория/название_порта/files - директория в которой содержатся freebsd-related патчи для данного программного продукта
/usr/ports/категория/название_порта/scripts - директория со скриптами создания дополнительной конфигурации или зависимого Makefile.inc

файлы:

pkg-comment - краткое описание данного продукта
pkg-desc - чуть более расширенное описание данного продукта
pkg-plist - список всего что будет установлено в систему посредством make install
pkg-message - важное сообщение которое будет выдано после make install
pkg-install - обычно скрипт дополнительняющий набор необходимых действий при "make install"

терминология структуры портов:

/usr/ports - все дерево портов
/usr/ports/INDEX - список всех портов
/usr/ports/INDEX.db - база портов
/usr/ports/README - прочти меня
/usr/ports/distfiles - место куда будет затягиваться дистрибутив необходимый для сборки порта
/usr/ports/Mk - необходимые make includes файлы для сборки портов в дополнение к /usr/share/mk

обычный или mini-port - обычный порт
мета, meta-port - порт большого программного продукта, в реалии пустышка из нескольких mini-port'ов необходимых для сборки ПОЛНОГО meta-port'а.

Например:

/usr/ports/x11/XFree86-4 - это мета-порт объединяющий установку нескольких
мини-портов необходимых для установки всего XFree86-4, список мини-портов
указан в /usr/ports/x11/XFree86-4/Makefile

Сборка:

1) cd /usr/ports/категория/название_порта

2) make

по команде make, будет просматриваться содержимое /usr/ports/distfiles
на предмет наличия в нем дистрибутива[ов] cat distinfo, если таковые
отсутствуют там, будет производиться скачивание данного дистрибутива
с основного сайта: ftp.freebsd.org.
Управлять этим процессом можно определив ряд необходимых переменных
в файле /etc/make.conf (который создается на основе /etc/defaults/make.conf)

MASTER_SITE_BACKUP?=   \
       ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/

закоментарим две верхние строчки и зададим ближайший к нам сайт с зеркалом
distfiles, например:

#MASTER_SITE_BACKUP?=   \
#       ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
#--lavr

MASTER_SITE_BACKUP?=    \
        ftp://ftp.ru.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/

MASTER_SITE_OVERRIDE?=  ${MASTER_SITE_BACKUP}

MASTER_SORT_REGEX?=     ^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.ru/ ://[^/]*\.ru\.

если у нас выход в Internet через PROXY, определяем следующие переменные
в том же файле, если PROXY с авторизацией, man 3 fetch:

FETCH_ENV=     FTP_PROXY=ftp://10.0.0.1:21
FETCH_ENV=     HTTP_PROXY=http://10.0.0.1:80

При сборке портов можно использовать много полезных переменных среды,
полезно в тех или иных случаях:
less /usr/share/mk/bsd.README
less /usr/ports/Mk/bsd.port.mk

man ports

3) make install

после успешной сборки п.2, произвести установку собранного продукта в
систему, обычно: PREFIX=/usr/local, где /usr/local - альтернативная
структура базовой системы: "/", "/etc", "/bin", "/sbin", "/usr/lib" и тд

4) make clean

удалить все что осталось после сборки, обычно директорию work в данном
продукте и всех зависимостях которые были собраны и автоматически установлены при сборке данного продукта

Удалить установленные порты или пакеты можно:

make de-install или man pkg_delete

при сборке порта, в пункте 2)

make - производит несколько операций, скачивание, накладывание патчей,
конфигурирование проекта перед сборкой и саму сборку, при необходимости,
мы можем выполнять по шагам вместо make:

make fetch
make checksum
make depends
make extract
make patch
make configure
make build

чтобы в реалии не выполнять make, а лишь посмотреть что будет сделано:

make -n

иногда удобно в командной строке задать все необходимые команды (см. используемый вами SHELL):

cd /usr/ports/категория/название_порта
make && make install && make clean

однако некоторые порты требует интерактивного вмешательства, чтобы
этого не произошло, необходимо посмотреть Makefile, записать все
необходимые опции с которыми мы будем собирать данный порт и выполнить:

make WITH_ИМЯОПЦИИ=yes WITHOUT_ИМЯОПЦИИ=yes BATCH=yes install && make clean

BATCH=yes обеспечивает пакетную сборку порта.

Материал для изучения:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html

http://www.FreeBSD.org.ua/porters-handbook/ - на русском

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру