Date: Wed, 5 Sep 2012 05:52:11 +0000 (UTC) From: Gabor Kovesdan <gabor@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r39506 - in head/pt_BR.ISO8859-1: articles articles/contributing-ports share/sgml Message-ID: <201209050552.q855qBYm083511@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gabor Date: Wed Sep 5 05:52:11 2012 New Revision: 39506 URL: http://svn.freebsd.org/changeset/doc/39506 Log: - Add new Brazilian Portuguese translation of the contributing-ports article PR: docs/170831 Submitted by: Edson Brandi <ebrandi@fugspbr.org> Obtained from: The FreeBSD Brazilian Portuguese Documentation Project (http://doc.fug.com.br) Added: head/pt_BR.ISO8859-1/articles/contributing-ports/ head/pt_BR.ISO8859-1/articles/contributing-ports/Makefile (contents, props changed) head/pt_BR.ISO8859-1/articles/contributing-ports/article.sgml (contents, props changed) Modified: head/pt_BR.ISO8859-1/articles/Makefile head/pt_BR.ISO8859-1/share/sgml/mailing-lists.ent Modified: head/pt_BR.ISO8859-1/articles/Makefile ============================================================================== --- head/pt_BR.ISO8859-1/articles/Makefile Wed Sep 5 05:47:06 2012 (r39505) +++ head/pt_BR.ISO8859-1/articles/Makefile Wed Sep 5 05:52:11 2012 (r39506) @@ -10,6 +10,7 @@ SUBDIR = SUBDIR+= contributing +SUBDIR+= contributing-ports SUBDIR+= explaining-bsd SUBDIR+= freebsd-questions SUBDIR+= linux-users Added: head/pt_BR.ISO8859-1/articles/contributing-ports/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/pt_BR.ISO8859-1/articles/contributing-ports/Makefile Wed Sep 5 05:52:11 2012 (r39506) @@ -0,0 +1,24 @@ +# +# The FreeBSD Documentation Project +# The FreeBSD Brazilian Portuguese Documentation Project +# +# $FreeBSD$ +# +# Original revision: r38826 +# +# Article: Contributing to the FreeBSD Ports Collection + +DOC?= article + +FORMATS?= html html-split +WITH_ARTICLE_TOC?= YES + +INSTALL_COMPRESSED?=gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" Added: head/pt_BR.ISO8859-1/articles/contributing-ports/article.sgml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/pt_BR.ISO8859-1/articles/contributing-ports/article.sgml Wed Sep 5 05:52:11 2012 (r39506) @@ -0,0 +1,1076 @@ +<!-- + The FreeBSD Documentation Project + The FreeBSD Brazilian Portuguese Documentation Project + + Original revision: r38826 + + $FreeBSD$ +--> + +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//PTBR"> +%articles.ent; +<!ENTITY % not.published "IGNORE"> +]> +<article> + <articleinfo> + <title>Contribuindo para a Coleção de Ports do + FreeBSD</title> + + <pubdate>$FreeBSD$</pubdate> + + <abstract> + <title>Sumário</title> + + <para>Este artigo descreve as formas pelas quais uma pessoa pode + contribuir com a Coleção de + <literal>Ports</literal> do FreeBSD.</para> + </abstract> + + <authorgroup> + <author> + <firstname>Sam</firstname> + <surname>Lawrance</surname> + </author> + <author> + <firstname>Mark</firstname> + <surname>Linimon</surname> + </author> + </authorgroup> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.general; + </legalnotice> + </articleinfo> + + <indexterm><primary>Contribuindo com o ports</primary></indexterm> + + <sect1> + <title>Introdução</title> + + <para>A Coleção de <literal>Ports</literal> + é um trabalho permanente, em constante + evolução. Nós queremos oferecer + aos nossos usuários um repositório de + softwares de terceiros que seja fácil de utilizar, + atualizado e de alta qualidade.</para> + + <para>Qualquer um pode se envolver, e existem muitas formas + diferentes de fazer isso. Contribuir para a + coleção de <literal>ports</literal> é + uma excelente forma de ajudar e de <quote>devolver</quote> + algo para o projeto. Não importa se você + está à procura de participação + contínua, ou apenas um desafio divertido para um dia + chuvoso, nós vamos adorar receber a sua ajuda!</para> + + <para> + Como voluntário, o que você faz é limitado + apenas pelo que você quer fazer. No entanto, pedimos que + você tome conhecimento do que os outros membros da + comunidade &os; irão esperar de você. Você + pode querer levar isso em conta antes de decidir se + voluntariar.</para> + </sect1> + + <sect1 id="what-contribute"> + <title>O que você pode fazer para ajudar</title> + + <para>Existem várias maneiras pelas quais você pode + contribuir para manter a árvore de + <literal>Ports</literal> atualizada e em boas + condições de funcionamento:</para> + + <itemizedlist> + <listitem> + <para>Encontre algum software legal e útil e + <link linkend="create-port">crie um + <literal>port</literal></link> para ele.</para> + </listitem> + + <listitem> + <para>Existe um grande número de + <literal>ports</literal> que não têm nenhum + mantenedor (<quote>maintainer</quote>). Torne-se um + mantenedor e <link linkend="adopt-port">adote um + <literal>port</literal></link>.</para> + </listitem> + + <listitem> + <para>Se você tiver criado ou adotado um + <literal>port</literal>, tome conhecimento <link + linkend="maintain-port">do que precisa fazer agora que + é um mantenedor</link>.</para> + </listitem> + + <listitem> + <para>Quando você estiver procurando por um desafio + rápido você pode <link + linkend="fix-broken">corrigir um bug ou um + <literal>port</literal> quebrado</link>.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="create-port"> + <title>Criando um novo <literal>port</literal></title> + + <para>Existe um documento separado, disponível para ajudar + e guiá-lo no processo de criação (ou de + atualização) de um <literal>port</literal>, + chamado <ulink + url="&url.books.porters-handbook;"><literal>Porter's + Handbook</literal></ulink>. O <literal>Porter's + Handbook</literal> é a melhor fonte de referência + para se trabalhar no sistema de <literal>ports</literal>. Ele + fornece detalhes de como o sistema de <literal>ports</literal> + funciona e discute as boas práticas recomendadas.</para> + </sect1> + + <sect1 id="adopt-port"> + <title>Adotando um <literal>port</literal> sem + manutenção</title> + + <sect2> + <title>Escolhendo um <literal>port</literal> sem + manutenção</title> + + <para>Assumir a responsabilidade pela manutenção + de um <literal>port</literal> que está abandonado + é uma excelente forma de se envolver. + <literal>Ports</literal> sem manutenção + só são atualizados ou consertados quando + alguém se voluntaria à trabalhar neles. + Existe um grande número de <literal>ports</literal> + sem manutenção. É uma boa idéia + iniciar com a adoção de um + <literal>port</literal> que você usa + regularmente.</para> + + <para>Os <literal>ports</literal> sem manutenção + tem a variável <makevar>MAINTAINER</makevar> setada + como <literal>ports@FreeBSD.org</literal> em seu + <filename>Makefile</filename>. A lista dos + <literal>ports</literal> sem manutenção, seus + erros atuais, e seus respectivos relatórios de problema + , pode ser vista no <ulink + url="http://portsmon.FreeBSD.org/portsconcordanceformaintainer.py?maintainer=ports%40FreeBSD.org">Sistema + de Monitoração de Ports do + FreeBSD</ulink>.</para> + + <para>Alguns <literal>ports</literal> afetam um grande + número de outros devido as suas dependências e + aos <literal>ports</literal> escravos. Você deve + esperar até que tenha alguma experiência antes + de se voluntariar para manter um <literal>port</literal> + destes.</para> + + <para>Você pode descobrir se um <literal>port</literal> + tem ou não dependências ou + <literal>ports</literal> + escravos, observando o índice principal de ports + chamado <filename>INDEX</filename>. (O nome do arquivo varia + de acordo com a release do &os;; por exemplo, + <filename>INDEX-8</filename>.) Alguns + <literal>ports</literal> têm dependências + condicionais que não são incluídas na + compilação padrão do + <filename>INDEX</filename>. Esperamos que você seja + capaz de identificar estes <literal>ports</literal> + observando os <filename>Makefile</filename>s dos outros + <literal>ports</literal>.</para> + </sect2> + + <sect2> + <title>Como adotar um <literal>port</literal></title> + + <para>Primeiro certifique-se de que você compreende as + suas <link linkend="maintain-port">responsabilidades como um + mantenedor</link>. Também leia o <ulink + url="&url.books.porters-handbook;">Porter's Handbook</ulink>. + <emphasis>Por favor, não se comprometa com mais do + que o que você se sente capaz de + fazer.</emphasis></para> + + <para>Você pode pedir para se tornar o responsável + por um <literal>port</literal> sem manutenção no + momento em que desejar. Basta definir o + <makevar>MAINTAINER</makevar> para o seu próprio email + e enviar um PR (relatório de problema) com a + mudança. Se o <literal>port</literal> tiver erros de + compilação ou se estiver precisando de + atualização, você pode querer enviar + quaisquer outras alterações no mesmo PR. Isto + irá ajudar porque muitos <literal>comitters</literal> + estão pouco dispostos a designar alguém sem um + histórico conhecido junto ao &os; como + responsável pela manutenção de um + <literal>port</literal>. Enviar PRs os quais corrigem erros + de compilação ou que atualizam + <literal>ports</literal> é a melhor forma de + estabelecer um.</para> + + <para>Envie o seu PR com a categoria <literal>ports</literal> + e a classe <literal>change-request</literal>. Um + <literal>comitter</literal> irá examinar o seu PR, dar + <literal>commit</literal> das alterações e + finalmente fechar o seu PR. Algumas vezes este processo pode + demorar um pouco (afinal os <literal>comitters</literal> + também são voluntários).</para> + </sect2> + </sect1> + + <sect1 id="maintain-port"> + <title>Os desafios dos mantenedores de + <literal>ports</literal></title> + + <para>Esta seção lhe dará uma idéia de + porque os <literal>ports</literal> precisam ser mantidos e + irá apresentar as responsabilidades de um mantenedor de + <literal>ports</literal>.</para> + + <sect2 id="why-maintenance"> + <title>Porque os <literal>ports</literal> precisam de + manutenção</title> + + <para>Criar um <literal>port</literal> é uma tarefa que + demanda esforço uma única vez. Garantir que um + <literal>port</literal> está atualizado e que continua + a compilar e a executar é um esforço de + manutenção permanente. Os mantenedores + (<quote>maintainers</quote>), são pessoas as quais + dedicam uma parte do seu tempo para a realização + destes objetivos.</para> + + <para>A principal razão pela qual o sistema de + <literal>ports</literal> precisa de manutenção + é trazer os melhores e mais recentes softwares de + terceiros para a comunidade &os;. Um desafio adicional + é manter os <literal>ports</literal> individuais + trabalhando com o <literal>framework</literal> da + Coleção de <literal>Ports</literal> a medida que + ele evolui.</para> + + <para>Como mantenedor, você vai precisar gerenciar os + seguintes desafios:</para> + + <itemizedlist> + <listitem> + <formalpara> + <title>Novas versões de software e + atualizações.</title> + + <para>Novas versões e atualizações de + softwares que já pertencem ao + <literal>ports</literal> tornam-se disponíveis o + tempo todo, e estes têm de ser incorporados a + Coleção de <literal>Ports</literal> a fim + de atualizar os softwares disponibilizados por + ela.</para> + </formalpara> + </listitem> + + <listitem> + <formalpara> + <title>Alterações em + dependências.</title> + + <para>Se forem feitas mudanças significativas nas + dependências de seu <literal>port</literal>, ele + pode precisar ser atualizado para que continue a + funcionar corretamente.</para> + </formalpara> + </listitem> + + <listitem> + <formalpara> + <title>Alterações que afetam + <literal>ports</literal> que dependem do seu.</title> + + <para>Se outros <literal>ports</literal> dependem de um + <literal>port</literal> que você mantém, + alterações em seu <literal>port</literal> + podem demandar coordenação com outros + mantenedores.</para> + </formalpara> + </listitem> + + <listitem> + <formalpara> + <title>Interação com outros usuários, + mantenedores e desenvolvedores.</title> + + <para>Parte do trabalho de um mantenedor é atuar no + suporte. Não esperamos que você + ofereça suporte generalizado (mas será bem + vindo se você optar por isto). O que você + deve oferecer é um ponto de + coordenação para questões sobre + os seus <literal>ports</literal> que sejam especificos + ao &os;.</para> + </formalpara> + </listitem> + + <listitem> + <formalpara> + <title>Caça aos bugs.</title> + + <para>Um <literal>port</literal> pode ser afetado por + erros que são específicos ao &os;. + Você vai precisar investigar, encontrar e + corrigir estes erros quando eles forem reportados. + Testar exaustivamente um <literal>port</literal> para + identificar problemas antes que eles cheguem na + Coleção de <literal>Ports</literal> + é ainda melhor.</para> + </formalpara> + </listitem> + + <listitem> + <formalpara> + <title>Alterações na política e na + infra-estrutura de <literal>ports</literal>.</title> + + <para>Ocasionalmente, os sistemas que são + utilizados para compilar os <literal>ports</literal> + e os pacotes são atualizados ou uma nova + recomendação que afeta esta + infra-estrutura é feita. Você deve estar + ciente destas alterações para o caso dos + seus <literal>ports</literal> serem afetados e + precisarem de atualização.</para> + </formalpara> + </listitem> + + <listitem> + <formalpara> + <title>Alterações no sistema base.</title> + + <para>O &os; está em constante desenvolvimento. + Alterações ao software, as bibliotecas, ao + kernel ou mesmo alterações na + política podem alterar os requisitos de um + <literal>port</literal>.</para> + </formalpara> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Responsabilidades de um Mantenedor</title> + + <sect3> + <title>Mantenha seus <literal>ports</literal> + atualizados</title> + + <para>Esta seção descreve o processo que + você deve seguir para manter seus + <literal>ports</literal> atualizados.</para> + + <para>Esta é uma visão geral. Maiores + informações sobre o processo de + atualização de um <literal>port</literal> + estão disponíveis no + <ulink url="&url.books.porters-handbook;"> + Porter's Handbook</ulink>.</para> + + <procedure> + <step> + <title>Fique atentendo para as + atualizações</title> + + <para>Monitore o desenvolvedor para tomar conhecimento + sobre a liberação de novas versões, + atualizações, e correções de + segurança para o software do seu + <literal>port</literal>. Listas de discussão + destinadas a avisos de lançamentos ou + páginas web de notícias são + úteis para fazer isso. + Algumas vezes os usuários + irão entrar em contato com você e perguntar + quando o seu <literal>port</literal> será + atualizado. Se você está ocupado com + outras coisas ou se por qualquer outra razão + não pode fazer a atualização + naquele momento, pergunte se eles irão + ajudá-lo enviando um PR com a + atualização.</para> + + <para>Você também pode receber um email + automático do <literal>sistema de + verificação de ports do &os;</literal> + informando que uma nova versão do seu + <literal>port's distfile</literal> está + disponível. Maiores informações + sobre este sistema (incluindo a de como parar emails + futuros) serão fornecidas na mensagem.</para> + </step> + + <step> + <title>Incorpore as alterações</title> + + <para>Quando elas se tornarem disponíveis, + incorpore as mudanças ao seu + <literal>port</literal>. Você precisa ser capaz + de gerar um <literal>patch</literal> entre o seu + <literal>port</literal> original e o seu + <literal>port</literal> atualizado.</para> + </step> + + <step> + <title>Revisão e teste</title> + + <para>Examine cuidadosamente e teste as suas + alterações:</para> + + <itemizedlist> + <listitem> + <para>Compile, instale e teste o seu + <literal>port</literal> no maior número + possível de plataformas e arquiteturas. + É comum que um <literal>port</literal> + funcione em um <literal>branch</literal> ou + plataforma e falhe em outra.</para> + </listitem> + + <listitem> + <para>Certifique-se de que as dependências do + seu <literal>port</literal> estão completas. + A melhor forma de fazer isto é instalar a sua + própria <literal>ports</literal> + <application>tinderbox</application>. Consulte a + seção sobre <link + linkend="resources">recursos</link> para maiores + informações.</para> + </listitem> + + <listitem> + <para>Verifique se a lista de empacotamento + está atualizada. Isto envolve a + adição de novos arquivos e + diretórios e a remoção de + entradas não utilizadas.</para> + </listitem> + + <listitem> + <para>Verifique o seu <literal>port</literal> + utilizando o &man.portlint.1; como um guia. + Consulte a seção sobre <link + linkend="resources">recursos</link> para + informações importantes sobre o uso do + <application>portlint</application>.</para> + </listitem> + + <listitem> + <para>Avalie se as alterações no seu + <literal>port</literal> podem levar a quebra de + outros <literal>ports</literal>. Se este for o + caso, coordene as alterações com os + mantenedores destes <literal>ports</literal>. Isto + é especialmente importante se a sua + atualização alterar a versão de + uma biblioteca compartilhada; neste caso, no + mínimo, os <literal>ports</literal> que forem + dependentes do seu vão precisar atualizar seu + <makevar>PORTREVISION</makevar> de modo que eles + sejam automaticamente atualizados pelas ferramentas + de automação tais como o + <application>portmaster</application> ou o + &man.portupgrade.1;.</para> + </listitem> + </itemizedlist> + </step> + + <step> + <title>Envie as alterações</title> + + <para>Envie sua atualização através + da submissão de um PR contendo uma + explicação sobre as mudanças e um + patch com as diferenças entre o port original e a + versão atualizada. Por favor, consulte o artigo + <ulink url="&url.articles.problem-reports;">Escrevendo + Relatórios de Problema para o FreeBSD</ulink> + para maiores informações sobre como + escrever um bom PR.</para> + + <note> + <para>Por favor, não envie um arquivo + &man.shar.1; com o <literal>port</literal> inteiro. + Em vez disso, utilize &man.diff.1; + <literal>-ruN</literal>. Desta forma, os + <literal>committers</literal> podem ver com muito mais + facilidade e precisão quais são as + mudanças que estão sendo feitas. A + seção <ulink + url="&url.books.porters-handbook;/port-upgrading.html">Atualizações</ulink> + do <literal>Porter's Handbook</literal> tem maiores + informações.</para> + </note> + </step> + + <step> + <title>Aguarde</title> + + <para>Em algum momento um <literal>committer</literal> vai + cuidar do seu PR. Isto pode demorar alguns minutos, ou + pode levar semanas — desta forma, por favor, seja + paciente.</para> + </step> + + <step> + <title>Dê feedbacks</title> + + <para>Se um <literal>committer</literal> encontrar um + problema nas suas alterações, ele + provavelmente irá encaminhá-lo de volta + para você. Uma resposta rápida irá + ajudá-lo a ter o seu PR resolvido mais + rapidamente, e será melhor para manter o fluxo + de conversação quando se está + tentando resolver qualquer problema.</para> + </step> + + <step> + <title>E finalmente...</title> + + <para>As suas alterações serão + aceitas e o seu <literal>port</literal> estará + atualizado. O PR será fechado pelo + <literal>committer</literal>. E é isso!</para> + </step> + </procedure> + </sect3> + + <sect3> + <title>Assegure que os seus <literal>ports</literal> continuem + compilando corretamente.</title> + + <para>Esta seção é sobre descobrir e + corrigir problemas que impeçam os seus + <literal>ports</literal> de compilar corretamente.</para> + + <para>O funcionamendo da <literal>Coleção de + Ports</literal> é garantido pelo &os; apenas no ramo + <literal>-STABLE</literal> do sistema. Você deve + estar executando o <literal>8-STABLE</literal> ou o + <literal>9-STABLE</literal>, preferencialmente o + último. Em teoria, você deve ser capaz de + usá-lo com a última <literal>release</literal> + de cada ramo estável (uma vez que as + <literal>ABIs</literal> não deveriam mudar) mas se + você puder executar o ramo <literal>-STABLE</literal>, + isto será ainda melhor.</para> + + <para>Uma vez que a maioria das instalações do + FreeBSD rodam em maquinas PC compatíveis (como + é denominada a arquitetura <literal>i386</literal>), + nós esperamos que você mantenha os seus + <literal>ports</literal> funcionando nesta arquitetura. + Nós preferimos que os <literal>ports</literal> + também funcionem de forma nativa na arquitetura + <literal>amd64</literal>. É totalmente justo que + você peça ajuda se você não + possuir uma destas máquinas.</para> + + <note> + <para>As falhas mais usuais na compilação para + máquinas não-<literal>i386</literal> ocorrem + porque o programador original assumiu, por exemplo, que os + ponteiros são do tipo <literal>int</literal>, ou + então que uma versão antiga e relativamente + mais frouxa do compilador <application>gcc</application> + está sendo utilizada. Cada vez mais, os autores de + aplicações estão retrabalhando seu + código para remover estes pressupostos — mas + se o autor não estiver mantendo o código + de forma ativa, você pode precisar fazer isto + você mesmo.</para> + </note> + + <para>Estas são as tarefas que precisam ser executadas + para garantir o seu <literal>port</literal> pode ser + compilado:</para> + + <procedure> + <step> + <title>Esteja atento para falhas de + compilação</title> + + <para>Verifique regularmente o cluster de + compilação automatizada de + <literal>ports</literal>, o <ulink + url="http://pointyhat.FreeBSD.org">pointyhat</ulink>, e + o <ulink url="http://www.portscout.org">scanner de + arquivos de distribuição</ulink> para ver + se algum dos <literal>ports</literal> que você + mantém está falhando na + compilação ou no download do + código fonte (veja a seção sobre + <link linkend="resources">recursos</link> para maiores + informações sobre estes sistemas). + Relatórios de falha também podem chegar + até você por email, vindos de outros + usuários ou dos sistemas automatizados.</para> + </step> + + <step> + <title>Colete informações</title> + + <para>Uma vez que você tome conhecimento de um + problema, colete informações para + ajudá-lo a corrigi-lo. Os erros de + compilação reportados pelo pointyhay + são acompanhados por + logs os quais irão lhe mostrar onde a + compilação falhou. Se a falha tiver sido + reportada à você por um usuário, + peça a ele para lhe enviar + informações as quais possam lhe ajudar no + diagnóstico do problema, tais como:</para> + + <itemizedlist> + <listitem> + <para>Logs de compilação</para> + </listitem> + + <listitem> + <para>Os comandos e as opções que foram + utilizadas para compilar o <literal>port</literal> + (incluindo as opções definidas no + <filename>/etc/make.conf</filename>)</para> + </listitem> + + <listitem> + <para>A lista de aplicativos instalados em seus + sistemas, como mostrada pelo &man.pkg.info.1;</para> + </listitem> + + <listitem> + <para>A versão do &os; que eles estão + utilizando, como mostrada pelo + &man.uname.1;<command> -a</command></para> + </listitem> + + <listitem> + <para>Quando a sua Coleção de + <literal>Ports</literal> foi atualizada pela + última vez</para> + </listitem> + + <listitem> + <para>Quando o seu arquivo <filename>INDEX</filename> + foi atualizado pela última vez</para> + </listitem> + </itemizedlist> + </step> + + <step> + <title>Investigue e encontre uma + solução</title> + + <para>Infelizmente não existe um processo simples + a ser seguido para fazer isto. Porém + lembre-se: Se você estiver sem saber o que + fazer, peça ajuda! A &a.ports; é um bom + lugar para começar, e os desenvolvedores do + software também estão frequentemente + dispostos a ajudar.</para> + </step> + + <step> + <title>Envie as alterações</title> + + <para>Assim como na atualização de um + <literal>port</literal>, você agora deve + incorporar as alterações, + revisá-las, testá-las, e depois submeter + um PR com elas, fornecendo feedback, se + necessário.</para> + </step> + + <step> + <title>Envie <literal>patches</literal> para os + desenvolvedores do software</title> + + <para>Em alguns casos você irá precisar + modificar o software do seu <literal>port</literal> para + que ele execute no &os;. Alguns (mas não todos) + desenvolvedores irão aceitar incorporar tais + <literal>patches</literal> em seu código para a + próxima release. Se eles aceitarem, isto pode + até ajudar os seus usuários nos outros + sistemas derivados do BSD e talvez evite esforços + duplicados. Por favor, considere o envio de qualquer + <literal>patch</literal> aplicável aos + desenvolvedores do software como uma cortesia.</para> + </step> + </procedure> + </sect3> + + <sect3> + + <title>Investigue os relatórios de bugs e os PRs + relacionados ao seu <literal>port</literal></title> + + <para>Esta seção é sobre a descoberta + e correção de bugs.</para> + + <para>Os bugs específicos ao &os; são geralmente + causados por suposições feitas pelo + desenvolvedor sobre o ambiente de compilação e + de execução que não se aplicam ao &os;. + É pouco provável que você encontre um + problema deste tipo, eles são mais sutis e + difíceis de diagnosticar.</para> + + <para>Estas são as tarefas que precisam ser executadas + para garantir que o seu <literal>port</literal> continua + funcionando como esperado:</para> + + <procedure> + <step> + <title>Responda os relatórios de bugs</title> + + <para>Bugs podem ser reportados para você por + meio de email através do <ulink + url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">Banco + de Dados de Relatórios de Problema GNATS</ulink>. + Bugs também podem ser reportados diretamente + à você pelos usuários.</para> + + <para>Você deve responder os PRs e demais + relatórios no prazo de até 14 dias, mas + por favor tente não levar tanto tempo. Tente + responder o mais rápido possível, mesmo + que seja só para dizer que você precisa de + mais algum tempo antes que você possa trabalhar no + PR.</para> + + <para>Se você não responder neste prazo de 14 + dias, qualquer <literal>committer</literal> + poderá realizar o <literal>commit</literal> do PR + ao qual você não respondeu baseado na regra + de <literal>maintainer-timeout</literal>.</para> + </step> + + <step> + <title>Colete informações</title> + + <para>Se a pessoa que reportou o bug não tiver + fornecido também uma correção, + você vai precisar coletar as + informações que irão lhe + permitir gerar uma.</para> + + <para>Se o bug pode ser reproduzido, você pode + coletar a maioria das informações + necessárias você mesmo. Se não + conseguir reproduzi-lo, peça para a pessoa que + reportou o bug para coletar as informações + para você, tais como:</para> + + <itemizedlist> + <listitem> + <para>Uma descrição detalhada das suas + ações, comportamento esperado para o + programa e o seu comportamento atual</para> + </listitem> + + <listitem> + <para>Cópia dos dados que desencadearam o + bug</para> + </listitem> + + <listitem> + <para>Informação sobre o seu ambiente de + compilação e execução + — como, por exemplo, a lista dos aplicativos + instalados e a saída do &man.env.1;</para> + </listitem> + + <listitem> + <para>Dumps de memória</para> + </listitem> + + <listitem> + <para>Rastreamento de pilhas</para> + </listitem> + </itemizedlist> + </step> + + <step> + <title>Elimine os relatórios incorretos</title> + + <para>Alguns dos relatórios de bugs podem estar + incorretos. Por exemplo, o usuário pode ter + simplesmente utilizado o programa de forma errada; ou os + aplicativos instalados podem estar desatualizados e + precisando de atualização. À + vezes, o bug reportado não é + específico ao &os;. Neste caso, relate o bug + para o desenvolvedor do software. Se a + correção do bug estiver dentro da sua + capacidade técnica, você também pode + aplicar um <literal>patch</literal> ao seu + <literal>port</literal>, para que a + correção seja disponibilizada antes do + release da nova versão oficial por parte do + desenvolvedor.</para> + </step> + + <step> + <title>Encontre uma solução</title> + + <para>Assim como ocorre com os erros de + compilação, você vai precisar + encontrar uma correção para o problema. + Mais uma vez, lembre-se de pedir ajuda se você + estiver sem saber por onde começar!</para> + </step> + + <step> + <title>Envie ou aprove as alterações</title> + + <para>Assim como ocorre na atualização de um + <literal>port</literal>, agora você deve + incorporar as alterações, + revisá-las, testá-las, e enviar as suas + mudanças em um PR (ou enviar um followup se + já existir um PR para o problema). Se outro + usuário tiver submetido alterações + em um PR, você também pode enviar um + followup dizendo se aprova ou não estas + mudanças.</para> + </step> + </procedure> + </sect3> + + <sect3> + <title>Forneça suporte</title> + + <para>Faz parte da função de mantenedor prover + suporte — não para o software em geral — + mas para o <literal>port</literal> e para qualquer problema + ou peculiaridade que seja específica do &os;. + Usuários podem contatá-lo com perguntas, + sugestões, problemas e <literal>patches</literal>. + Na maior parte do tempo serão mensagens especificas + ao &os;.</para> + + <para>Ocasionalmente você pode precisar usar as suas + habilidades diplomáticas para gentilmente direcionar + os usuários que buscam suporte geral aos recursos + apropriados. Menos frequentemente você irá + encontrar pessoas perguntando por que o + <literal>RPM</literal> não está atualizado ou + como eles podem fazer o software executar no Linux XYZ. + Aproveite a oportunidade para informar que o seu + <literal>port</literal> está atualizado (se ele + estiver, é claro) e sugira que eles testem o + &os;.</para> + + <para>À vezes os usuários e desenvolvedores + irão decidir que você é um pessoa + ocupada, cujo tempo é valioso e irão fazer + parte do trabalho para você. Por exemplo, eles + podem:</para> + <itemizedlist> + <listitem> + <para>Submeter um PR ou enviar um <literal>patch</literal> + para atualizar o seu <literal>port</literal>,</para> + </listitem> + + <listitem> + <para>investigar e talvez disponibilizar uma + correção para um PT, ou</para> + </listitem> + + <listitem> + <para>de outra forma, submeter mudanças para o seu + <literal>port</literal>.</para> + </listitem> + </itemizedlist> + + <para>Nestes casos a sua principal obrigação + é responder rapidamente. Mais uma vez, o tempo + limite de espera pela resposta de um mantenedor é de + 14 dias. Após este período as + alterações podem ser processadas sem a sua + aprovação. Eles se deram ao trabalho de fazer + isto por você, portanto, tente pelo menos responder + prontamente. Em seguida analise, aprove, modifique ou + discuta as alterações com eles o mais + rapidamente possível.</para> + + <para>Se você puder fazê-los sentir que a + contribuição deles é apreciada (e ela + deveria ser), você terá melhores chances de + persuadi-los a fazer mais coisas para você no futuro + <!-- smiley -->:-).</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="fix-broken"> + <title>Localizando e corrigindo um <literal>port</literal> + quebrado.</title> + + <para>Existem dois lugares muito bons nos quais você pode + encontrar <literal>ports</literal> que precisam de alguma + atenção.</para> + + <para>Você pode utilizar a <ulink + url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">interface + web</ulink> do banco de dados dos Relatórios de Problema + para pesquisar e visualizar os PRs não resolvidos. A + maioria dos PRs da categoria <literal>ports</literal> são + referentes a atualizações, mas com um pouco de + pesquisa e leitura das sinopses você deverá ser + capaz de encontrar algo interessante para trabalhar (a classe + <literal>sw-bug</literal> é um bom ponto de + partida).</para> + + <para>O outro lugar é o <ulink + url="http://portsmon.FreeBSD.org/">Sistema de + Monitoração de <literal>Ports</literal> do + &os;</ulink>. Em especial, procure por <literal>ports</literal> + sem manutenção e com erros de + compilação e por <literal>ports</literal> que + estejam marcados como <makevar>BROKEN</makevar> (quebrados). + É OK enviar alterações para um + <literal>port</literal> que está sendo mantido, mas + lembre-se de consultar primeiro o mantenedor para o caso dele + já estar trabalhando na solução do + problema.</para> + + <para>Depois que você tiver encontrado um bug ou problema, + colete informações, investigue e conserte! Se + existir já um PR, envie um followup. Caso + contrário, crie um novo PR. Suas + alterações serão revisadas e se tudo + estiver OK, serão processadas e incorporadas.</para> + </sect1> + + <sect1 id="mortal-coil"> + <title>Saber quando parar</title> + + <para>A medida que seus interesses e compromissos mudarem, *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209050552.q855qBYm083511>