Ivanovo Linux Users Group -  
Форум Помощь Поиск Вход
Предыдущая Следующая Вверх Тема Дистрибутивы / xBSD / FreeBSD 8.0 компилим mc-4.7.1 (20606 хитов)
- Написал(а) hawk Дата 01.03.10 13:51 Отредактировано 01.03.10 14:06
От скуки ради сегодня решил скомпилить последний mc-4.7.1, вот что новенького: http://www.midnight-commander.org/wiki/NEWS-4.7.1
Сам пользуюсь переделанным mc-light, итак удаляю его
pkg_deinstall mc-light

Обновляю порты, глядь в них может появился последний mc:
cvsup  -g -L 2 /usr/local/etc/ports-supfile

Port:   mc-4.7.0.2_1
Path:   /usr/ports/misc/mc
Info:   Midnight Commander, a free Norton Commander Clone
Maint:  fjoe@FreeBSD.org
B-deps: gdbm-1.8.3_3 gettext-0.17_1 glib-2.22.4 gmake-3.81_3 libiconv-1.13.1_1 libslang2-2.2.2 pcre-8.00 perl-threaded-5.8.9_3
pkg-config-0.23_1 png-1.2.42 python26-2.6.4
R-deps: gamin-0.1.10_3 gdbm-1.8.3_3 gettext-0.17_1 gio-fam-backend-2.22.4 glib-2.22.4 libiconv-1.13.1_1 libslang2-2.2.2 pcre-8
.00 perl-threaded-5.8.9_3 pkg-config-0.23_1 png-1.2.42 python26-2.6.4
WWW:    http://www.midnight-commander.org

Старый еще, поэтому берем сырцы с сайта и собираем. Переходим в мусорную папку:
# cd /tmp

Качаем тар.гз
Скачался, как 35 :-), распаковываем:
# tar -xf 35
# ls -la
drwxrwxrwx  12 500    500          1024  1 мар 12:57 mc-4.7.1

Переходим в mc-4.7.1
# cd mc-4.7.1/

Читаем INSTALL на предмет нужного для компила, проверяем это дело и выполняем .configure с нужными параметрами. Я собираю с поддержкой самбы, файловых и кодировок, буду использовать либы ncurses вместо slang, читайте INSTALL и пишите то, что нужно вам, в общем вот что получилось у меня:
./configure                     \
        --prefix=/usr/local               \
        --sysconfdir=/usr/local/etc           \
        --libexecdir=/usr/local/lib       \
        --enable-background         \
        --enable-network            \
        --enable-netcode            \
        --enable-charset            \
        --enable-nls                \
        --with-vfs                  \
        --with-samba             \
        --with-edit                 \
        --with-screen=ncurses         \
        --without-x                 \
        --without-gpm-mouse         \
        --without-gnome             \
        --without-debug             \
        --without-included-gettext  \
        --disable-dependency-tracking

Слеши "\" в конце обязательны - это для тех кто не знает :-) или пишите все в одну строку.
Выполняем, у меня удачно, если нет, то смотрим чего не хватает и опять выполняем, после собираем:
# make && make install && make clean

Ну и смотрим, что имеем:
# mc -V
GNU Midnight Commander, версия 4.7.1
Виртуальная файловая система: tarfs, extfs, cpiofs, ftpfs, fish, smbfs
Со встроенным редактором
С библиотекой ncurses
C поддержкой внутренней командной оболочки
С поддержкой фоновых операций
С поддержкой мыши в xterm
С поддержкой интернационализации
С поддержкой многих кодировок
Data types: char 8 int 32 long 64 void * 64 off_t 64 ecs_char 8

Стало быть имеем то, что хотели :-)
Статью разместил у себя в блоке, это кросспостинг на оригинал unixa.ru. Надеюсь материал кому нибудь пригодится, как краткое пособие по сборке :-)!

>>P.S.:


В приведенной выше команде .configure, если собирать под Linux необходимо внести следующие изменения в пути (не проверял, пишу как думаю, поправьте ежели что):
./configure                     \
        --prefix=/usr               \
        --sysconfdir=/etc           \
        --libexecdir=/usr/lib       \
        --enable-background         \
        --enable-network            \
        --enable-netcode            \
        --enable-charset            \
        --enable-nls                \
        --with-vfs                  \
        --with-samba             \
        --with-edit                 \
        --with-screen=ncurses         \
        --without-x                 \
        --without-gpm-mouse         \
        --without-gnome             \
        --without-debug             \
        --without-included-gettext  \
        --disable-dependency-tracking
Собираем так же.
H@wk!
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent Написал(а) hawk Дата 01.03.10 14:26 Отредактировано 01.03.10 14:32
Забыл написать главную вещь, как удалить то, что насобирали :-)
# make uninstall mc
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) LOE (Site/forum admin) Дата 02.03.10 06:18
Отвлеченно:
Разве нельзя сготовить пакет и поставить его вместо make install?
Уж на что та-же слака бедна пакетным мэнеджером, но и в ней лучше все через пакеты ставить ;-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 02.03.10 06:29 Отредактировано 02.03.10 06:43
За все время пользования FreeBSD не припоминаю чтобы я что-то ставил из пакетов (хотя таковые есть) по ряду причин, все собираю из портов :-))), хотя тот же cvsup удобнее пакеджем, из портов потянет за собой руби. В общем я к тому, что правильнее наверное было сворганить порт под FreeBSD mc-4.7.1, который "числился" бы в системе после установки, но 1-е - было лениво писать макефайл и тестировать все это дело, 2-е - хотелось показать что и компилять из исходников не сложно :-)
ps причины, о которых говорил, вызов в макефайле make config, который в псевдографике позволяет понатыкать очень много параметров, тем самым на выходе получаешь то, что сам выбрал, если брать аналоги, флаги USE в Gentoo - в этом вся гибкость. Для примера взять пакетные дистрибутивы, например UBUNTU в 8.10 вроде, собрали mc без smb, сколько тем было и криков, караул ставлю из синаптика mc, а там самбы нет :-):-):-), сразу появилось кучу форковых сборок mc с правками, более консервативные ждали и смотрели в рот мантейнерам, да писали багрепорты )))))
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) LOE (Site/forum admin) Дата 02.03.10 07:58
Пакет или порт - дело вторичное.
По аналогии со слакой, когда надо новую версию проги поставить, берется SlackBuild, подправляется и готовится пакет. Дальше upgradepkg и все :-)
Ну т.е. имея заготовку "собирателя" предыдущей версии пакета, собрать новый - не сложнее чем ./configure && make && make install
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) hawk Дата 02.03.10 09:43 Отредактировано 02.03.10 09:46
По аналогии со слакой, когда надо новую версию проги поставить, берется SlackBuild, подправляется и готовится пакет.

Нету пока ни чего, т.е. порт как я понимаю и есть на подобие SlackBuild. Я беру исходники, сейчас наваял порт. Следующий шаг - изготовление пакета.
Порт уже готов, в скором времени опишу сие действо выложу порт, хотя вот, сам порт уже выложил: "Порт mc-4.7.1 FreeBSD8_64" Коротенько по разворачиванию:

# cp mc-4.7.1_1.tar.gz /usr/ports/distfiles/
# cd /usr/ports/distfiles/
# tar xf mc-4.7.1_1.tar.gz
# cd mc
# make install clean
# mc -V
GNU Midnight Commander, версия 4.7.1
Виртуальная файловая система: tarfs, extfs, cpiofs, ftpfs, fish, smbfs
Со встроенным редактором
С установленной в системе библиотекой S-Lang с базой данных terminfo
C поддержкой внутренней командной оболочки
С поддержкой фоновых операций
С поддержкой мыши в xterm
С поддержкой интернационализации
С поддержкой многих кодировок
Data types: char 8 int 32 long 64 void * 64 off_t 64 ecs_char 8

# pkg_info | grep mc-4.7
mc-4.7.1_1          Midnight Commander, a free Norton Commander Clone
##### Удаление
# pkg_deinstall mc

Как видно теперь порт в базе установленных pkg_info тому свидетель :-)
Сейчас из порта соберу пару пакетов, один стандарт второй со всеми зависимостями :-).
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) hawk Дата 02.03.10 10:06
А вот и пакет "mc-4.7.1 FreeBSD8_64".
Нужные ему зависимости :-)

# grep @pkgdep /var/db/pkg/mc-4.7.1_1/+CONTENTS
@pkgdep python26-2.6.4
@pkgdep png-1.2.42
@pkgdep pkg-config-0.23_1
@pkgdep pcre-8.00
@pkgdep gdbm-1.8.3_3
@pkgdep perl-threaded-5.8.9_3
@pkgdep libiconv-1.13.1_1
@pkgdep libslang2-2.2.2
@pkgdep gettext-0.17_1
@pkgdep glib-2.22.4
@pkgdep gamin-0.1.10_3
@pkgdep gio-fam-backend-2.22.4

Инсталл:
# pkg_add mc-4.7.1_1.tbz

Удаление:
# pkg_deinstall mc
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent Написал(а) Deness Дата 16.01.13 09:37
А если просто установить ?
Предыдущая Следующая Вверх Тема Дистрибутивы / xBSD / FreeBSD 8.0 компилим mc-4.7.1 (20606 хитов)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.081s with 10 database queries.