Estou tentando criar um pacote debian muito simples. Eu tenho dois arquivos, main_file
e functions
, ambos são shell scripts, functions
é originado por main_file
. Não há dependências em nenhum pacote externo, o código simplesmente usa echo
.
Eu tenho um Makefile
semelhante a este:
install:
cp main_file $(DESTDIR)/usr/bin/main_file
cp functions $(DESTDIR)/usr/bin/functions
Eu também tenho um arquivo de controle no diretório debian, que se parece com isto:
Source: ad
Section: unknown
Priority: extra
Maintainer: James Kelly <[email protected]>
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.3
Homepage: <insert the upstream URL, if relevant>
Package: ad
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Just messing around
Playing with debian packages
Eu tenho um arquivo tar.gz no diretório acima do que contém o código e a pasta debian contendo o código e o Makefile
.
Se eu executar $ dpkg-depcheck -d ./configure
, recebo um erro:
strace: ./configure: command not found
Running strace failed (command line:
strace -e trace=open,execve -f -q -o /tmp/depchwOSqtO ./configure
Eu não acho que isso importaria, pois não há dependências, então se eu executar dpkg-buildpackage -rfakeroot
, recebo um erro:
dh_auto_clean
dh_auto_clean: failed to write to debian/ad.debhelper.log: Permission denied
END failed--call queue aborted.
make: *** [clean] Error 13
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2
Por fim, se eu executar sudo dpkg-buildpackage -rfakeroot
, o processo é mais avançado, mas, em seguida, ocorre um erro:
dh_auto_install
make[1]: Entering directory '/home/james/Dummy_Debian/ad-1.0'
cp main_file /home/james/Dummy_Debian/ad-1.0/debian/ad/usr/bin/main_file
cp: cannot create regular file '/home/james/Dummy_Debian/ad-1.0/debian/ad/usr/bin/main_file': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory '/home/james/Dummy_Debian/ad-1.0'
dh_auto_install: make -j1 install DESTDIR=/home/james/Dummy_Debian/ad-1.0/debian/ad returned exit code 2
make: *** [binary] Error 29
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
Eu tenho batido minha cabeça contra isso durante todo o dia e eu sinto que é provavelmente algo simples que eu estou fazendo errado, se alguém pudesse me dar alguma ajuda eu seria eternamente grato!
EDITAR:
Meu arquivo de regras está aqui:
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@
e um link para um arquivo zip contendo meu código de amostra