Создание пакета debian без скрипта настройки
Я пытался упаковать проект с внутренним кодом, но у меня возникли проблемы. Я могу создать пакет, но фактические двоичные файлы не устанавливаются при запуске
sudo dpkg -i proj_1.0.0+svn02042014-1_amd64.deb
Я ожидаю, что это потому, что в проекте нет сценария 'configure' и нет ссылки на $DESTDIR. Вместо этого при запуске make install он просто вызывает Perl-скрипт, который развертывает файлы в каталог, указанный на терминале.
Чтобы создать пакет Debian, я делал следующее:
tar -pczf proj-1.0.0+svn02042014.tar.gz proj-1.0.0+svn02042014/
dh_make -e blah@blah.com -f ../proj-1.0.0+svn02042014.tar.gz
dpkg-buildpackage -rfakeroot
При беге dpkg --contents proj_1.0.0+svn02042014-1_amd64.deb Я ясно вижу, что двоичные файлы не входят в пакет. Единственное, что там есть, это некоторые документы (т.е. doc\README)
Я предполагаю, что используя dpkg-buildpackage без configure сценарий не возможен? Это тот случай?
Спасибо за внимание
Редактировать:
proj-1.0.0 + svn02042014.tar.gz выглядит примерно так:
proj-1.0.0+svn02042014/
--Makefile
--src/
----install.pl
----Makefile
----blah.cpp
1 ответ
Отредактируйте свой debian/rules включить переопределение dh_auto_build а также dh_auto_install:
#!/usr/bin/make -f
%:
dh "$@"
override_dh_auto_build:
cd $(CURDIR) && make
override_dh_auto_install:
cd $(CURDIR) && make install
cd $(CURDIR) && cp ./proj_bin debian/proj/usr/bin
dh_install
Это может потребовать некоторых модификаций, но основная идея - вызвать ваш Makefile из debian/rules и установите бинарный файл в /usr/bin,
Примечание:
- пробелы перед
cdа такжеdhКоманды - это вкладки, не заменяйте их. - замещать
proj_binпо вашему двоичному имени (я предполагал только одно)