Re: Pacote uploaded (dúvida empacotamento)
Em Fri, 18 Jun 2004 17:53:27 -0300, "Guilherme de S. Pastore"
<gpastore@colband.com.br> escreveu:
> Quanto ao debian/dirs, que que você vai fazer com usr/bin e usr/sbin se
> o seu pacote é 'Architecture: all'? Se ele tem binários pra ir nesses
> diretórios, ele é arch-specific, ou seja: 'Architecture: any'.
Não necessariamente... pode ser um script shell ou um script perl,
e aí é Arch: all.
> (dbuild é um alias pra dpkg-buildpackage -us -uc -rfakeroot)
Não é um alias, é um script que facilita o processo (wrapper).
> Vê o meu último e-mail sobre o Makefile não entender o que é o DESTDIR.
> E, principalmente, olhe o Makefile do seu pacote pra ver o que ele faz
> e como =) Ele não teve nem tempo de chamar o make install, então ele tá
> fazendo isso antes. Só fuçando no Makefile pra descobrir =)
O caso é o seguinte... o make, quando você chama ele, procura o primeiro
alvo do 'Makefile' e executa... no caso do Makefile do bbclone...
------------ QUOTE
BSHELL = /bin/bash
# Edited for Debian GNU/Linux.
DESTDIR =
BBCLONE_DIR = $(DESTDIR)/usr/share/bbclone
VAR = $(BBCLONE_DIR)/var
CONF = $(BBCLONE_DIR)/conf
DOC = $(BBCLONE_DIR)/doc
LIB = $(BBCLONE_DIR)/lib
IMAGES = $(BBCLONE_DIR)/images
LANGUAGE = $(BBCLONE_DIR)/language
IP2EXT = $(BBCLONE_DIR)/ip2ext
install:
install -d $(BBCLONE_DIR) $(VAR) $(CONF) $(DOC) $(LIB) $(IMAGES)
$(LANGUAGE) $(IP2EXT) install *.php $(BBCLONE_DIR)
install var/* $(VAR)
install conf/* $(CONF)
install doc/* $(DOC)
install lib/* $(LIB)
install images/* $(IMAGES)
install language/* $(LANGUAGE)
install ip2ext/* $(IP2EXT)
------- QUOTE
... a primeira e única regra é install... então, durante o processo
de compilcação do pacote, quando o alvo 'build' do debian/rules é
chamado:
------- QUOTE
build: build-stamp
build-stamp: configure-stamp
dh_testdir
# Add here commands to compile the package.
$(MAKE)
#/usr/bin/docbook-to-man debian/bbclone.sgml > bbclone.1
touch build-stamp
------- QUOTE
Ele chama, logicamente, o alvo 'install' do Makefile sem especificar
DESTDIR. Solução: remover aquele '$(MAKE)' do build-stamp, já que
não tem nada pra 'compilar' nesse pacote. Eu não lembro de cabeça
agora se 'build' é um alvo exigido para o rules... era bom olhar
isso na policy e simplesmente tirá-lo se não for.
Depois dessa modificação o pacote construiu beleza aqui, mas tem
um bocado de problemas. Pra começar, todos os arquivos tão sendo
instalados como executáveis (deve ser o padrão do install, tem
de passar opção -m 644), e o lintian cuspiu mais algumas linhas:
W: bbclone source: maintainer-script-lacks-debhelper-token debian/postinst
W: bbclone source: maintainer-script-lacks-debhelper-token debian/postrm
W: bbclone source: out-of-date-standards-version 3.6.0
[... um monte de linha falando dos executáveis ...]
W: bbclone: description-synopsis-might-not-be-phrased-properly
W: bbclone: wrong-name-for-upstream-changelog
usr/share/doc/bbclone/changelog.txt.gz
Abraço!
--
Gustavo Noronha Silva <kov@debian.org> | http://beterraba.no-ip.org/~kov
Debian Developer: http://www.debian.org/ | http://www.debian-br.org/
Brazilian GNOME Translation Effort: http://gnome-br.sourceforge.net/
Reply to: