checkinstall

Изображение пользователя Soi-Fong.

Ставлю программу из исходников (ngspice называеца), пишу
./configure - вроде сконфигурил, по крайней мере ошибок не выдал
make - вроде собрал, тоже ошибок не было
sudo checkinstall - **** Установка неудачна. Отменяется создание пакета.
выдавал ошибки типа "make: *** [install-recursive] Error 1", "make[4]: *** [install-am] Error 2", "make[5]: *** [install-pkglibLIBRARIES] Error 1"

в чем проблема? вообще последовательность команд правильная? что ни собираю, постоянно на чекинсталле одинаковая фигня.

0
chain - 14 Май, 2008 - 23:57

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

вобще проверь для начала полностью с установкой и без изменения системы, для этого при конфигурации укажи какую-нибудь директорию в домашней:
./configure --prefix=/полный/путь/к/директории
вобще список параметров можно и желательно всегда перед сбокрой посмотреть
./configure --help

после этого смело без судо собирай и ставь:
make
make install

если все ок, то можно пакет собирать, вначале чистим тестовую сборку
make uninstall
make clean

потом переконфигурируем и собираем, но я предпочитаю без судо, чтобы только пакет собрался
./configure
make
fakeroot checkinstall

в конце ругнется, что пакет не поставился, но нам нужна была только сборка, можно ответить 'Y', посмотреть сообщение о неуспешной установке, нажать 'Q' для выхода их просмотра сообщения и сборка завершится.

если с checkinstall проблемы, попробуй пакет по другому собрать, я вкратце без построения дерева зависимостей расскажу

Понадобятся пакеты fakeroot (я уже о нем говорил), dh-make, debhelper, devscripts
Нам нужен исходник скажем это ngspice-1.1 в архиве ngspice-1.1.tar.bz2 и в распакованном виде с именем директории ngspice-1.1. То есть в текущей директории проекта архив и одноименная директория. заходим в нее
cd ngspice-1.1
конфигурируем
./configure
и запускаем dh_make
dh_make -e [email protected] -f ../ngspice-1.1.tar.bz2

нас спрашивают о типе пакета одиночный, несколько пакетов, библиотека и тд. пусть будет single
тебе выкинет инфо о сборке и о необходимости поправить несколько файлов плюс создастся директория debian
входим в нее и правим control
cd debian
nano control

в открывшемся файле (я повторяю, про проверку зависимостей не заморачиваемся, если ставим для себя, если сборка успешная, то все и так стоит), правим если нужно некоторые строки, все в принципе наглядно
в Section: пишем куда относится (games, internet... и тд)
в остальных параметрах ничего критичного, единственно, если править последнюю строку с long description обрати внимание что вначале стоит пробел, его не убирать

еще можно, но если для себя не обязательно править changelog, copyright. README.debian можно просто удалить.
Возвращаемся в корневую директорию будущего пакета
cd ../

теперь сборка пакета. если надо еще пакет с исходником то собираем так
dpkg-buildpackage -rfakeroot

если достаточно просто пакета с приложением. то можно так
fakeroot debian/rules binary

выглядит длинно, но на самом деле процесс занимает минуты, если не заниматься подготовкой официального релиза

0
chain - 15 Май, 2008 - 15:16

хех, ткнулся на форуме убунту в сборку пакетов, там все есть, за мелкими иcключениями, скажем по сборке без сурс пакета, но более подробно
http://forum.ubuntu.ru/index.php?topic=11609.0
хотя, просмотрев понял, что ненамного подробнее) и вот это непонятно:

второй момент это поправить файл debian/rules
в секции binary-arch:
нужно раскомментировать
Код:

dh_install

(т.е. убрать # в начале строки)
без этого мы получим пустой пакет.

все и без этого отлично собирается

попробовал собрать этот ngspice, с chtckinstall и правду нифига не идет, кстати где-то читал что версия в репах с багом, нормально работает предыдущая, но не проверял

вот после таких команд сборка проходит успешно

aclocal
./autogen.sh
./configure --enable-maintainer-mode --prefix=/usr
dh_make -e [email protected] -f ../ng-spice-rework-17.tar.gz
fakeroot debian/rules binary

aclocal - потому что на него autogen ругался, параметры configure из readme плюс, по умолчанию, установка в /usr/local, я сделал в /usr
ну и правка control еще была, легкая.

когда проверял нет ли такого в репозиториях, его не нашел, зато обнаружил gui - gspiceui
можно с ним потом работу проверить

вот пакет готовый, если интересно
http://narod.ru/disk/335104000/ng-spice-rework_17-1_i386.deb.html

0
Soi-Fong - 15 Май, 2008 - 18:58
Изображение пользователя Soi-Fong.

Спасибо.
Вот именно, что гуй к нему есть, а самого нгспайса нет. Мне он по учебе нужен, версию под дос юзать не хочется, к тому же линуксовая еще и с гуем.

0
chain - 15 Май, 2008 - 18:56

работает хоть?) я в тестовой сборке бинарник запускал, запускается без ошибок, но что с ним делать лень было разбираться)

0
Soi-Fong - 15 Май, 2008 - 20:35
Изображение пользователя Soi-Fong.

В общем собрал я его в пакет. Первая прога, которую собрал, и она заработала)
Сделал так:
aclocal
./autogen.sh
./configure --prefix=/usr
dh_make -f ../ng-spice-rework-17.tar.gz
fakeroot debian/rules binary

--enable-maintainer-mode нужно было для сырцов из CVS, как написано в INSTALL,
мыло не указывал, дескрипшены тоже, все равно для себя собираю, debian/control вообще не трогал.
с --prefix=/usr и правда удобнее, а то запускалось только с указанием полного пути.
Походу в дебианах лучше использовать dh_make, а не checkinstall. Наверное, так можно собрать что угодно из исходников в .деб. Я вот тока не понял, зачем ему архив с исходниками нужен был..

Спасибо за помощь.

0
chain - 15 Май, 2008 - 21:37

поздравляю)
на базе архива он diff и orig делает насколько я понял

0
Chibiko - 12 Январь, 2014 - 00:12
Изображение пользователя Chibiko.

Эм.... не сочтите за нуба.. собрал не один пакет. Но вот мне понадобился packet-dev сделать....
А я что-то нигде не могу найти информацию по этому поводу. Вот сейчас собрал ogresdk, а к нему надо бы ещё ogresdk-dev... Вот последний как ручками сделать? Или ножками? -___-
dh_make -r не берёт. Вообще. Пишет каку:

dh_make -r
Option r requires an argument
dh_make - prepare Debian packaging for an original source archive, version 0.61

уже весь инет перерыл.... Ну вот нинаю как... подтолкните что-ли....
ЗЫ Исходники для cmake

0
MacLeod - 12 Январь, 2014 - 04:02
Изображение пользователя MacLeod.

Ну, какбэ, в теории, один архив с исходниками, в нем инструкции по лепке двух пакетов. Сам не делал, но думаю стоит рассмотреть пример, скачав через apt-get source что-то вроде libglew.

0
mft - 12 Январь, 2014 - 08:10

Вот это почитай. И чуть выше есть "Руководство нового сопровождающего Debian".

Отправить комментарий