doc/pt_BR.ISO8859-1/articles/contributing-ports/article.xml

1055 lines
37 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
2013-11-07 16:39:28 +01:00
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"../../../share/xml/freebsd50.dtd">
<!--
The FreeBSD Documentation Project
The FreeBSD Brazilian Portuguese Documentation Project
Original revision: r39544
$FreeBSD$
-->
2013-11-07 16:39:28 +01:00
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="pt_br">
<info><title>Contribuindo para a Cole<6C><65>o de Ports do FreeBSD</title>
<abstract>
<title>Sum<EFBFBD>rio</title>
<para>Este artigo descreve as formas pelas quais uma pessoa pode
contribuir com a Cole<6C><65>o de
<literal>Ports</literal> do FreeBSD.</para>
</abstract>
<authorgroup>
2013-11-07 16:39:28 +01:00
<author><personname><firstname>Sam</firstname><surname>Lawrance</surname></personname></author>
<author><personname><firstname>Mark</firstname><surname>Linimon</surname></personname></author>
</authorgroup>
2013-11-07 16:39:28 +01:00
<legalnotice xml:id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.general;
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
2013-11-07 16:39:28 +01:00
</info>
<indexterm><primary>Contribuindo com o ports</primary></indexterm>
<sect1>
<title>Introdu<EFBFBD><EFBFBD>o</title>
<para>A Cole<6C><65>o de <literal>Ports</literal>
<20> um trabalho permanente, em constante
evolu<6C><75>o. N<>s queremos oferecer
aos nossos usu<73>rios um reposit<69>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<6C><65>o de <literal>ports</literal> <20>
uma excelente forma de ajudar e de <quote>devolver</quote>
algo para o projeto. N<>o importa se voc<6F>
est<73> <20> procura de participa<70><61>o
cont<6E>nua, ou apenas um desafio divertido para um dia
chuvoso, n<>s vamos adorar receber a sua ajuda!</para>
<para>
Como volunt<6E>rio, o que voc<6F> faz <20> limitado
apenas pelo que voc<6F> quer fazer. No entanto, pedimos que
voc<6F> tome conhecimento do que os outros membros da
comunidade &os; ir<69>o esperar de voc<6F>. Voc<6F>
pode querer levar isso em conta antes de decidir se
voluntariar.</para>
</sect1>
2013-11-07 16:39:28 +01:00
<sect1 xml:id="what-contribute">
<title>O que voc<6F> pode fazer para ajudar</title>
<para>Existem v<>rias maneiras pelas quais voc<6F> pode
contribuir para manter a <20>rvore de
<literal>Ports</literal> atualizada e em boas
condi<64><69>es de funcionamento:</para>
<itemizedlist>
<listitem>
<para>Encontre algum software legal e <20>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<6F> tiver criado ou adotado um
2013-11-07 16:39:28 +01:00
<literal>port</literal>, tome conhecimento <link linkend="maintain-port">do que precisa fazer agora que
<20> um mantenedor</link>.</para>
</listitem>
<listitem>
<para>Quando voc<6F> estiver procurando por um desafio
2013-11-07 16:39:28 +01:00
r<>pido voc<6F> pode <link linkend="fix-broken">corrigir um bug ou um
<literal>port</literal> quebrado</link>.</para>
</listitem>
</itemizedlist>
</sect1>
2013-11-07 16:39:28 +01:00
<sect1 xml:id="create-port">
<title>Criando um novo <literal>port</literal></title>
<para>Existe um documento separado, dispon<6F>vel para ajudar
e gui<75>-lo no processo de cria<69><61>o (ou de
atualiza<7A><61>o) de um <literal>port</literal>,
2013-11-07 16:39:28 +01:00
chamado <link xlink:href="&url.books.porters-handbook;"><literal>Porter's
Handbook</literal></link>. O <literal>Porter's
Handbook</literal> <20> a melhor fonte de refer<65>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<70>ticas recomendadas.</para>
</sect1>
2013-11-07 16:39:28 +01:00
<sect1 xml:id="adopt-port">
<title>Adotando um <literal>port</literal> sem
manuten<65><6E>o</title>
<sect2>
<title>Escolhendo um <literal>port</literal> sem
manuten<65><6E>o</title>
<para>Assumir a responsabilidade pela manuten<65><6E>o
de um <literal>port</literal> que est<73> abandonado
<09> uma excelente forma de se envolver.
<literal>Ports</literal> sem manuten<65><6E>o
s<> s<>o atualizados ou consertados quando
algu<67>m se voluntaria <20> trabalhar neles.
Existe um grande n<>mero de <literal>ports</literal>
sem manuten<65><6E>o. <20> uma boa id<69>ia
iniciar com a ado<64><6F>o de um
<literal>port</literal> que voc<6F> usa
regularmente.</para>
<para>Os <literal>ports</literal> sem manuten<65><6E>o
2013-11-07 16:39:28 +01:00
tem a vari<72>vel <varname>MAINTAINER</varname> setada
como <literal>ports@FreeBSD.org</literal> em seu
<filename>Makefile</filename>. A lista dos
<literal>ports</literal> sem manuten<65><6E>o, seus
erros atuais, e seus respectivos relat<61>rios de problema
2013-11-07 16:39:28 +01:00
, pode ser vista no <link xlink:href="http://portsmon.FreeBSD.org/portsconcordanceformaintainer.py?maintainer=ports%40FreeBSD.org">Sistema
de Monitora<72><61>o de Ports do
2013-11-07 16:39:28 +01:00
FreeBSD</link>.</para>
<para>Alguns <literal>ports</literal> afetam um grande
n<>mero de outros devido as suas depend<6E>ncias e
aos <literal>ports</literal> escravos. Voc<6F> deve
esperar at<61> que tenha alguma experi<72>ncia antes
de se voluntariar para manter um <literal>port</literal>
destes.</para>
<para>Voc<EFBFBD> pode descobrir se um <literal>port</literal>
tem ou n<>o depend<6E>ncias ou
<literal>ports</literal>
escravos, observando o <20>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<6E>ncias
condicionais que n<>o s<>o inclu<6C>das na
compila<6C><61>o padr<64>o do
<filename>INDEX</filename>. Esperamos que voc<6F> 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<6F> compreende as
suas <link linkend="maintain-port">responsabilidades como um
2013-11-07 16:39:28 +01:00
mantenedor</link>. Tamb<6D>m leia o <link xlink:href="&url.books.porters-handbook;">Porter's Handbook</link>.
<emphasis>Por favor, n<>o se comprometa com mais do
que o que voc<6F> se sente capaz de
fazer.</emphasis></para>
<para>Voc<EFBFBD> pode pedir para se tornar o respons<6E>vel
por um <literal>port</literal> sem manuten<65><6E>o no
momento em que desejar. Basta definir o
2013-11-07 16:39:28 +01:00
<varname>MAINTAINER</varname> para o seu pr<70>prio email
e enviar um PR (relat<61>rio de problema) com a
mudan<61>a. Se o <literal>port</literal> tiver erros de
compila<6C><61>o ou se estiver precisando de
atualiza<7A><61>o, voc<6F> pode querer enviar
quaisquer outras altera<72><61>es no mesmo PR. Isto
ir<69> ajudar porque muitos <literal>comitters</literal>
est<73>o pouco dispostos a designar algu<67>m sem um
hist<73>rico conhecido junto ao &os; como
respons<6E>vel pela manuten<65><6E>o de um
<literal>port</literal>. Enviar PRs os quais corrigem erros
de compila<6C><61>o ou que atualizam
<literal>ports</literal> <20> 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<69> examinar o seu PR, dar
<literal>commit</literal> das altera<72><61>es e
finalmente fechar o seu PR. Algumas vezes este processo pode
demorar um pouco (afinal os <literal>comitters</literal>
tamb<6D>m s<>o volunt<6E>rios).</para>
</sect2>
</sect1>
2013-11-07 16:39:28 +01:00
<sect1 xml:id="maintain-port">
<title>Os desafios dos mantenedores de
<literal>ports</literal></title>
<para>Esta se<73><65>o lhe dar<61> uma id<69>ia de
porque os <literal>ports</literal> precisam ser mantidos e
ir<69> apresentar as responsabilidades de um mantenedor de
<literal>ports</literal>.</para>
2013-11-07 16:39:28 +01:00
<sect2 xml:id="why-maintenance">
<title>Porque os <literal>ports</literal> precisam de
manuten<65><6E>o</title>
<para>Criar um <literal>port</literal> <20> uma tarefa que
demanda esfor<6F>o uma <20>nica vez. Garantir que um
<literal>port</literal> est<73> atualizado e que continua
a compilar e a executar <20> um esfor<6F>o de
manuten<65><6E>o permanente. Os mantenedores
(<quote>maintainers</quote>), s<>o pessoas as quais
dedicam uma parte do seu tempo para a realiza<7A><61>o
destes objetivos.</para>
<para>A principal raz<61>o pela qual o sistema de
<literal>ports</literal> precisa de manuten<65><6E>o
<09> trazer os melhores e mais recentes softwares de
terceiros para a comunidade &os;. Um desafio adicional
<09> manter os <literal>ports</literal> individuais
trabalhando com o <literal>framework</literal> da
Cole<6C><65>o de <literal>Ports</literal> a medida que
ele evolui.</para>
<para>Como mantenedor, voc<6F> vai precisar gerenciar os
seguintes desafios:</para>
<itemizedlist>
<listitem>
<formalpara>
<title>Novas vers<72>es de software e
atualiza<7A><61>es.</title>
<para>Novas vers<72>es e atualiza<7A><61>es de
softwares que j<> pertencem ao
<literal>ports</literal> tornam-se dispon<6F>veis o
tempo todo, e estes t<>m de ser incorporados a
Cole<6C><65>o de <literal>Ports</literal> a fim
de atualizar os softwares disponibilizados por
ela.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Altera<EFBFBD><EFBFBD>es em
depend<6E>ncias.</title>
<para>Se forem feitas mudan<61>as significativas nas
depend<6E>ncias de seu <literal>port</literal>, ele
pode precisar ser atualizado para que continue a
funcionar corretamente.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Altera<EFBFBD><EFBFBD>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<6F> mant<6E>m,
altera<72><61>es em seu <literal>port</literal>
podem demandar coordena<6E><61>o com outros
mantenedores.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Intera<EFBFBD><EFBFBD>o com outros usu<73>rios,
mantenedores e desenvolvedores.</title>
<para>Parte do trabalho de um mantenedor <20> atuar no
suporte. N<>o esperamos que voc<6F>
ofere<72>a suporte generalizado (mas ser<65> bem
vindo se voc<6F> optar por isto). O que voc<6F>
deve oferecer <20> um ponto de
coordena<6E><61>o para quest<73>es sobre
os seus <literal>ports</literal> que sejam especificos
ao &os;.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Ca<EFBFBD>a aos bugs.</title>
<para>Um <literal>port</literal> pode ser afetado por
erros que s<>o espec<65>ficos ao &os;.
Voc<6F> 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<6C><65>o de <literal>Ports</literal>
<20> ainda melhor.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Altera<EFBFBD><EFBFBD>es na pol<6F>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<64><61>o que afeta esta
infra-estrutura <20> feita. Voc<6F> deve estar
ciente destas altera<72><61>es para o caso dos
seus <literal>ports</literal> serem afetados e
precisarem de atualiza<7A><61>o.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Altera<EFBFBD><EFBFBD>es no sistema base.</title>
<para>O &os; est<73> em constante desenvolvimento.
Altera<72><61>es ao software, as bibliotecas, ao
kernel ou mesmo altera<72><61>es na
pol<6F>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<73><65>o descreve o processo que
voc<6F> deve seguir para manter seus
<literal>ports</literal> atualizados.</para>
<para>Esta <20> uma vis<69>o geral. Maiores
informa<6D><61>es sobre o processo de
atualiza<7A><61>o de um <literal>port</literal>
est<73>o dispon<6F>veis no
2013-11-07 16:39:28 +01:00
<link xlink:href="&url.books.porters-handbook;">
Porter's Handbook</link>.</para>
<procedure>
<step>
<title>Fique atentendo para as
atualiza<7A><61>es</title>
<para>Monitore o desenvolvedor para tomar conhecimento
sobre a libera<72><61>o de novas vers<72>es,
atualiza<7A><61>es, e corre<72><65>es de
seguran<61>a para o software do seu
<literal>port</literal>. Listas de discuss<73>o
destinadas a avisos de lan<61>amentos ou
p<>ginas web de not<6F>cias s<>o
<20>teis para fazer isso.
Algumas vezes os usu<73>rios
ir<69>o entrar em contato com voc<6F> e perguntar
quando o seu <literal>port</literal> ser<65>
atualizado. Se voc<6F> est<73> ocupado com
outras coisas ou se por qualquer outra raz<61>o
n<>o pode fazer a atualiza<7A><61>o
naquele momento, pergunte se eles ir<69>o
ajud<75>-lo enviando um PR com a
atualiza<7A><61>o.</para>
<para>Voc<EFBFBD> tamb<6D>m pode receber um email
autom<6F>tico do <literal>sistema de
verifica<63><61>o de ports do &os;</literal>
informando que uma nova vers<72>o do seu
<literal>port's distfile</literal> est<73>
dispon<6F>vel. Maiores informa<6D><61>es
sobre este sistema (incluindo a de como parar emails
futuros) ser<65>o fornecidas na mensagem.</para>
</step>
<step>
<title>Incorpore as altera<72><61>es</title>
<para>Quando elas se tornarem dispon<6F>veis,
incorpore as mudan<61>as ao seu
<literal>port</literal>. Voc<6F> 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<EFBFBD>o e teste</title>
<para>Examine cuidadosamente e teste as suas
altera<72><61>es:</para>
<itemizedlist>
<listitem>
<para>Compile, instale e teste o seu
<literal>port</literal> no maior n<>mero
poss<73>vel de plataformas e arquiteturas.
<20> 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<6E>ncias do
seu <literal>port</literal> est<73>o completas.
A melhor forma de fazer isto <20> instalar a sua
pr<70>pria <literal>ports</literal>
<application>tinderbox</application>. Consulte a
2013-11-07 16:39:28 +01:00
se<73><65>o sobre <link linkend="resources">recursos</link> para maiores
informa<6D><61>es.</para>
</listitem>
<listitem>
<para>Verifique se a lista de empacotamento
est<73> atualizada. Isto envolve a
adi<64><69>o de novos arquivos e
diret<65>rios e a remo<6D><6F>o de
entradas n<>o utilizadas.</para>
</listitem>
<listitem>
<para>Verifique o seu <literal>port</literal>
utilizando o &man.portlint.1; como um guia.
2013-11-07 16:39:28 +01:00
Consulte a se<73><65>o sobre <link linkend="resources">recursos</link> para
informa<6D><61>es importantes sobre o uso do
<application>portlint</application>.</para>
</listitem>
<listitem>
<para>Avalie se as altera<72><61>es no seu
<literal>port</literal> podem levar a quebra de
outros <literal>ports</literal>. Se este for o
caso, coordene as altera<72><61>es com os
mantenedores destes <literal>ports</literal>. Isto
<20> especialmente importante se a sua
atualiza<7A><61>o alterar a vers<72>o de
uma biblioteca compartilhada; neste caso, no
m<>nimo, os <literal>ports</literal> que forem
dependentes do seu v<>o precisar atualizar seu
2013-11-07 16:39:28 +01:00
<varname>PORTREVISION</varname> de modo que eles
sejam automaticamente atualizados pelas ferramentas
de automa<6D><61>o tais como o
<application>portmaster</application> ou o
&man.portupgrade.1;.</para>
</listitem>
</itemizedlist>
</step>
<step>
<title>Envie as altera<72><61>es</title>
<para>Envie sua atualiza<7A><61>o atrav<61>s
da submiss<73>o de um PR contendo uma
explica<63><61>o sobre as mudan<61>as e um
patch com as diferen<65>as entre o port original e a
vers<72>o atualizada. Por favor, consulte o artigo
2013-11-07 16:39:28 +01:00
<link xlink:href="&url.articles.problem-reports;">Escrevendo
Relat<61>rios de Problema para o FreeBSD</link>
para maiores informa<6D><61>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<69>o quais s<>o as
mudan<61>as que est<73>o sendo feitas. A
2013-11-07 16:39:28 +01:00
se<73><65>o <link xlink:href="&url.books.porters-handbook;/port-upgrading.html">Atualiza<EFBFBD><EFBFBD>es</link>
do <literal>Porter's Handbook</literal> tem maiores
informa<6D><61>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 &mdash; desta forma, por favor, seja
paciente.</para>
</step>
<step>
<title>D<EFBFBD> feedbacks</title>
<para>Se um <literal>committer</literal> encontrar um
problema nas suas altera<72><61>es, ele
provavelmente ir<69> encaminh<6E>-lo de volta
para voc<6F>. Uma resposta r<>pida ir<69>
ajud<75>-lo a ter o seu PR resolvido mais
rapidamente, e ser<65> melhor para manter o fluxo
de conversa<73><61>o quando se est<73>
tentando resolver qualquer problema.</para>
</step>
<step>
<title>E finalmente...</title>
<para>As suas altera<72><61>es ser<65>o
aceitas e o seu <literal>port</literal> estar<61>
atualizado. O PR ser<65> fechado pelo
<literal>committer</literal>. E <20> isso!</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Assegure que os seus <literal>ports</literal> continuem
compilando corretamente.</title>
<para>Esta se<73><65>o <20> sobre descobrir e
corrigir problemas que impe<70>am os seus
<literal>ports</literal> de compilar corretamente.</para>
<para>O funcionamendo da <literal>Cole<EFBFBD><EFBFBD>o de
Ports</literal> <20> garantido pelo &os; apenas no ramo
<literal>-STABLE</literal> do sistema. Voc<6F> deve
estar executando o <literal>8-STABLE</literal> ou o
<literal>9-STABLE</literal>, preferencialmente o
<20>ltimo. Em teoria, voc<6F> deve ser capaz de
us<75>-lo com a <20>ltima <literal>release</literal>
de cada ramo est<73>vel (uma vez que as
<literal>ABIs</literal> n<>o deveriam mudar) mas se
voc<6F> puder executar o ramo <literal>-STABLE</literal>,
isto ser<65> ainda melhor.</para>
<para>Uma vez que a maioria das instala<6C><61>es do
FreeBSD rodam em maquinas PC compat<61>veis (como
<20> denominada a arquitetura <literal>i386</literal>),
n<>s esperamos que voc<6F> mantenha os seus
<literal>ports</literal> funcionando nesta arquitetura.
N<>s preferimos que os <literal>ports</literal>
tamb<6D>m funcionem de forma nativa na arquitetura
<literal>amd64</literal>. <20> totalmente justo que
voc<6F> pe<70>a ajuda se voc<6F> n<>o
possuir uma destas m<>quinas.</para>
<note>
<para>As falhas mais usuais na compila<6C><61>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<6E>o que uma vers<72>o antiga e relativamente
mais frouxa do compilador <application>gcc</application>
est<73> sendo utilizada. Cada vez mais, os autores de
aplica<63><61>es est<73>o retrabalhando seu
c<>digo para remover estes pressupostos &mdash; mas
se o autor n<>o estiver mantendo o c<>digo
de forma ativa, voc<6F> pode precisar fazer isto
voc<6F> 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<6C><61>o</title>
<para>Verifique regularmente o cluster de
compila<6C><61>o automatizada de
2013-11-07 16:39:28 +01:00
<literal>ports</literal>, o <link xlink:href="http://pointyhat.FreeBSD.org">pointyhat</link>, e
o <link xlink:href="http://www.portscout.org">scanner de
arquivos de distribui<75><69>o</link> para ver
se algum dos <literal>ports</literal> que voc<6F>
mant<6E>m est<73> falhando na
compila<6C><61>o ou no download do
c<>digo fonte (veja a se<73><65>o sobre
<link linkend="resources">recursos</link> para maiores
informa<6D><61>es sobre estes sistemas).
Relat<61>rios de falha tamb<6D>m podem chegar
at<61> voc<6F> por email, vindos de outros
usu<73>rios ou dos sistemas automatizados.</para>
</step>
<step>
<title>Colete informa<6D><61>es</title>
<para>Uma vez que voc<6F> tome conhecimento de um
problema, colete informa<6D><61>es para
ajud<75>-lo a corrigi-lo. Os erros de
compila<6C><61>o reportados pelo pointyhay
s<>o acompanhados por
logs os quais ir<69>o lhe mostrar onde a
compila<6C><61>o falhou. Se a falha tiver sido
reportada <20> voc<6F> por um usu<73>rio,
pe<70>a a ele para lhe enviar
informa<6D><61>es as quais possam lhe ajudar no
diagn<67>stico do problema, tais como:</para>
<itemizedlist>
<listitem>
<para>Logs de compila<6C><61>o</para>
</listitem>
<listitem>
<para>Os comandos e as op<6F><70>es que foram
utilizadas para compilar o <literal>port</literal>
(incluindo as op<6F><70>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<72>o do &os; que eles est<73>o
utilizando, como mostrada pelo
&man.uname.1;<command> -a</command></para>
</listitem>
<listitem>
<para>Quando a sua Cole<6C><65>o de
<literal>Ports</literal> foi atualizada pela
<20>ltima vez</para>
</listitem>
<listitem>
<para>Quando o seu arquivo <filename>INDEX</filename>
foi atualizado pela <20>ltima vez</para>
</listitem>
</itemizedlist>
</step>
<step>
<title>Investigue e encontre uma
solu<6C><75>o</title>
<para>Infelizmente n<>o existe um processo simples
a ser seguido para fazer isto. Por<6F>m
lembre-se: Se voc<6F> estiver sem saber o que
fazer, pe<70>a ajuda! A &a.ports; <20> um bom
lugar para come<6D>ar, e os desenvolvedores do
software tamb<6D>m est<73>o frequentemente
dispostos a ajudar.</para>
</step>
<step>
<title>Envie as altera<72><61>es</title>
<para>Assim como na atualiza<7A><61>o de um
<literal>port</literal>, voc<6F> agora deve
incorporar as altera<72><61>es,
revis<69>-las, test<73>-las, e depois submeter
um PR com elas, fornecendo feedback, se
necess<73>rio.</para>
</step>
<step>
<title>Envie <literal>patches</literal> para os
desenvolvedores do software</title>
<para>Em alguns casos voc<6F> ir<69> precisar
modificar o software do seu <literal>port</literal> para
que ele execute no &os;. Alguns (mas n<>o todos)
desenvolvedores ir<69>o aceitar incorporar tais
<literal>patches</literal> em seu c<>digo para a
pr<70>xima release. Se eles aceitarem, isto pode
at<61> ajudar os seus usu<73>rios nos outros
sistemas derivados do BSD e talvez evite esfor<6F>os
duplicados. Por favor, considere o envio de qualquer
<literal>patch</literal> aplic<69>vel aos
desenvolvedores do software como uma cortesia.</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Investigue os relat<61>rios de bugs e os PRs
relacionados ao seu <literal>port</literal></title>
<para>Esta se<73><65>o <20> sobre a descoberta
e corre<72><65>o de bugs.</para>
<para>Os bugs espec<65>ficos ao &os; s<>o geralmente
causados por suposi<73><69>es feitas pelo
desenvolvedor sobre o ambiente de compila<6C><61>o e
de execu<63><75>o que n<>o se aplicam ao &os;.
<20> pouco prov<6F>vel que voc<6F> encontre um
problema deste tipo, eles s<>o mais sutis e
dif<69>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<61>rios de bugs</title>
<para>Bugs podem ser reportados para voc<6F> por
2013-11-07 16:39:28 +01:00
meio de email atrav<61>s do <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">Banco
de Dados de Relat<61>rios de Problema GNATS</link>.
Bugs tamb<6D>m podem ser reportados diretamente
<20> voc<6F> pelos usu<73>rios.</para>
<para>Voc<EFBFBD> deve responder os PRs e demais
relat<61>rios no prazo de at<61> 14 dias, mas
por favor tente n<>o levar tanto tempo. Tente
responder o mais r<>pido poss<73>vel, mesmo
que seja s<> para dizer que voc<6F> precisa de
mais algum tempo antes que voc<6F> possa trabalhar no
PR.</para>
<para>Se voc<6F> n<>o responder neste prazo de 14
dias, qualquer <literal>committer</literal>
poder<65> realizar o <literal>commit</literal> do PR
ao qual voc<6F> n<>o respondeu baseado na regra
de <literal>maintainer-timeout</literal>.</para>
</step>
<step>
<title>Colete informa<6D><61>es</title>
<para>Se a pessoa que reportou o bug n<>o tiver
fornecido tamb<6D>m uma corre<72><65>o,
voc<6F> vai precisar coletar as
informa<6D><61>es que ir<69>o lhe
permitir gerar uma.</para>
<para>Se o bug pode ser reproduzido, voc<6F> pode
coletar a maioria das informa<6D><61>es
necess<73>rias voc<6F> mesmo. Se n<>o
conseguir reproduzi-lo, pe<70>a para a pessoa que
reportou o bug para coletar as informa<6D><61>es
para voc<6F>, tais como:</para>
<itemizedlist>
<listitem>
<para>Uma descri<72><69>o detalhada das suas
a<><61>es, comportamento esperado para o
programa e o seu comportamento atual</para>
</listitem>
<listitem>
<para>C<EFBFBD>pia dos dados que desencadearam o
bug</para>
</listitem>
<listitem>
<para>Informa<EFBFBD><EFBFBD>o sobre o seu ambiente de
compila<6C><61>o e execu<63><75>o
&mdash; como, por exemplo, a lista dos aplicativos
instalados e a sa<73>da do &man.env.1;</para>
</listitem>
<listitem>
<para>Dumps de mem<65>ria</para>
</listitem>
<listitem>
<para>Rastreamento de pilhas</para>
</listitem>
</itemizedlist>
</step>
<step>
<title>Elimine os relat<61>rios incorretos</title>
<para>Alguns dos relat<61>rios de bugs podem estar
incorretos. Por exemplo, o usu<73>rio pode ter
simplesmente utilizado o programa de forma errada; ou os
aplicativos instalados podem estar desatualizados e
precisando de atualiza<7A><61>o. <20>
vezes, o bug reportado n<>o <20>
espec<65>fico ao &os;. Neste caso, relate o bug
para o desenvolvedor do software. Se a
corre<72><65>o do bug estiver dentro da sua
capacidade t<>cnica, voc<6F> tamb<6D>m pode
aplicar um <literal>patch</literal> ao seu
<literal>port</literal>, para que a
corre<72><65>o seja disponibilizada antes do
release da nova vers<72>o oficial por parte do
desenvolvedor.</para>
</step>
<step>
<title>Encontre uma solu<6C><75>o</title>
<para>Assim como ocorre com os erros de
compila<6C><61>o, voc<6F> vai precisar
encontrar uma corre<72><65>o para o problema.
Mais uma vez, lembre-se de pedir ajuda se voc<6F>
estiver sem saber por onde come<6D>ar!</para>
</step>
<step>
<title>Envie ou aprove as altera<72><61>es</title>
<para>Assim como ocorre na atualiza<7A><61>o de um
<literal>port</literal>, agora voc<6F> deve
incorporar as altera<72><61>es,
revis<69>-las, test<73>-las, e enviar as suas
mudan<61>as em um PR (ou enviar um followup se
j<> existir um PR para o problema). Se outro
usu<73>rio tiver submetido altera<72><61>es
em um PR, voc<6F> tamb<6D>m pode enviar um
followup dizendo se aprova ou n<>o estas
mudan<61>as.</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Forne<EFBFBD>a suporte</title>
<para>Faz parte da fun<75><6E>o de mantenedor prover
suporte &mdash; n<>o para o software em geral &mdash;
mas para o <literal>port</literal> e para qualquer problema
ou peculiaridade que seja espec<65>fica do &os;.
Usu<73>rios podem contat<61>-lo com perguntas,
sugest<73>es, problemas e <literal>patches</literal>.
Na maior parte do tempo ser<65>o mensagens especificas
ao &os;.</para>
<para>Ocasionalmente voc<6F> pode precisar usar as suas
habilidades diplom<6F>ticas para gentilmente direcionar
os usu<73>rios que buscam suporte geral aos recursos
apropriados. Menos frequentemente voc<6F> ir<69>
encontrar pessoas perguntando por que o
<literal>RPM</literal> n<>o est<73> atualizado ou
como eles podem fazer o software executar no Linux XYZ.
Aproveite a oportunidade para informar que o seu
<literal>port</literal> est<73> atualizado (se ele
estiver, <20> claro) e sugira que eles testem o
&os;.</para>
<para><EFBFBD> vezes os usu<73>rios e desenvolvedores
ir<69>o decidir que voc<6F> <20> um pessoa
ocupada, cujo tempo <20> valioso e ir<69>o fazer
parte do trabalho para voc<6F>. 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<72><65>o para um PT, ou</para>
</listitem>
<listitem>
<para>de outra forma, submeter mudan<61>as para o seu
<literal>port</literal>.</para>
</listitem>
</itemizedlist>
<para>Nestes casos a sua principal obriga<67><61>o
<20> responder rapidamente. Mais uma vez, o tempo
limite de espera pela resposta de um mantenedor <20> de
14 dias. Ap<41>s este per<65>odo as
altera<72><61>es podem ser processadas sem a sua
aprova<76><61>o. Eles se deram ao trabalho de fazer
isto por voc<6F>, portanto, tente pelo menos responder
prontamente. Em seguida analise, aprove, modifique ou
discuta as altera<72><61>es com eles o mais
rapidamente poss<73>vel.</para>
<para>Se voc<6F> puder faz<61>-los sentir que a
contribui<75><69>o deles <20> apreciada (e ela
deveria ser), voc<6F> ter<65> melhores chances de
persuadi-los a fazer mais coisas para voc<6F> no futuro
<!-- smiley -->:-).</para>
</sect3>
</sect2>
</sect1>
2013-11-07 16:39:28 +01:00
<sect1 xml:id="fix-broken">
<title>Localizando e corrigindo um <literal>port</literal>
quebrado.</title>
<para>Existem dois lugares muito bons nos quais voc<6F> pode
encontrar <literal>ports</literal> que precisam de alguma
aten<65><6E>o.</para>
2013-11-07 16:39:28 +01:00
<para>Voc<EFBFBD> pode utilizar a <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">interface
web</link> do banco de dados dos Relat<61>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<7A><61>es, mas com um pouco de
pesquisa e leitura das sinopses voc<6F> dever<65> ser
capaz de encontrar algo interessante para trabalhar (a classe
<literal>sw-bug</literal> <20> um bom ponto de
partida).</para>
2013-11-07 16:39:28 +01:00
<para>O outro lugar <20> o <link xlink:href="http://portsmon.FreeBSD.org/">Sistema de
Monitora<72><61>o de <literal>Ports</literal> do
2013-11-07 16:39:28 +01:00
&os;</link>. Em especial, procure por <literal>ports</literal>
sem manuten<65><6E>o e com erros de
compila<6C><61>o e por <literal>ports</literal> que
2013-11-07 16:39:28 +01:00
estejam marcados como <varname>BROKEN</varname> (quebrados).
<20> OK enviar altera<72><61>es para um
<literal>port</literal> que est<73> sendo mantido, mas
lembre-se de consultar primeiro o mantenedor para o caso dele
j<> estar trabalhando na solu<6C><75>o do
problema.</para>
<para>Depois que voc<6F> tiver encontrado um bug ou problema,
colete informa<6D><61>es, investigue e conserte! Se
existir j<> um PR, envie um followup. Caso
contr<74>rio, crie um novo PR. Suas
altera<72><61>es ser<65>o revisadas e se tudo
estiver OK, ser<65>o processadas e incorporadas.</para>
</sect1>
2013-11-07 16:39:28 +01:00
<sect1 xml:id="mortal-coil">
<title>Saber quando parar</title>
<para>A medida que seus interesses e compromissos mudarem,
voc<6F> poder<65> se ver sem tempo para continuar com
algumas (ou com todas) das suas contribui<75><69>es
para os seus <literal>ports</literal>. Tudo bem! Por favor,
nos avise se voc<6F> n<>o estiver mais utilizando um
<literal>port</literal>, ou se de outra forma voc<6F>
n<>o tem mais tempo ou mesmo interesse para ser um
mantenedor. Desta forma, poderemos seguir em frente e permitir
que outras pessoas trabalhem com os problemas existentes nestes
<literal>ports</literal> sem ter que aguardar pela sua resposta.
Lembre-se, o &os; <20> um projeto volunt<6E>rio, se
manter um <literal>port</literal> n<>o <20> mais
divertido, provavelmente est<73> na hora de deixar alguma
outra pessoa faz<61>-lo.</para>
<para>De qualquer forma, a Equipe de Gerenciamento do
<literal>Ports</literal> (<literal>portmgr</literal>) se reserva
o direito de revogar a sua condi<64><69>o de mantenedor
de um <literal>port</literal> se voc<6F> n<>o estiver
dando manuten<65><6E>o de forma ativa ao mesmo j<>
h<> algum tempo (Atualmente, o per<65>odo limite
<20> de 3 meses). Com isto queremos dizer que existem
problemas n<>o resolvidos ou atualiza<7A><61>es
pendentes as quais n<>o foram trabalhadas durante esse
tempo.</para>
</sect1>
2013-11-07 16:39:28 +01:00
<sect1 xml:id="resources">
<title>Recursos para mantenedores de <literal>ports</literal> e
colaboradores</title>
2013-11-07 16:39:28 +01:00
<para>O <link xlink:href="&url.books.porters-handbook;">Porter's
Handbook</link> <20> o seu guia de mochila para o sistema
de <literal>ports</literal>. Mantenha ele sempre a
m<>o!</para>
2013-11-07 16:39:28 +01:00
<para>O artigo <link xlink:href="&url.articles.problem-reports;">Escrevendo
Relat<61>rios de Problemas para o FreeBSD</link> descreve
as melhores pr<70>ticas na elabora<72><61>o e na
submiss<73>o de um PR. Em 2005 foram submetidos mais de 11
mil relat<61>rios de problema na categoria
<literal>ports</literal>. Ao seguir as
recomenda<64><61>es deste artigo voc<6F> ir<69>
nos ajudar a reduzir o tempo necess<73>rio para processar o
seu PR.</para>
2013-11-07 16:39:28 +01:00
<para>O <link xlink:href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">
Banco de Dados de Relat<61>rios de Problemas</link>.</para>
2013-11-07 16:39:28 +01:00
<para>O <link xlink:href="http://pointyhat.FreeBSD.org/">Pointyhat</link>
<20> o cluster de compila<6C><61>o do sistema de
<literal>ports</literal>. Voc<6F> pode utilizar o Pointyhat
para verificar os logs de compila<6C><61>o de um
<literal>port</literal> em todas as arquiteturas e releases
principais.</para>
2013-11-07 16:39:28 +01:00
<para>O <link xlink:href="http://portsmon.FreeBSD.org/">Sistema de
Monitora<72><61>o de Ports do &os;</link> pode lhe
mostrar informa<6D><61>es de refer<65>ncia cruzada
sobre um <literal>port</literal> tais como erros de
compila<6C><61>o e relat<61>rios de problema. Se
voc<6F> <20> um mantenedor voc<6F> pode
utiliz<69>-lo para verificar o status de
compila<6C><61>o dos seus ports. Se voc<6F> <20>
um colaborador voc<6F> pode utiliz<69>-lo para encontrar
<literal>ports</literal> quebrados e sem
manuten<65><6E>o os quais precisam ser
corrigidos.</para>
2013-11-07 16:39:28 +01:00
<para>O <link xlink:href="http://www.portscout.org">Scanner de Arquivos
de Distribui<75><69>o</link> da Cole<6C><65>o
de Ports do FreeBSD pode lhe mostrar <literal>ports</literal>
para os quais n<>o <20> poss<73>vel fazer o
download do c<>digo fonte. Voc<6F> pode
utiliz<69>-lo nos seus pr<70>prios
<literal>ports</literal> ou us<75>-lo
para encontrar <literal>ports</literal> que precisam ter o seu
2013-11-07 16:39:28 +01:00
<varname>MASTER_SITES</varname> atualizado.</para>
<para>O <literal>ports</literal>
<application>tinderbox</application>
<20> a forma mais completa de testar um
<literal>port</literal> atrav<61>s de todo o ciclo de
instala<6C><61>o, empacotamento, e
desinstala<6C><61>o. Ele possui uma interface de linha
de comando, mas tamb<6D>m pode ser controlado atrav<61>s
de uma interface web. Ele est<73> dispon<6F>vel em
<filename>ports/ports-mgmt/tinderbox</filename>. Voc<6F>
2013-11-07 16:39:28 +01:00
ir<69> encontrar maiores informa<6D><61>es na <link xlink:href="http://tinderbox.marcuscom.com/">Home page do marcuscom
sobre o tinderbox</link>.</para>
<para>O &man.portlint.1; <20> um aplicativo o qual pode ser
utilizado para verificar se o seu <literal>port</literal> esta
em conformidade com as muitas e importantes diretrizes
funcionais e de estilo que se aplicam a um
<literal>port</literal>. O <application>portlint</application>
<20> um aplica<63><61>o heur<75>stica simples,
de forma que voc<6F> deve us<75>-lo <emphasis>apenas como
um guia</emphasis>. Se o <application>portlint</application>
sugerir uma altera<72><61>o que lhe parece ser
2013-11-07 16:39:28 +01:00
irracional, consulte o <link xlink:href="&url.books.porters-handbook;">Porter's Handbook</link> ou
pe<70>a orienta<74><61>o usando os canais
apropriados.</para>
<para>A &a.ports; destina-se a discuss<73>o de assuntos gerais
relacionados ao sistema de <literal>ports</literal>. Ela
<20> um bom lugar para se pedir ajuda. Voc<6F> pode se
2013-11-07 16:39:28 +01:00
<link xlink:href="http://lists.freebsd.org/mailman/listinfo">inscrever, ou
ler e consultar o hist<73>rico de mensagens da
2013-11-07 16:39:28 +01:00
lista</link>. A leitura do hist<73>rico da &a.ports-bugs;
e da &a.cvs-ports; tamb<6D>m pode ser interessante.</para>
</sect1>
<index/>
</article>