[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dúvidas empacotamento



Em Wed, 16 Jun 2004 09:15:58 -0300 (BRT),
"Tiago Bortoletto Vaz" <tiagovaz@im.ufba.br> escreveu:

> Caros,
> 
> empacotar certinho de acordo com as politicas do Debian eh desafiador! 
Nem tanto =)

> Mas isso que eh legal. Vamos lah:
> 
> 1) Ao executar o dpkg-buildpackage -uc -us -rfakeroot o erro abaixo eh
> retornado:

> ++++++++++++++++++++++++++++++++++++
> make[1]: Entering directory
> `/home/estudantes/estd-cc/tiagovaz/DEBIAN/BBCLONE/bbclone-0.4.1'
> install -d /usr/share/bbclone /usr/share/bbclone/var
> /usr/share/bbclone/conf /usr/share/bbclone/doc /usr/share/bbclone/lib
> /usr/share/bbclone/images /usr/share/bbclone/language
> /usr/share/bbclone/ip2ext
>install: nao e possivel criar o diretorio `/usr/share/bbclone': Permissao negada
> ...
> make[1]: ** [install] Erro 1
> ++++++++++++++++++++++++++++++++++++

Não to vendo o programa nem o pacote, então não dá pra afirmar nada com
certeza, mas sugiro que você dê uma olhada no FHS, e preste atenção a
onde você está colocando libs, arquivos de configuração, etc.

> Ok, esta tentando escrever no /usr/share/ e nao tem permissao.

Isso é lógico. É justamente pra esse tipo de erro não afetar o seu
sistema que não se compila pacotes como root. Ele tem que gravar na
árvore do pacote, não no seu /.

> Mas acontece que meu arquivo rules tem:
> 
> $(MAKE) install DESTDIR=$(CURDIR)/debian/bbclone
>

Isso só adianta se o makefile "entender" o DESTDIR, o que não é muito
comum. Você tem duas opções: ou modificar o Makefile pra entender o
DESTDIR e usá-lo, ou usar algo que o Makefile já entenda, como --prefix
ou algo assim.

> e pq ele tah tentando escrever no /usr/share? nao era somente pra ele
> criar o ./debian/bclone/usr/share/bbclone?

Porque ele não sabe o que fazer com o DESTDIR que você passou.

> 
> 2) Os docs devem ficar sempre que possivel no /usr/share/doc/PROGRAMA nao
> eh isso? Como faco isso na criacao do pacote? Sei que o debhelper cria um
> arquivo chamado `docs`. Cheguei a editar nele o path dos arquivos que
> queria que ficasse no /usr/share/doc/PROGRAMA mas nao funcionou. Soh
> colocou o `copyright` e o `changelog`.

Ué. Do mesmo jeito. Dá um jeito da documentação ser jogada em
debian/pacote/usr/share/doc/pacote/. Isso pode ser simplificado
colocando o nome do arquivo no debian/docs pro debhelper jogar lá pra
Não o path completo, claro: o nome do arquivo a partir do source. Se eu
tenho um stratagus-2.0/docs/README, eu vou colocar "docs/README" no
stratagus-2.0/debian/docs.

> 
> 3) O changelog que vai no .deb deve ser o original do pacote ou as
> modificacoes do mantenedor? Ou os dois?
> 

Os dois. O debian/changelog é, obviamente, obrigatório, já que ele
carrega informações de alterações, quais bugs são fechados pelo pacote,
a urgência do upload, etc. O changelog do programa em si também deve ser
incluído, caso haja um e, se não houver, é obrigação do mantenedor
encher o autor pra criar um :) Eles vão ficar no /usr/share/doc/pacote,
respectivamente, como changelog.Debian.gz e changelog.gz

--
Guilherme de S. Pastore (fatalerror)
<gpastore@colband.com.br>



Reply to: