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

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: