Demorei algum tempo para instalar uma versão mais recente do Apache2.x no meu Mac Os X 10.6.8.
Ao configurar o apache através de ./configure especifiquei o layout Darwin. Este layout assume a configuração do caminho da instalação existente do apache, que é o que eu quero, já que meu objetivo é substituir o antigo.
Executei o make e, claro, o sudo make install.
Eu verifiquei a versão do Apache fazendo
apachetcl -v
e eu consegui
Server version: Apache/2.4.1 (Unix)
Server built: Mar 31 2012 01:52:54
Qual é bom. Mas então aqui está a parte estranha. Eu verifiquei o arquivo httpd.conf 'antigo' em /etc/apache2 e ele tinha uma data de modificação antiga.
Eu realmente não descobri isso até tentar executar o Apache. O Apache tentou carregar algumas extensões que não eram compatíveis com a nova versão.
Isso me levou a verificar o diretório /usr/libexec/apache2 e vi que os módulos não haviam sido modificados recentemente, exceto dois ou três. Essencialmente, sudo make install não substituiu todos os arquivos possíveis.
What is the convention here? Should make install overwrite everything or not?
Presumo que depende apenas de como os desenvolvedores escreveram o script de configuração e o Makefile.
Acabei fazendo alguns rm -rf em qualquer diretório apache existente que eu conhecia antes de executar make install novamente. Depois disso, tudo estava fresco.
Responder1
Você está correto quanto às Makefile
únicas coisas que acontecem são definidas nele ou em scripts complementares que são executados. As "práticas recomendadas" ao atualizar o software da fonte normalmente são usar a uninstall
opção se você não executou make clean
ou excluiu o diretório de instalação da fonte original.
Você deve ter cuidado, caso o programa tenha instalado arquivos fora de /usr/local
você, você pode remover arquivos que foram adicionados pelo gerenciador de pacotes. Freqüentemente, os arquivos de configuração principais, como os do Apache, não são destruídos e simplesmente excluídos durante a instalação, eles podem ou são preservados. Embora nem sempre seja esse o caso. Você pode fazer backup de todos os destinos com a opção -b
ou --backup
para instalar.
Editar:
Olhando para Makefile.in
a versão atual, httpd
parece que vários de seus cp
comandos adicionam a -p
opção que preserva a propriedade e os carimbos de data e hora.