[CentOS-pt-br] Re: [Fedora-users-br] Criar pacote RPM, modsecurity

Renato de Oliveira Diogo rdiogo01 em yahoo.com.br
Sábado Agosto 25 02:43:56 UTC 2007


Olá pessoal

olha eu denovo aqui. Bom, achei outro erro no spec que estou me baseando. O
trecho está logo abaixo:

===
          perl -e "undef $/; while (<>) {
s#^(LoadModule.*?)\n\n#$1\nLoadFile %{_libdir}/libxml2.so\nLoadModule
unique_id_module modules/mod_unique_id.so\nLoadModule security2_module
modules/mod_security2.so\n\n#mgs; print; }" > \
         /etc/httpd/conf/httpd.conf.rpmnew
===

Este trecho consiste em ler o arquivo httpd.conf original, e inserir no
httpd.conf as seguintes linhas:
 LoadFile /usr/lib/libxml2.so
 LoadModule unique_id_module modules/mod_unique_id.so
 LoadModule security2_module modules/mod_security2.so

Porém este trecho apaga todos os LoadModule já existente inserindo somente
as linhas acima.

Alguem pode me ajudar?

[]s


On 8/24/07, Renato de Oliveira Diogo <rdiogo01 em yahoo.com.br> wrote:
>
> Olá Gustavo,
>
> em relação aos headers mais antigo não é este o problema, pois eu tinha
> testado colocar o caminho direto, como sugerido pelo Eduardo. Outra coisa,
> como é um servidor é novo, aproveitei para colocar o ultimo release do
> modsecurity.
>
> []s
>
> Eduardo,
> também achei esquisito este trecho e tinha testado já como vc disse,
> colocar o define direto, sem a condicional (e funcionou). Mas como eu queria
> manter o código do spec original (exceto pela mudança de versão).
> Como ainda não entendi muito bem as macros do %if então fiquei curioso
> Mas farei isto então... Muito obrigado pela atenção de todos.
>
> Obs.: sabe explicar como funciona as cláusulas que começam com % ?
> []s
>
> On 8/24/07, Eduardo Habkost <ehabkost em raisama.net> wrote:
> >
> > On Thu, Aug 23, 2007 at 11:34:16PM -0300, Renato de Oliveira Diogo
> > wrote:
> > [...]
> > > %if %(if [ -f "/etc/httpd/build/special.mk" ]; then echo 1 ; elif [ -f
> > > "/usr/lib/httpd/build/special.mk" ]; then echo 2 ; else echo -1; fi)
> > >        %define _apacheroot /etc/httpd
> > > %else
> > >         %define _apacheroot /usr/lib/httpd
> > > %endif
> > > ==
> > >
> > > Pelo que vi aqui, ele deve retornar o valor para entrar no else
> > (%define
> > > _apacheroot /usr/lib/httpd), porém isto não ocorre.
> >
> > Não sei o que o autor do %if tinha em mente, mas do jeito que está
> > escrito, ele nunca vai entrar no %else, porque tanto "1", quanto "2"
> > quanto "-1" são considerados como 'true' ao avaliar o %if.
> >
> > Você pode:
> >
> > - Consertar o texto dentro do %(if ...) para fazer 'echo 0' no caso em
> > que
> >   tenha que entrar no %else; ou
> > - Remover tudo e deixar apenas a linha %define _apacheroot
> > /usr/lib/httpd
> >   (caso você decida que o %if não é importante e o seu pacote vá
> > funcionar
> >   se você usar /usr/lib/httpd incondicionalmente)
> >
> > --
> > Eduardo
> >
>
>
>
> --
> ________________________________________________
> Renato de Oliveira Diogo
>
> Bacharel em Ciência da Computação
> UNESP - Bauru
>
> renato.diogo em gmail.com
> renato.diogo em yahoo.com.br
>



-- 
________________________________________________
Renato de Oliveira Diogo

Bacharel em Ciência da Computação
UNESP - Bauru

renato.diogo em gmail.com
renato.diogo em yahoo.com.br
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.centos.org/pipermail/centos-pt-br/attachments/20070824/92311e72/attachment.htm


Mais detalhes sobre a lista de discussão CentOS-pt-br