FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - Adote um PORT
 
08.07  
Inicio arrow Artigos arrow Adote um PORT
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Adote um PORT PDF Imprimir E-mail
Por Marcelo Araujo   
03/02/2007
ImageQuando vamos explicar um pouco sobre FreeBSD a primeira coisa que mencionamos é a coleção de PORTS e a facilidade que a mesma proporciona para a instalação de SOFTWARES suportados pelo sistema.
Hoje o sistema possui 16435 aplicações portadas e 25.6% destas aplicações não tem mantenedores, ou dependem da atenção de algumas pessoas para serem atualizadas e mantidas funcionais.
Neste 25.6%(4208) de PORTS sem mantenedores, pode ser que algum deles você use diariamente e desta forma você poderia mantê-lo em suas horas de folga.
Hoje existem várias ferramentas e formas de você contribuir com o projeto FreeBSD, documentação é a via mais fácil de ajudar o projeto, mas manter um PORT é algo extremamente gratificante, doando um pouco do seu tempo você pode atualizar e testar aquele PORT que está quebrado ou precisando de um pequeno remendo.

Neste artigo, vou mostrar como ajudar a vida dos novos PORTERS a manter está estrutura atualizada e funcional.

As principais ferramentas que você pode ter em sua máquina para manter e testar um PORT são misc/tinderbox, devel/porttools, devel/portlint e o próprio CVS.
Onde podemos iniciar a busca dos PORTS órfãos?
Você pode encontrar informacões sobre esses PORTS em diversos lugares, alguns deles podem ser visto em:

PortsCout
Portsmon  

Antes de doar seu precioso tempo para o projeto FreeBSD, verifique se já não existe alguém cuidando de determinado PORT, pode ser que está pessoa esteja precisando de ajuda para finalizá-lo, desta forma você pode focar suas energias e adotar outro SOFTWARE.

Verifique antes se já não existe um PR aberto para este PORT: PR-SUMMARY

Uma ferramenta essencial para manipularmos os PORTS é o software CVS.
Inicialmente crie um diretório onde você irá trabalhar com o PORT que você quer adotar.

reloaded# mkdir /home/ports ; cd /home/ports

Agora vamos buscar a última versão que está no repositório do sistema

reloaded# cvs -d Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo :/home/ncvs co mailrep
reloaded# cd mailrep

Inicie investigando a última versão do PORT, verifique as dependências que este software pode causar em outros PORTS, verifique a estabilidade desta nova versão, não queremos um software com problemas na coleção de PORTS.
Inicie seu trabalho dentro do Makefile, para entender o funcionamento de cada variável experimente olhar como as pessoas fizeram os outros PORTS. Verifique também dentro de ports/Mk os arquivos com as opções que você pode usar dentro do seu Makefile, afinal, ninguém falou que manter um PORT funcional e atualizado é uma tarefa fácil.
Após as modificacões necessárias para o UPDATE de versão do SOFTWARE, vamos atualizar o arquivo distfile, onde contém algumas informacões como chave md5 do software e o tamanho do mesmo.

reloaded# make makesum

ImageIremos iniciar os primeiros testes com o devel/portlint. O portlint é mantido por marcus@FreeBSD e está na versão 2.9.2. O portlint verifica através de expressões-regulares alguns índices significativos dentro dos arquivos Makefiles e pkg-plist complexos, através desta checagem, você pode construir um PORT que dará menos trabalho aos committers.

Usando o portlint.
Dentro do diretório do PORT modificado, use:

reloaded# portlint -A

A opção “-A” vai executar todas as checagens possíveis dentro das opções do portlint.
Geralmente o portlint faz algumas sugestões de syntax para os arquivos Makefile, pkg-desc e pkg-plist, é importante alguma atenção para ter um PORT funcional.
O portlint emite dois tipos de alertas WARN e FATAL.

FATAL: Este erro sugere que existe algum problema grave dentro do diretório do PORT, este tipo de erro deve ser evitado antes de submeter o PORT aos committers.

WARN: Sugere algum reparo dentro do PORT, geralmente em PORTS complexos o portlint pode ligeiramente se confundir com as suas verificações, é interessante que você analise cada opção e assuma/ignore a correção.

Uma outra ferramente de extrema importância que deve ser usada é o devel/porttools.
O porttools hoje se encontra na versão 0.77 e é mantido por sergei@FreeBSD.
Uma opção importante do porttools é o “port test” ao qual é feito uma série de testes automatizados para verificar a construção, instalação e desinstalação do PORT.
Uma ótima vantagem do porttools é que você consegue construir com grande consistência o arquivo pkg-plist, afinal não queremos nenhum resquício de software que estamos desinstalando em nosso sistema ou imagine você instalar uma biblioteca e os principais arquivos não são instalados.

Algumas opções do porttools:

            - port create: create a new port from a template
            - port diff: generate a diff against a previous version of the port
            - port fetch: fetch distfile(s) of a new version of the port
            - port help: display usage summary for port(1) commands
            - port submit: submit a PR with new port, or port change/update
            - port test: automate testing a new port or a port update

Depois de testarmos e re-testarmos o PORT, vamos fazer um diff dos arquivos originais com a nossa atualização.
Geralmente as pessoas fazem o diff de dois diretórios, mas porque não facilitar as coisas e fazer o diff do próprio CVS?

Vamos ver alguns comandos básicos do CVS.

Para adicionar um arquivo

reloaded# cvs add NOVO_ARQUIVO 

Para remover um arquivo

reloaded# cvs rm VELHO_ARQUIVO

Fazer um UPDATE, quem sabe alguem adicionou algo neste meio tempo.

reloaded# cvs update

Vamos fazer o diff

reloaded# cvs diff -uN >../`basename ${PWD}`.diff

ImageVocê pode submeter a sua atualização de várias formas:

  • porttools
  • SEND-PR Web
  • sysutils/gtk-send-pr

Antes de enviar um PR(Problem Report) leia os seguintes handbooks:

Agora vamos imaginar que você tem um bom tempo, ou seu conhecimento em criar, atualizar e manter PORTS cresceu muito e você já está fazendo vários PORTS semanalmente.
Como podemos automatizar estas tarefas, já que as mesmas consomem tempo e recursos computacionais.
O committer marcus@FreeBSD criou um conjunto de scripts chamado de TINDERBOX para automatizar a tarefa de testar PORTS, todos os committers de PORTS sem excessões utilizam-se desta ferramenta para testar o grande número de atualizações e novos PORTS enviados diariamente.
O TINDERBOX nada mais é do que um JAIL ou vários conectados a uma base de dados MYSQL ou PGSQL ao qual você instala e remove os PORTS como se estivesse com um FreeBSD sem nada instalado.
Quais as vantagens de testar o PORT no TINDERBOX? Bem, você pode ter vários problemas de dependências ao qual não teria percebido sua existência em uma máquina de produção.
Com o TINDERBOX você pode criar vários JAILS com series diferentes do FreeBSD e garantir que o seu PORT funcione no 4.X, 5.X, 6.X e 7-CURRENT.
Ná própria página do marcus@FreeBSD ele mostra como fazer a instalação e como criar os JAILS para automatizar os testes com os PORTS.

TINDERBOX README 

Contribua você também com o projeto FreeBSD, documentacão, ports, source ou um simples artigo pode ajudar na divulgacão e trazer novos adeptos ao sistema.

Porquê contribuir com os PORTS? Manter um PORT é uma tarefa gratificante, as pessoas reconhecem você, reconhecem a utilidade de instalar um SOFTWARE e o mesmo funcionar, a vantagem do FreeBSD para com outros sistemas está ai, vários testes e a garantia de que alguém ou várias pessoas atestaram o funcionamento de determinado PACOTE.

Até o próximo artigo.
Marcelo Araujo hoje mantêm 75 ports e contribui com tantos outros ao qual não pode manter. 

Comentrios
Beleza, boa introducao :-)
Por Patrick Tracanelli em 05/02/2007 10:06:49
Espero que desperte o interesse de mais pessoas estudar os detalhes de como um port funciona, e termos mais contribuidores brasileiros nessa area. 
 
Um artigo sobre como usar a Tinderbox tambem seria massa. Lembrando que como acabou o EOL do RELENG_4 novos contribuidores nao precisam se preocupar com essa serie.
Os links tao ferrados
Por Joao Paulo - 0v3rm1nd em 05/02/2007 10:09:27
Caro Marcelo, varios links do artigo estao ferrados. Apontam pra q nunca funciona.
Artigo TINDERBOX
Por Marcelo Araujo em 05/02/2007 10:21:54
Bom, no prximo artigo, falarei sobre o TINDERBOX. 
:D
pesquisa
Por Regina de Donoso em 13/02/2007 18:13:21
Sr. Marcelo, 
 
A Embaixada do Brasil no Panam est tentando localizar uma pessoa de nombre Marcelo Arajo, ligada a rede de televiso brasileira. Se for o senhor, apreciaramos que entrasse em contacto conosco. 
e-mail: Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo  
Fone: 507 263-5322 ramal 181
BDFnWRUWm
Por Janisa em 27/11/2012 23:43:28
Your article perfectly shows what I nedeed to know, thanks!
dzOIwJbbTzsjw
Por Amr em 28/11/2012 21:26:30
I believe you suohld get an iPad. I'm ON MINE RIGHT NOW!! I have never had any problems with it, and it is just overall amazing. If your getting another laptop for christmas, I definatley recommend an iPad. You will love the interface, and an update is coming out for that will be HUGE. (multitasking, game center, ect ). An iPad functions as a laptop anyways. So in the end, you suohld definatley get an iPad and I speak from experience


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 03/02/2007 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:

Partição encheu e não sabe o motivo? Descubra com:

du -s /usr/* | sort -n

 






Wallpapers
Sua Opiniao
Online:
Ns temos 25 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.