LabExposed

BSD, Linux e software livre em geral.

PortEasy: Gerencia De Ports No FreeBSD

| Comments

Estes dias eu estava precisando efetuar um downgrade em um port especifico e dentro de uma Jail e de inicio pensei em usar o portdowngrade (já o tinha utilizado antes para essa tarefa) quando me esbarrei na limitação que o meu repositorio de ports dentro da Jail era ready-only e não queria ter todo o trabalho de recriar um na Jail só para fazer downgrade de um port.

Então resolvi dar uma fuçada em /usr/ports/ports-mgmt e nessa busca encontrei o porteasy, que me ajudou nessa tarefa e me chamou atenção.

Ele trabalha direto com o cvs da arvore de ports do FreeBSD, lhe proporcionando escolher uma tag ou período da arvore que você quer usar, além de trazer para a sua máquina somente o que você realmente necessita.

Segue uma tradução do pkg-desc do porteasy:

Porteasy permite você instalar um port e construir pacotes sem precisar manter uma arvore completa do ports em sua máquina. Ele faz uma varredura nos índices do port que você quer instalar e procura por dependências para satisfazer o port e ele usa o CVS para atualizar estas informações e requisitar os arquivos.

Abaixo algumas coisas que o porteasy pode fazer por você:

  • Atualiza automaticamente os arquivos necessários para o seu port (e somente os arquivos necessários) utilizando CVS (incluindo suporte à anoncvs)
  • Lista todas as dependências do port, opcionalmente oculta o que já estão instalados.
  • Efetua o download de todos os distfiles necessários de forma correta e uma só vez, para que você não tenha que esperar pela construção de uma dependência antes de pegar um distfile, Usuários de conexão dial-up adoram isso.
  • Constroi e instala os ports de forma arbitraria.
  • Constroi pacotes

Eu encontrei um post que me ajudou bastante a entender o funcionamento do porteasy, de qualquer forma vou resumir o uso do mesmo abaixo:

Configure o repositorio CVS:

setenv CVSROOT :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
touch /root/.cvspass
cvs login
(password is anoncvs)

Opcionalmente, crie um repositorio alternativo ao seu (/usr/ports) e baixe a estrutura do mesmo:

mkdir /tmp/ports
cd /tmp
cvs checkout -A -P -l ports/Mk

Agora você pode instalar o ports que necessitar, vou citar um exemplo:

Quero instalar o php5 mas usando um versão do ports de 6 meses atrás:

porteasy -p /tmp/ports -D '6 months ago' -v -u lang/php5

Espero que esse artigo possa te ajudar.

Abraços

Comments