criação do pacote debian sem um script de configuração

0

Eu tenho tentado empacotar um projeto de código interno, mas tenho tido problemas. Eu posso criar um pacote, mas os binários reais não são instalados quando eu corro

sudo dpkg -i proj_1.0.0+svn02042014-1_amd64.deb

Espero que isso ocorra porque não há script 'configure' no projeto e nenhuma referência a $ DESTDIR. Em vez disso, ao executar o make install, ele apenas chama um script perl que implanta os arquivos em um diretório especificado no terminal.

Para criar o pacote debian eu tenho feito o seguinte:

tar -pczf proj-1.0.0+svn02042014.tar.gz proj-1.0.0+svn02042014/
dh_make -e [email protected] -f ../proj-1.0.0+svn02042014.tar.gz
dpkg-buildpackage -rfakeroot

Ao executar dpkg --contents proj_1.0.0+svn02042014-1_amd64.deb i, é possível ver claramente que os binários não estão no pacote. As únicas coisas que estão lá são alguns arquivos doc (por exemplo, doc\README )

Suponho que usar dpkg-buildpackage sem um script configure não é possível? É este o caso?

Obrigado pela atenção

Editar:
proj-1.0.0 + svn02042014.tar.gz parece algo como:

proj-1.0.0+svn02042014/  
--Makefile  
--src/  
----install.pl  
----Makefile  
----blah.cpp
    
por ldgorman 03.04.2014 / 14:19

1 resposta

2

Edite seu debian/rules para incluir uma substituição de dh_auto_build e 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

Isso pode exigir algumas modificações, mas a idéia básica é chamar seu Makefile do debian/rules e instalar o binário em /usr/bin .

Nota :

  • espaços antes dos comandos cd e dh serem guias, não os substitua.
  • substitua proj_bin pelo seu nome binário (eu assumi apenas um)
por Sylvain Pineau 03.04.2014 / 17:22