Всем доброго времени суток.
Решил значит попробовать собрать FlightGear 2.0.0, но собрать в deb и поставить в рамках Debian way. Одна из зависимостей FlightGear является SimGear, который так же нужен версии 2.0.0. Соответственно для сборки пакета FlightGear нужно собрать и установить dev пакет SimGear, что я и попытался сделать.
Последовательность действий:
- распаковал SimGear;
- в каталоге вызвал dh_make -r (выбрал тип создаваемого пакета library);
- во вновь созданном каталоге debian поправил файлы control, rules, changelog;
- из каталога с исходниками вызвал debuild.
Собственно пакеты собрались. Два: один обычный, другой dev. Но вот что непонятно, в пакетах по сути ничего нет, кроме некоторых "информационных" файлов типа манов и ридми.
ЗЫ: SimGear собирается в статические библиотеки. Вчера покурил http://www.netfort.gr.jp/~dancer/column/li...bpkg-guide.html, но мало что вынес для себя оттуда.
Собственно ЧТЯДНТ? И куда мне копать?
Спасибо!
Решено: сборка *-dev пакета
Модераторы: Warderer, Модераторы разделов
-
Alex2ndr
- Сообщения: 443
- ОС: Debian Lenny
Re: Решено: сборка *-dev пакета
Попробую помочь, но скажу честно что собирал в deb только свои поделки на питоне. Dev вообще не собирал.
У меня было такое - собирается в пустой пакет. Все дело было в том, что в debian/rules не были нормально прописаны действия для build и install. Проверяйте, что у вас в этом файле. Также в нем же можно раскоментировать отладку:
затем запустить сборку и выложить сюда все что он выведет. Может тогда будет яснее. В принципе там по ходу сборки очень подробно описывается что делается. Если вы разбираетесь в структуре программы, то должны понять что делается не так.
У меня было такое - собирается в пустой пакет. Все дело было в том, что в debian/rules не были нормально прописаны действия для build и install. Проверяйте, что у вас в этом файле. Также в нем же можно раскоментировать отладку:
Код: Выделить всё
#export DH_VERBOSE=1затем запустить сборку и выложить сюда все что он выведет. Может тогда будет яснее. В принципе там по ходу сборки очень подробно описывается что делается. Если вы разбираетесь в структуре программы, то должны понять что делается не так.
-
neol
- Сообщения: 600
- ОС: Debian Stable
Re: Решено: сборка *-dev пакета
В имя_пакета-dev.install нужно прописать какие файлы нужно копировать. Должно быть что-то типа
В имя_пакета.install аналогично запихиваются бинарники, *.so и конфиги
Код: Выделить всё
usr/include/*
usr/lib/lib*.a
usr/lib/*.laВ имя_пакета.install аналогично запихиваются бинарники, *.so и конфиги
-
digiwhite
- Сообщения: 5
- ОС: GNU Linux
Re: Решено: сборка *-dev пакета
Ну пока что результаты такие-же.
Привожу содержимое конфигов и лог сборки:
Содержимое остальных файлов не привожу, т.к. думаю, что оно не играет особой роли. Судя по выводимой информации, все собирается и все нормально, но пакеты получаются пустыми (пакет содержит только файлы, устанавливаемые в /usr/share/simgear-dev/doc).
Привожу содержимое конфигов и лог сборки:
- Содержимое файла debian/control
http://www.everfall.com/paste/id.php?bddzjgp37gof
- Содержимое файла debian/rules
http://www.everfall.com/paste/id.php?551201vfotmu
- Содержимое файла debian/simgear1.install
Код: Выделить всё
usr/lib/lib*.so.*
- Содержимое файла debian/simgear-dev.install
Код: Выделить всё
usr/include/* usr/lib/lib*.a usr/lib/lib*.so usr/lib/pkgconfig/* usr/lib/*.la usr/share/pkgconfig/*
- Лог сборки: http://www.everfall.com/paste/id.php?1759r8wmrvyh
Содержимое остальных файлов не привожу, т.к. думаю, что оно не играет особой роли. Судя по выводимой информации, все собирается и все нормально, но пакеты получаются пустыми (пакет содержит только файлы, устанавливаемые в /usr/share/simgear-dev/doc).
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: Решено: сборка *-dev пакета
Код: Выделить всё
dh_installdirs
install -d debian/simgear-dev
install -d debian/simgear-dev/usr/lib debian/simgear-dev/usr/include
install -d debian/simgearА потом:
Код: Выделить всё
/usr/bin/make DESTDIR=/home/digiwhite/tmp/simgear-2.0.0-dev/debian/tmp installМои розовые очки
-
digiwhite
- Сообщения: 5
- ОС: GNU Linux
Re: Решено: сборка *-dev пакета
watashiwa_daredeska писал(а): ↑05.03.2010 19:51Код: Выделить всё
dh_installdirs install -d debian/simgear-dev install -d debian/simgear-dev/usr/lib debian/simgear-dev/usr/include install -d debian/simgear
А потом:Вот в каталогах и проблема.Код: Выделить всё
/usr/bin/make DESTDIR=/home/digiwhite/tmp/simgear-2.0.0-dev/debian/tmp install
Вы могли бы несколько шире объяснить?
Да, вопрос: debuild выполнять в каталоге debian, созданным через dh_make или на уровень выше (как я щас делал)?
-
digiwhite
- Сообщения: 5
- ОС: GNU Linux
Re: Решено: сборка *-dev пакета
digiwhite писал(а): ↑05.03.2010 21:30watashiwa_daredeska писал(а): ↑05.03.2010 19:51Код: Выделить всё
dh_installdirs install -d debian/simgear-dev install -d debian/simgear-dev/usr/lib debian/simgear-dev/usr/include install -d debian/simgear
А потом:Вот в каталогах и проблема.Код: Выделить всё
/usr/bin/make DESTDIR=/home/digiwhite/tmp/simgear-2.0.0-dev/debian/tmp install
Вы могли бы несколько шире объяснить?
Да, вопрос: debuild выполнять в каталоге debian, созданным через dh_make или на уровень выше (как я щас делал)?
С этим вопросом все таки кажется разобрался. По крайней мере, теперь в пакете библиотеки и заголовочные файлы лежат. Спасибо всем за помощь.
Ситуация исправилась, когда в файле debian/rules поменял строчку:
Код: Выделить всё
$(MAKE) DESTDIR=$(CURDIR)/debian/tmp installна
Код: Выделить всё
$(MAKE) DESTDIR=$(CURDIR)/debian/<package-name> install