Как поставить пакет вместе с исходниками? (чтобы сырцы сразу ставились в /usr/src)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

green_guy
Сообщения: 48

Как поставить пакет вместе с исходниками?

Сообщение green_guy »

сабж
Gentoo, kernel 2.6.11, Gnome, Sawfish, vim
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Как поставить пакет вместе с исходниками?

Сообщение serg_sk »

А чего ты ставишь то? Ядро чтоли?
emerge gentoo-sources уже не рулит?
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: Как поставить пакет вместе с исходниками?

Сообщение Angel_13th »

Как и написал серж emerge gentoo-sources, ставиться только исходники, ноль бинарников. И вообще это ж Генту, здесь все в исходниках. Бинарники ставятся, только при использовании особых флагов(опции emerge).
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
green_guy
Сообщения: 48

Re: Как поставить пакет вместе с исходниками?

Сообщение green_guy »

Gentoo-sources - исходники ядра, мне же нужно для любого пакета. В частности я делаю

Код: Выделить всё

emerge glib
Где теперь искать исходники? Почему мне приходится руками распаковывать тарбол в /usr/src?
Gentoo, kernel 2.6.11, Gnome, Sawfish, vim
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: Как поставить пакет вместе с исходниками?

Сообщение Angel_13th »

Вот это уже другой вопрос. Я не знаю таких опций что бы прога устанавлвалась с иходниками. Ну руками и расспаковывай. Что тебе мешает? Можеш еще сделать вот как, после распаковки на наложения всех патчей, нажать Ctrl+C. И в папке /var/tmp/portage, ты найдеш исходники с уже наложенными патчами.
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
green_guy
Сообщения: 48

Re: Как поставить пакет вместе с исходниками?

Сообщение green_guy »

Первоочередная проблема, породившая вопрос, состоит в том, что при отладке gdb не видит исходников библиотеки /usr/lib/libgmodule-2.0.so.0. В то же время, исходники библиотеки libglade он видит. Я вижу только две возможных причины:
1. gdb не знает где исходники. Поскольку часто информация о положении исходников сохраняется в бинарниках, и gdb может это использовать, то, возможно установка пакета из исходников, дислоцированнных на постоянной основе могла бы помочь gdb. (команда (gdb) dir /usr/src/xxx/yyy не помогает)
2. В библиотеке нет отладочной информации. Хотя установка её выглядела так:

Код: Выделить всё

# export CFLAGS="-g"
# export CXXFLAGS="-g"
# export FFLAGS="-g"
# emerge glib

Как узнать есть ли в библиотеке эта информация - не знаю.
По отношению к libglade gdb тоже ведет себя непонятно : когда я вхожу в libglade командой step - он исходники видит, но не показывает имени бинарника,

Код: Выделить всё

(gdb) s
glade_xml_signal_autoconnect (self=0x80efc08) at glade-xml.c:325
/usr/src/libglade-2.5.0/glade/glade-xml.c:325:9918:beg:0x40262e66
когда же вхожу командой stepi он показывает:

Код: Выделить всё

(gdb) si
0x40260956 in ?? () from /usr/local/lib/libglade-2.0.so.0
и не показывает исходника.
То, что, /usr/src/libglade-2.5.0/glade/glade-xml.c:325:9918:beg:0x40262e66 относится точно к libglade, я смог установить только таким топорным способом:

Код: Выделить всё

(gdb) info file
...
0x40262140 - 0x4026f570 is .text in /usr/local/lib/libglade-2.0.so.0
....
Gentoo, kernel 2.6.11, Gnome, Sawfish, vim
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Как поставить пакет вместе с исходниками?

Сообщение KiWi »

# ebuild <path_to_ebuild> unpack
+
# man ebuild

и заодно
# man make.conf
Спасибо сказали:
green_guy
Сообщения: 48

Re: Как поставить пакет вместе с исходниками?

Сообщение green_guy »

Спасибо! Я вошел в glib. Так и не понял что ему было надо. Триумфальные команды:

Код: Выделить всё

# ebuild /usr/portage/dev-libs/glib/glib-2.6.4.ebuild unpack
# cp -R /var/tmp/portage/glib-2.6.4/work/glib-2.6.4/ .
# pwd
/usr/src/glib-2.6.4
# export CFLAGS="-g"
# export CXXFLAGS="-g"
# export FFLAGS="-g"
# ./configure --prefix=usr
# make
# make install

Самое удивительное, что я сделал $ emerge glib, и... gdb по-прежнему видит исходники! Похоже на сегодня с меня хватит
Gentoo, kernel 2.6.11, Gnome, Sawfish, vim
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: Как поставить пакет вместе с исходниками?

Сообщение xorader »

green_guy, твоя проблема в том, что emerge по умолчанию бинарники strip'ает... тебе нужно это отключить...

копай в сторону "man 5 ebuild" и там ищи по слову strip
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
green_guy
Сообщения: 48

Re: Как поставить пакет вместе с исходниками?

Сообщение green_guy »

FINISHED! B) Дальше разбор полета.
Наконец-то сделал то, из-за чего возникла эта тема, а также тема "Не получается указать ld опцию --export-dynamic" (без ответов) аж от 16.09.2005. А именно, удалось поставить mdk-1.2 (mix development kit). Решение простое, перед ./configure надо сделать

Код: Выделить всё

bash-2.05b$ export CFLAGS="-g -O2 -Wl,--export-dynamic"
Познакомился/узнал ближе: gcc, gdb,ddd, glade, glib, glibc, coreutils, binutils, ebuild ... Очень много было лишних движений. Если кому интересно, могу описать подробнее. Хотя уровень пока чайниковский.
Проблема описана в http://savannah.gnu.org/bugs/?func=detailitem&item_id=13661, и решили ведь раньше меня :) прикольно. Хочу ещё.
Всем спасибо за помощь! Комментарии приветствую.
Gentoo, kernel 2.6.11, Gnome, Sawfish, vim
Спасибо сказали: