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
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@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@gmail.com
renato.diogo@yahoo.com.br