Como recompilar o squid com suporte para delay pools (e outras opcoes) no Fedora Core 9

Eu precisei recentemente de instalar o squid num Fedora Core 9 para poder controlar acessos à internet. O problema é que o RPM do squid no FC9 não vem compilado com suporte para delay pools. Temos que o recompilar para ter esse suporte.

Podiamos simplesmente sacar o codigo fonte e compilar nós mesmos, mas desta forma temos o squid instalado nos locais normais do Fedora.

Requisitos:

  • redhat-rpm-config
  • rpm-build (devido ao seguinte erro: error: cannot create %sourcedir /usr/src/redhat/SOURCES)
  • squid source

Começar por instalar o rpm-devel

yum install rpm-build

Para instalar o squid source temos que usar o yumdownloader, que se encontra no pacote yum-utils

yum install yum-utils

yumdownloader --source squid

Nota: O yumdownloader vai deixar o pacote na directoria onde estivermos

Após o donwload, já podemos instalar

rpm -ivh squid-3.0.STABLE13-1.fc9.src.rpm

Agora, vamos a /usr/src/redhat/SPECS e editamos o ficheiro squid.spec

O ficheiro spec contém todas as opcoes e definições que vão ser usadas quando na compilação do squid (ou na construção do RPM). É aqui que vamos adicionar duas opções:

  • –enable-delay-pools
  • –enable-follow-x-forwarded-for

Acrescentem essas linhas juntamente com as restantes que lá estão. Agora, se reparem, mais abaixo está comentado a dizer que a opção –enable-follow-x-forwarded-for encontra-se não activa. Pesquisando pela Internet, descobri que temos que adicionar um patch ao squid para que isto funcione. O patch encontra-se no site de desenvolvimento do squid, mas podem encontra-lo aqui.

Para aplicar  patch ao RPM, temos que editar o squid.spec e adicionar a seguinte linha junto das que já lá estão. No inicio do ficheiro irão encontrar umas linhas que dizem:

Patch201:  squid-3.0.STABLE1-config.patch

Patch202: squid-3.0.STABLE1-location.patch

(etc…)

No final dessas linhas, adicionamos a nossa:

Patch209: follow_xff.patch

Este ficheiro é o que fizemos download em cima e que vamos colocar em /usr/src/redhat/SOURCES juntamente com os restantes patches que já lá estão.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *