Как получить листинг из исходниов?

Модератор: Модераторы разделов

Аватара пользователя
a1f
Сообщения: 94
ОС: ====8

Как получить листинг из исходниов?

Сообщение a1f »

Необходимо каким то образом автоматически (программно) получить листинг из исходников, причем зная какой файл где должен лежать после установки относительно корня. Или после make установить программу в псевдо-корень.
Пробовал поиском нашел -

make DESTDIR=$ROOT install
В этом случае нужно знать точное название переменной. Бывает она называется $PREFIX или вообще это может быть набор переменных $sysconfdir $bindir... Да и сами разработчики могут назвать как хотят. Тоесть такой путь не универсальный.

Самостоятельно парсить makefile -> install: очень сложно. (придется писать чуть ли не второй bash)

Есть ли какие то более легкие пути?
Gentoo Linux / Ubuntu Feisty 7.04, 8.04 / Slackware 10.2 / OpenBSD 4.2
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Как получить листинг из исходниов?

Сообщение v04bvs »

a1f писал(а):
14.07.2007 02:14
Необходимо каким то образом автоматически (программно) получить листинг из исходников

Что здесь имеется ввиду? Распечатать на принтере? Отформатировать и показать в браузере? Создать PDF-документ? Вставить в Latex-овский документ?

причем зная какой файл где должен лежать после установки относительно корня. Или после make установить программу в псевдо-корень.

Не понял, что здесь имеется ввиду. Пишите более понятно. Про какой файл идёт речь? Какой корень имеется ввиду? Что такое псевдо-корень?

make DESTDIR=$ROOT install
В этом случае нужно знать точное название переменной.

Подобная информация обычно имеется в файлах README, INSTALL, ./configure --help и т.д.

Бывает она называется $PREFIX или вообще это может быть набор переменных $sysconfdir $bindir... Да и сами разработчики могут назвать как хотят. Тоесть такой путь не универсальный.

Ага, ещё бывает ./VP_Suite_Linux_3_0_sp2_20070612.sh

Самостоятельно парсить makefile -> install: очень сложно. (придется писать чуть ли не второй bash)

И первый исскуственный интеллект, вместре с первыми дровами для первого устройства, призывающего телепатов вернуться из отпуска.

Есть ли какие то более легкие пути?

Я так и не понял, что нужно, но посоветую checkinstall и fakeroot, ориентируясь на набор ключевых слов в вопросе.
Спасибо сказали:
Аватара пользователя
Bruce
Сообщения: 647
Статус: beat maniac
ОС: Debian GNU/Linux 4.0

Re: Как получить листинг из исходниов?

Сообщение Bruce »

checkinstall посмотрите. И его исходники.
Samsung r40 (t5500, 1.5G ram, 80 gb hdd)

koolkhel's lj
Спасибо сказали:
Аватара пользователя
a1f
Сообщения: 94
ОС: ====8

Re: Как получить листинг из исходниов?

Сообщение a1f »

Что здесь имеется ввиду? Распечатать на принтере? Отформатировать и показать в браузере? Создать PDF-документ? Вставить в Latex-овский документ?


скачать сырцы какой то программы. Скормить их программе. Программа должна выдать на экран или в файл
какие файлы и куда установятся при make install типа:

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

/usr/bin/hello
/usr/lib/hello.so
...



Не понял, что здесь имеется ввиду. Пишите более понятно. Про какой файл идёт речь? Какой корень имеется ввиду? Что такое псевдо-корень?

КОРЕНЬ - "/"
Псевдо-корень - сделай configure && make && make DESTDIR="/tmp/PROGA/" install и глянь в содержимое /tmp/PROGA, в данном случае /tmp/PROGA есть псевдо корень. Т.е make install с префиксом. В таком случае Там будут лежать ТОЛЬКО файлы программы из которых можно легко получить листинг, заменив Псевдо-корень реальным корнем.

Подобная информация обычно имеется в файлах README, INSTALL, ./configure --help и т.д.

Получать листинг надо ПРОГРАММНО без участия пользователя. Т.е файлы README и INSTALL отпадают. ./configure --help и вправду содержит переменные installation directories. Всегда ли таким образом можно задать переменные для цели install? Если учитывать автоматически сгенерированные скрипты. (Кол-во людей которые сами пишут makefile для своих проектов сравнительно мало)

Ага, ещё бывает ./VP_Suite_Linux_3_0_sp2_20070612.sh

Мне не выжно какие букофки ты еще знаеш. Есть только архив с сырцами, скриптом configure (его может и не быть) и обязательно makefile.

И первый исскуственный интеллект, вместре с первыми дровами для первого устройства, призывающего телепатов вернуться из отпуска.


;-\
Gentoo Linux / Ubuntu Feisty 7.04, 8.04 / Slackware 10.2 / OpenBSD 4.2
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Как получить листинг из исходниов?

Сообщение v04bvs »

Ну теперь всё понятно.
Итак если не закладываться на редкие варианты, то достаточно mkdir /tmp/myroot && DESTDIR=/tmp/myroot make install && find /tmp/myroot
Если закладываться на редкие варианты, то checkinstall\fakeroot
Последние 2 варианта надёжны на 99%.
Спасибо сказали:
Аватара пользователя
a1f
Сообщения: 94
ОС: ====8

Re: Как получить листинг из исходниов?

Сообщение a1f »

v04bvs писал(а):
15.07.2007 20:56
Ну теперь всё понятно.
Итак если не закладываться на редкие варианты, то достаточно mkdir /tmp/myroot && DESTDIR=/tmp/myroot make install && find /tmp/myroot
Если закладываться на редкие варианты, то checkinstall\fakeroot
Последние 2 варианта надёжны на 99%.


Пробовал make DESTDIR=$myroot install, нисколько не надежно потому что в разных пакетах DESTDIR обзывают PREFIX или несколько переменных bindtr confdir, etc...

Покурил checkinstall...
Решение - installwatch
Gentoo Linux / Ubuntu Feisty 7.04, 8.04 / Slackware 10.2 / OpenBSD 4.2
Спасибо сказали: