LINUX.ORG.RU

buildrequires, пишу rpm


0

0

Есть бинарник собранный через стандартные ./configure && make как для этого бинарника узнать список buildrequires необходимый для *.spec файла? Оформляю полезную прогу в виде rpm-ки и сам впервые столкнулся с сабжем. Поиск дал ного информации но на вопрос не ответил.

★★★★★

> Есть бинарник собранный через стандартные ./configure && make как для этого бинарника узнать список buildrequires необходимый для *.spec файла?

В общем по бинарю это не поймешь. Надо просто знать, какие библиотеки и инструмены используются при сборке программы, и в каких пакетах они лежат. Многое из этого (не всё) можно понять из configure --help.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Итак решение сабжа:
[CODE=con]> ldd /bin/bash
        linux-gate.so.1 =>  (0xffffe000)
        libreadline.so.5 => /lib/libreadline.so.5 (0xb7eb3000)
        libhistory.so.5 => /lib/libhistory.so.5 (0xb7eab000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7e64000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7e60000)
        libc.so.6 => /lib/libc.so.6 (0xb7d31000)
        /lib/ld-linux.so.2 (0xb7f0a000)
> rpm -qf /lib/libreadline.so.5
readline-5.1-55
> rpm -qf /lib/libhistory.so.5
readline-5.1-55
> rpm -qf /lib/libncurses.so.5
ncurses-5.5-42
> rpm -qf /lib/libdl.so.2
glibc-2.5-25
> rpm -qf /lib/libc.so.6
glibc-2.5-25
> rpm -qf /lib/ld-linux.so.2
glibc-2.5-25[/CODE]

Теперь соображаю как бы автоматизировать это дело!

init_6 ★★★★★
() автор топика
Ответ на: комментарий от init_6

> Итак решение сабжа:

Это (в лучшем случае!) половина решения для частного случая. Например, статически вкомпилированная либа таким образом просто не проявится. Компилятор и binutils - тоже, не говоря о вещах типа make, docbook и т.д. Это не говоря о том, что тебе нужен не readline, а readline-devel.

> Теперь соображаю как бы автоматизировать это дело!

Тебе лучше бы матчасть подучить - то, что ты собираешься автоматизировать, давно уже автоматизировано. Так RPM вычисляет зависимости вида Requires при указанном теге AutoReqProv. Заметь - именно Requires, _не_ BuildRequires.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Это (в лучшем случае!) половина решения для частного случая. Это первое что пришло в голову.

>Тебе лучше бы матчасть подучить Согласен. Я это вчера и делал. У меня вчера можно сказать состоялся дебют! И главное это то что rpm создана. Сегодня буду полировать.

tailgunner большое спасибо за ценный совет!

init_6 ★★★★★
() автор топика
Ответ на: комментарий от init_6

Если тебе просто нужно упаковать совтину в RPM, то юзай checkinstall. Если ты хочешь всерьез освоить RPM, то читай "Maximum RPM" или хотя бы Mandrake RPM howtoю

tailgunner ★★★★★
()
Ответ на: комментарий от init_6

>[CODE=con]> ldd /bin/bash

Этой командой ты получишь Requires, а не BuildRequires. Вобще говоря, ты велосипед изобретаешь, потому что программа, которая выводит список BuildRequires уже есть и активно и давно используется в ALT Linux (про другие дистры не скажу). Называется она buildreq и входит в пакет rpm-utils. Исходники можешь глянуть здесь: http://git.altlinux.ru/people/ldv/packages/?p=rpm-utils.git;a=blob;f=rpm-util...

php-coder ★★★★★
()

для какого дистрибутива то спек пишешь?

luch
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.