05.12  
Inicio arrow Artigos arrow Adote um PORT
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma
Histórico da Lista
  • [FUG-BR] Sistema Contábil ou Sistema de Livro Caixa
  • Re: [FUG-BR] Sistema Contábil ou Sistema de Livro Caixa
  • [FUG-BR] OFF TOPIC - Pane no servidor de licenças SonicWall...
  • [FUG-BR] problemas para atualizar o sistema
  • [FUG-BR] Regras IPFW
  • Re: [FUG-BR] Regras IPFW
  • [FUG-BR] RES: Regras IPFW
  • [FUG-BR] RES: Conexão VPN

  • Alertas em Ports
  • squirrelmail -- Cross site scripting vulnerability
  • cups -- multiple vulnerabilities
  • hplip -- hpssd Denial of Service
  • openoffice -- arbitrary code execution vulnerabilities
  • samba -- potential leakage of arbitrary memory contents



  • 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 endereço 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. 

    Comentários
    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 próximo 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 Araújo, ligada a rede de televisão brasileira. Se for o senhor, apreciaríamos que entrasse em contacto conosco. 
    e-mail: Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo  
    Fone: 507 263-5322 ramal 181


    Comente!*
    Nome:
    E-mail
    Homepage
    Título:
    Comentário:

    Código:* Code

    Última Atualização ( 03/02/2007 )
     
    < Anterior   Próximo >
    FUG-BR - Espalhando BSD
    Dicas Rápidas:
    Acabou de atualizar o ports? Não se esqueça de ler o /usr/ports/UPDATING, para evitar ter que descobrir sozinho, ao custo de seu tempo, o que já está documentado.
     






    Wallpapers
    Sua Opiniao
    Online:
    Nós temos 20 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

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