%if no sistema de empacotamento debian
Ae pessoal, Há alguma forma de fazer uma geração de pacotes condicionais? Algo como o %if / %endif do SPEC para o rpm? A necessidade é a seguinte, imagine que eu tenha em um control mais de um package declarado. Mas alguns desses packages só serão gerados caso o host de build tiver alguns requisitos. Isso pq tenho vários hosts que fazem build do mesmo pacote e, em alguns casos, dependendo do host/plataforma, alguns .deb são gerados e outros não. Eu pensei em gerar um control.in e criar umas macros para isso, mas não achei a solução tão elegante. Alguém conhece uma outra forma? abraços, global
Re: %if no sistema de empacotamento debian
Em 24 de maio de 2010 10:06, Tiago Bortoletto Vaz ti...@debian.orgescreveu: Olá Anderson, On Mon, 24 May 2010 09:39:23 -0300, Anderson Goulart wrote Ae pessoal, Há alguma forma de fazer uma geração de pacotes condicionais? Algo como o %if / %endif do SPEC para o rpm? A necessidade é a seguinte, imagine que eu tenha em um control mais de um package declarado. Mas alguns desses packages só serão gerados caso o host de build tiver alguns requisitos. Isso pq tenho vários hosts que fazem build do mesmo pacote e, em alguns casos, dependendo do host/plataforma, alguns .deb são gerados e outros não. Eu pensei em gerar um control.in e criar umas macros para isso, mas não achei a solução tão elegante. Alguém conhece uma outra forma? Como esta é uma situação que confrontaria com a policy (pois de certa forma 'legitimaria' um FTBTS), eu penso que não há uma implementação no Debian, portanto a tua proposta na minha opinião é elegante o suficiente para algo extra-oficial. Só uma pergunta, o que é um FTBTS? Por favor corrijam-me se estiver errado. Abraços, -- Tiago Bortoletto Vaz http://tiagovaz.org 0xA504FECA - http://pgp.mit.edu -- To UNSUBSCRIBE, email to debian-devel-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100524125726.m40...@debian.org
Re: %if no sistema de empacotamento debian
Opa Global. Excerpts from Anderson Goulart's message of Seg Mai 24 11:31:05 -0300 2010: Em 24 de maio de 2010 10:06, Tiago Bortoletto Vaz ti...@debian.orgescreveu: (...) On Mon, 24 May 2010 09:39:23 -0300, Anderson Goulart wrote (...) Há alguma forma de fazer uma geração de pacotes condicionais? Algo como o %if / %endif do SPEC para o rpm? A necessidade é a seguinte, imagine que eu tenha em um control mais de um package declarado. Mas alguns desses packages só serão gerados caso o host de build tiver alguns requisitos. Isso pq tenho vários hosts que fazem build do mesmo pacote e, em alguns casos, dependendo do host/plataforma, alguns .deb são gerados e outros não. Eu pensei em gerar um control.in e criar umas macros para isso, mas não achei a solução tão elegante. Alguém conhece uma outra forma? Como esta é uma situação que confrontaria com a policy (pois de certa forma 'legitimaria' um FTBTS), eu penso que não há uma implementação no Debian, portanto a tua proposta na minha opinião é elegante o suficiente para algo extra-oficial. Só uma pergunta, o que é um FTBTS? Acho que ele quis dizer FTBFS: Fails To Build From Source. Abraços. (...) -- marcot http://wiki.debian.org/MarcoSilva signature.asc Description: PGP signature
Re: %if no sistema de empacotamento debian
Opa, 2010/5/24 Anderson Goulart ander...@goulart.info: Em 24 de maio de 2010 10:06, Tiago Bortoletto Vaz ti...@debian.org escreveu: Olá Anderson, On Mon, 24 May 2010 09:39:23 -0300, Anderson Goulart wrote Ae pessoal, Há alguma forma de fazer uma geração de pacotes condicionais? Algo como o %if / %endif do SPEC para o rpm? A necessidade é a seguinte, imagine que eu tenha em um control mais de um package declarado. Mas alguns desses packages só serão gerados caso o host de build tiver alguns requisitos. Isso pq tenho vários hosts que fazem build do mesmo pacote e, em alguns casos, dependendo do host/plataforma, alguns .deb são gerados e outros não. Eu pensei em gerar um control.in e criar umas macros para isso, mas não achei a solução tão elegante. Alguém conhece uma outra forma? Quais outros critérios além de plataforma você tem? O que você quis dizer com host? Se fosse só plataforma, você poderia restringir utilizando o campo Architecture na declaração dos pacotes mesmo[0]. Em outras palavras, se você só quer garantir que amd64 compila coisas para amd64, é bem simples. Já se você precisa garantir que host foo compila pacote asd e xyz, mas bar só compila zxc e qwe -- tudo a partir de um mesmo fonte X. Quando você mandar o fonte X para outro canto que não seja foo e bar você vai ter um FTBFS para um `set' de pacotes ou outro. Presumo que era disso que o Tiago falava. Como esta é uma situação que confrontaria com a policy (pois de certa forma 'legitimaria' um FTBTS), eu penso que não há uma implementação no Debian, portanto a tua proposta na minha opinião é elegante o suficiente para algo extra-oficial. Só uma pergunta, o que é um FTBTS? FTBFS = Fail To Build From Source. Por favor corrijam-me se estiver errado. Abraços, -- Tiago Bortoletto Vaz http://tiagovaz.org 0xA504FECA - http://pgp.mit.edu -- To UNSUBSCRIBE, email to debian-devel-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100524125726.m40...@debian.org [0] = http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Architecture http://www.debian.org/doc/debian-policy/ch-customized-programs.html#s-arch-spec -- -- Gustavo stratus Franco -- To UNSUBSCRIBE, email to debian-devel-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/aanlktikww-hfmbb33oxssepfczbjs7kxlv1yppov5...@mail.gmail.com
Re: %if no sistema de empacotamento debian
Em 24 de maio de 2010 11:51, Gustavo Franco stra...@debian.org escreveu: Opa, 2010/5/24 Anderson Goulart ander...@goulart.info: Em 24 de maio de 2010 10:06, Tiago Bortoletto Vaz ti...@debian.org escreveu: Olá Anderson, On Mon, 24 May 2010 09:39:23 -0300, Anderson Goulart wrote Ae pessoal, Há alguma forma de fazer uma geração de pacotes condicionais? Algo como o %if / %endif do SPEC para o rpm? A necessidade é a seguinte, imagine que eu tenha em um control mais de um package declarado. Mas alguns desses packages só serão gerados caso o host de build tiver alguns requisitos. Isso pq tenho vários hosts que fazem build do mesmo pacote e, em alguns casos, dependendo do host/plataforma, alguns .deb são gerados e outros não. Eu pensei em gerar um control.in e criar umas macros para isso, mas não achei a solução tão elegante. Alguém conhece uma outra forma? Quais outros critérios além de plataforma você tem? O que você quis dizer com host? Se fosse só plataforma, você poderia restringir utilizando o campo Architecture na declaração dos pacotes mesmo[0]. Não é só arquitetura, mas é uma delas. O que eu queria era montar um source único que fosse capaz de compilar dependendo do que existe na máquina que estou fazendo o build. Por exemplo: Imagine que um certo source deb gere dois pacotes: nome-main e nome-java Mas o nome-java é uma geração condicional. Ele só deve ser gerado caso eu tenha instalado na máquina de build o jdk, por exemplo. A idéia é quase que fazer um debian/control capaz de gerar N pacotes, dependendo de alguma variável de sistema, ou de algum parâmetro que eu especifique. Ou seja, o número de pacotes gerados com o debuild depende do host (qual arquitetura ele é, quais variáveis de ambiente estão configuradas, quais pacotes estão instalados, etc), sempre com uma com uma opção default, que gere ao menos 1 pacote com o mínimo de configuração. Com o RPM eu crio alguns %ifs e consigo com o mesmo source e o mesmo spec gerar o pacote para várias arquiteturas e várias distros (redhat, suse, mandriva, etc). Uma das consequências disso que falei acima seria criar um único source que gerasse pacotes para debian (stable, testing e sid) e para ubuntu. Meu cenário é o seguinte: eu tenho um monte de VM, cada qual com sua configuração e distro instalada. E tenho um script de build que copia o source (no caso atual, src.rpm) para cada VM e automaticamente roda-se o rpmbuild. Como o SPEC é cheio de ifs, ele consegue reconhecer qual distro e qual conf eu tenho em cada máquina de build, gerando um ou mais RPMs para cada uma. Em outras palavras, se você só quer garantir que amd64 compila coisas para amd64, é bem simples. Já se você precisa garantir que host foo compila pacote asd e xyz, mas bar só compila zxc e qwe -- tudo a partir de um mesmo fonte X. Quando você mandar o fonte X para outro canto que não seja foo e bar você vai ter um FTBFS para um `set' de pacotes ou outro. Presumo que era disso que o Tiago falava. Imagino que era essa a idéia colocada por ele. Como parece que essas idéias confrontam com a Policy, isso já foi discutido em algum momento, já que elas poderiam reduzir o trabalho dos matenedores? Como esta é uma situação que confrontaria com a policy (pois de certa forma 'legitimaria' um FTBTS), eu penso que não há uma implementação no Debian, portanto a tua proposta na minha opinião é elegante o suficiente para algo extra-oficial. Só uma pergunta, o que é um FTBTS? FTBFS = Fail To Build From Source. thanks! Abraços, global
Re: %if no sistema de empacotamento debian
On Mon, May 24, 2010 at 11:37:31AM -0300, Marco Túlio Gontijo e Silva wrote: [...] Como esta é uma situação que confrontaria com a policy (pois de certa forma 'legitimaria' um FTBTS), eu penso que não há uma implementação no Debian, portanto a tua proposta na minha opinião é elegante o suficiente para algo extra-oficial. Só uma pergunta, o que é um FTBTS? Acho que ele quis dizer FTBFS: Fails To Build From Source. Isso mesmo. Obrigado, Marco. Abraços, -- .''`. Tiago Bortoletto Vaz GPG : 1024D/A504FECA : :' : http://tiagovaz.org XMPP : tiago at jabber.org `. `' tiago at {tiagovaz,debian}.org IRC : tiago at OFTC `-Debian GNU/Linux - The Universal OS http://www.debian.org -- To UNSUBSCRIBE, email to debian-devel-portuguese-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100524194330.ga2...@debian.org