Como instalar uma porta mais nova (PHP 5.1) em um release / world mais antigo?

4

No meu servidor FreeBSD (home) eu instalei o 6.2-RELEASE-p8. Isso inclui o PHP 5.1. Eu preciso instalar o PHP 5.2 agora (por causa de uma dependência, 5.3 provavelmente também funcionaria).

Agora a minha pergunta (newbie) é: (como) posso obter a coleção de ports (csup?) para instalar o PHP 5.2 no meu 6.2-RELEASE? Isso é possível? E isso é uma coisa boa (ou pelo menos aceitável) para fazer?

E eu teria que ter um olhar atento sobre as extensões do PHP (por exemplo, php5-gd ou php5-mysql etc.) ou deveria / elas seriam atualizadas automaticamente?

Também gostaria de ter um link para o manual, se disponível. Parece que estou colocando os termos errados nas várias caixas de pesquisa que tentei: (.

EDITAR:

Desculpe pela possível confusão. Eu já usei o csup. Aqui vem o conteúdo do meu atual arquivo de ports:

*default host=cvsup.ch.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELEASE_6_2_0 # Release FreeBSD 6.2
*default delete use-rel-suffix
*default compress
ports-all
    
por scherand 13.07.2010 / 13:30

1 resposta

1
  1. Instale o cvsup

    cd / usr / ports / net / cvsup-sem-gui make install clean

  2. Configure um arquivo CVSUP para a árvore de ports, crie um arquivo com este conteúdo:

    *default tag=.
    *default host=cvsup.FreeBSD.org
    *default prefix=/usr
    *default base=/var/db
    *default release=cvs delete use-rel-suffix
    ports-all
    

    se você quiser atualizar a árvore src, altere a primeira linha para a versão desejada e a última linha como esta:

    *default tag=RELEND_8
    src-all
    

    (Isso seria para a última fonte 8.x-STABLE, altere 8 a 6 para 6.x-STABLE)

  3. Execute o cvsup no arquivo de atualização: cvsup cvsup.file . Espere, levará de 15 a 60 minutos, dependendo do que precisa ser atualizado.

  4. Instale o PHP mais novo na árvore de ports.

    cd /usr/ports/lang/php5 (for 5.3, or php52 for 5.2)
    make install clean
    
  5. Atualize suas extensões php (as mais comuns são coletadas em uma meta-porta):

    cd /usr/ports/lang/php5-extensions
    make config
    [select the extensions you want built from the list]
    make install clean
    
  6. Se isso for para um servidor Apache, talvez seja necessário alterar a configuração. Mas isso depende de como é a configuração.

Links:
Manual - Usando o CVSup
Manual - Usando Portas
Manual - Servidor HTTP Apache (incluindo algumas informações sobre PHP)

Editar:
Há um par de opções. Você pode renomear o diretório atual de ports (preservando-o enquanto você pega uma nova cópia e atualiza o PHP de lá). A vantagem desta rota é a construção de PHP em sua máquina deve resultar em dependências de bibliotecas adequadas já presentes. Além disso, o arquivo cvsup original possui a tag 6.2, o que significa que você só conseguirá as portas que vêm com o 6.2-RELEASE; nada será atualizado. Isso é útil se você quiser fazer o download de uma cópia da árvore de portas original novamente (você pode excluir a árvore de ports e usar o cvsup para fazer o download da coisa toda novamente), mas não é muito útil, pois nada muda.

Uma rota alternativa é baixar os pacotes atualizados e instalá-los manualmente. Há uma boa chance de que isso não funcione porque as bibliotecas compartilhadas estão desatualizadas e precisam usar binários pré-criados; mas definitivamente vai isolar sua árvore de ports atual.

Você pode baixar os pacotes mais recentes do site FTP do FreeBSD . Você precisará php5.tbz (ou php52.tbz), e qualquer uma das extensões que você instalou atualmente (certifique-se de obter a versão correspondente, 5 ou 52, e tenha em mente que 5 é a versão 5.3).

Em seguida, pkd_delete -f [pkg_name] de cada um dos pacotes e reinstale-os a partir dos arquivos do pacote com pkg_add [package.tbz] .

Não sei quais são as diferenças de dependência entre as versões, por isso há uma chance de você ter que atualizar outras portas também (embora eu ache que isso é improvável).

    
por 13.07.2010 / 14:35

Tags