The translation is temporarily closed for contributions due to maintenance, please come back later.
English Portuguese (Brazil)
Only a fraction of the variables (<varname><replaceable>VAR</replaceable></varname>) that can be overridden are mentioned in this document. Most (if not all) are documented at the start of <filename>/usr/ports/Mk/bsd.port.mk</filename>; the others probably ought to be. Note that this file uses a non-standard tab setting: <application>Emacs</application> and <application>Vim</application> will recognize the setting on loading the file. Both <citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>ex</refentrytitle><manvolnum>1</manvolnum></citerefentry> can be set to use the correct value by typing <command>:set tabstop=4</command> once the file has been loaded. Apenas uma fração das variáveis ​​(<varname><replaceable>VAR</replaceable></varname>) que podem ser sobrepostas são mencionados neste documento. A maioria (se não todas) estão documentadas no início do <filename>/usr/ports/Mk/bsd.port.mk</filename>; as outras provavelmente deveriam estar também. Observe que esse arquivo usa uma configuração de tabulação não padrão: O <application>Emacs</application> e o <application>Vim</application> irão reconhecer a configuração ao carregar o arquivo. Ambos <citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry> e <citerefentry><refentrytitle>ex</refentrytitle><manvolnum>1</manvolnum></citerefentry> podem ser configurados para usar o valor correto digitando <command>:set tabstop=4</command> uma vez que o arquivo foi carregado.
A well-written <filename>pkg-descr</filename> describes the port completely enough that users would not have to consult the documentation or visit the website to understand what the software does, how it can be useful, or what particularly nice features it has. Mentioning certain requirements like a graphical toolkit, heavy dependencies, runtime environment, or implementation languages help users decide whether this port will work for them. Um <filename>pkg-descr</filename> bem escrito descreve o port completamente o suficiente para que os usuários não precisem consultar a documentação ou visitar o site para entender o que o software faz, como ele pode ser útil ou quais recursos particularmente legais ​​ele possui. A menção de certos requisitos, como um kit de ferramentas gráfico, dependências pesadas, ambiente de runtime ou linguagens de implementação, ajuda os usuários a decidir se este port funcionará para eles.
It is also recommended that if there are reasonable default answers to the questions, <varname>PACKAGE_BUILDING</varname> be used to turn off the interactive script when it is set. This will allow us to build the packages for CDROMs and FTP. Também é recomendado que, se houver respostas padrão razoáveis ​​para as perguntas, <varname>PACKAGE_BUILDING</varname> pode usado para desativar a intervenção do usuário quando o mesmo estiver definido. Isso nos permitirá compilar os pacotes para CDROMs e FTP.
Configuring the <filename>Makefile</filename> is pretty simple, and again we suggest looking at existing examples before starting. Also, there is a <link linkend="porting-samplem">sample Makefile</link> in this handbook, so take a look and please follow the ordering of variables and sections in that template to make the port easier for others to read. Configurar o <filename>Makefile</filename> é bastante simples e, novamente, sugerimos examinar os exemplos existentes antes de começar. Além disso, há um <link linkend="porting-samplem">Makefile de exemplo</link> neste manual, então dê uma olhada e por favor siga a ordem das variáveis ​​e seções naquele modelo para tornar o port mais fácil para os outros lerem.
In here, the <literal>a</literal>, <literal>b</literal>, and <literal>p</literal> are used as if meaning <quote>alpha</quote>, <quote>beta</quote> or <quote>pre-release</quote> and <quote>patch level</quote>, but they are only letters and are sorted alphabetically, so any letter can be used, and they will be sorted appropriately. Aqui, <literal>a</literal>, <literal>b</literal> e <literal>p</literal> são usados ​​como se significassem <quote>alfa</quote>, <quote>beta</quote> ou <quote>pre-release</quote> e <quote>nível de patch</quote>, mas elas são apenas letras e são classificados por ordem alfabética, portanto, qualquer letra pode ser utilizada, e elas serão ordenadas de forma adequada.
<varname>PORTREVISION</varname> is a monotonically increasing value which is reset to 0 with every increase of <varname>DISTVERSION</varname>, typically every time there is a new official vendor release. If <varname>PORTREVISION</varname> is non-zero, the value is appended to the package name. Changes to <varname>PORTREVISION</varname> are used by automated tools like <citerefentry><refentrytitle>pkg-version</refentrytitle><manvolnum>8</manvolnum></citerefentry> to determine that a new package is available. <varname>PORTREVISION</varname> é um valor monotonicamente crescente que é redefinido para 0 com cada incremento de <varname>DISTVERSION</varname>, normalmente toda vez que houver uma nova versão oficial do fornecedor. E se <varname>PORTREVISION</varname> é diferente de zero, o valor é anexado ao nome do pacote. Mudanças em <varname>PORTREVISION</varname> são usadas ​​por ferramentas automatizadas como <citerefentry><refentrytitle>pkg-version</refentrytitle><manvolnum>8</manvolnum></citerefentry> para determinar se um novo pacote está disponível.
The next release is 0.3. Since <varname>PORTEPOCH</varname> never decreases, the version variables are now: O próximo lançamento é 0.3. Desde que <varname>PORTEPOCH</varname> nunca diminua, as variáveis ​​de versão são agora:
Two optional variables, <varname>PKGNAMEPREFIX</varname> and <varname>PKGNAMESUFFIX</varname>, are combined with <varname>PORTNAME</varname> and <varname>PORTVERSION</varname> to form <varname>PKGNAME</varname> as <literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. Make sure this conforms to our <link linkend="porting-pkgname">guidelines for a good package name</link>. In particular, the use of a hyphen (<literal>-</literal>) in <varname>PORTVERSION</varname> is <emphasis>not</emphasis> allowed. Also, if the package name has the <replaceable>language-</replaceable> or the <replaceable>-compiled.specifics</replaceable> part (see below), use <varname>PKGNAMEPREFIX</varname> and <varname>PKGNAMESUFFIX</varname>, respectively. Do not make them part of <varname>PORTNAME</varname>. Duas variáveis ​​opcionais, <varname>PKGNAMEPREFIX</varname> e <varname>PKGNAMESUFFIX</varname>, são combinadas com <varname>PORTNAME</varname> e <varname>PORTVERSION</varname> para formar <varname>PKGNAME</varname> como <literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. Certifique-se de que isto está de acordo com as nossas <link linkend="porting-pkgname">diretrizes para um bom nome de pacote</link>. Em particular, o uso de um hífen (<literal>-</literal>) dentro de <varname>PORTVERSION</varname> <emphasis>não é</emphasis> permitido. Além disso, se o nome do pacote tiver o <replaceable>language-</replaceable> ou a parte <replaceable>-compiled.specifics</replaceable> (veja abaixo), use <varname>PKGNAMEPREFIX</varname> e <varname>PKGNAMESUFFIX</varname>, respectivamente. Não os faça parte de <varname>PORTNAME</varname>.
The package name is defined as <literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. Make sure to set the variables to conform to that format. O nome do pacote é definido como <literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>. Certifique-se de definir as variáveis ​​para estar em conformidade com esse formato.
Here is the current list of port categories. Those marked with an asterisk (<literal>*</literal>) are <emphasis>virtual</emphasis> categories—those that do not have a corresponding subdirectory in the ports tree. They are only used as secondary categories, and only for search purposes. Aqui está a lista atual de categorias de ports. As marcadas com um asterisco (<literal>*</literal>) são categorias <emphasis>virtuais</emphasis> - aquelas que não possuem um subdiretório correspondente na árvore de ports. Elas são usadas ​​apenas como categorias secundárias e apenas para fins de pesquisa.
Kernel loadable modules. Módulos carregáveis ​​do kernel.
Ports installing loadable kernel modules also have the virtual category <filename>kld</filename> in their <varname>CATEGORIES</varname> line. This is one of the things handled automatically by adding <literal>USES=kmod</literal>. Ports que instalam módulos do kernel carregáveis ​​também têm a categoria virtual <filename>kld</filename> na sua linha <varname>CATEGORIES</varname>. Esta é uma das coisas tratadas automaticamente adicionando <literal>USES=kmod</literal>.
Using <varname>MASTER_SITE_<replaceable>*</replaceable></varname> Variables Usando Variáveis <varname>MASTER_SITE_<replaceable>*</replaceable></varname>​​
These values and variables are defined in <link xlink:href="https://svnweb.freebsd.org/ports/head/Mk/bsd.sites.mk?view=markup"><filename>Mk/bsd.sites.mk</filename></link>. New entries are added often, so make sure to check the latest version of this file before submitting a port. Estes valores e variáveis ​​são definidos em <link xlink:href="https://svnweb.freebsd.org/ports/head/Mk/bsd.sites.mk?view=markup"><filename>Mk/bsd.sites.mk</filename></link>. Novas entradas são adicionadas com frequência, portanto, verifique a versão mais recente deste arquivo antes de enviar um port.
If the distribution file comes from a specific commit or tag on <link xlink:href="https://github.com">GitHub</link> for which there is no officially released file, there is an easy way to set the right <varname>DISTNAME</varname> and <varname>MASTER_SITES</varname> automatically. These variables are available: Se o arquivo de distribuição vier de um commit ou tag específico no <link xlink:href="https://github.com">GitHub</link> para o qual não há arquivo lançado oficialmente, há uma maneira fácil de definir o <varname>DISTNAME</varname> e <varname>MASTER_SITES</varname> corretos automaticamente. Estas variáveis ​​estão disponíveis:
For each group, a <varname>${WRKSRC_<replaceable>group</replaceable>}</varname> helper variable is created, containing the directory into which the file has been extracted. The <varname>${WRKSRC_<replaceable>group</replaceable>}</varname> variables can be used to move directories around during <_:buildtarget-1/>, or add to <varname>CONFIGURE_ARGS</varname>, or whatever is needed so that the software builds correctly. Para cada grupo, uma variável auxiliar <varname>${WRKSRC_<replaceable>group</replaceable>}</varname> é criada, contendo o diretório no qual o arquivo foi extraído. As variáveis <varname>${WRKSRC_<replaceable>group</replaceable>}</varname> ​​podem ser usadas para mover diretórios durante o <_:buildtarget-1/>, ou para serem adicionadas em <varname>CONFIGURE_ARGS</varname>, ou o que for necessário para que o software seja compilado corretamente.
The group names cannot have dashes in them (<literal>-</literal>), in fact, they cannot have any characters out of the <literal>[a-zA-Z0-9_]</literal> range. This is because, while <citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</manvolnum></citerefentry> is ok with variable names containing dashes, <citerefentry><refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum></citerefentry> is not. Os nomes dos grupos não podem ter traços neles (<literal>-</literal>), na verdade, eles não podem ter nenhum caractere fora do range <literal>[a-zA-Z0-9_]</literal>. Isso porque, enquanto<citerefentry><refentrytitle> make</refentrytitle><manvolnum>1</manvolnum></citerefentry> está ok com nomes de variáveis ​​contendo traços, <citerefentry><refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum></citerefentry>não.
However, these words cannot be used for postfixing purposes since they yield special meaning: <literal>default</literal>, <literal>all</literal> and <literal>ALL</literal> (they are used internally in item <xref linkend="porting-master-sites-n-what-changes-in-port-targets"/>). Furthermore, <literal>DEFAULT</literal> is a special purpose word (check item <xref linkend="porting-master-sites-n-DEFAULT-group"/>). No entanto, essas palavras não podem ser usadas para finalidades de pós-fixação, pois elas produzem um significado especial: <literal>default</literal>, <literal>all</literal> e <literal>ALL</literal> (estes são usados ​​internamente no item <xref linkend="porting-master-sites-n-what-changes-in-port-targets"/>). Além disso, <literal>DEFAULT</literal> é uma palavra de propósito especial (verifique o item <xref linkend="porting-master-sites-n-DEFAULT-group"/>).
Many ports depend on other ports. This is a very convenient feature of most Unix-like operating systems, including FreeBSD. Multiple ports can share a common dependency, rather than bundling that dependency with every port or package that needs it. There are seven variables that can be used to ensure that all the required bits will be on the user's machine. There are also some pre-supported dependency variables for common cases, plus a few more to control the behavior of dependencies. Muitos ports dependem de outros ports. Esta é uma característica muito conveniente da maioria dos sistemas operacionais Unix-like, incluindo FreeBSD. Vários ports podem compartilhar uma dependência comum, ao invés de agrupar essa dependência com cada port ou pacote que precisa dela. Há sete variáveis ​​que podem ser usadas para garantir que todos os bits necessários estejam na máquina do usuário. Existem também algumas variáveis ​​de dependência pré-suportadas para casos comuns, além de algumas outras para controlar o comportamento das dependências.
However, such assignment can pollute run-time dependencies with entries not defined in the port's original <varname>BUILD_DEPENDS</varname>. This happens because of <citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s lazy evaluation of variable assignment. Consider a <filename>Makefile</filename> with <varname>USE_<replaceable>*</replaceable></varname>, which are processed by <filename>ports/Mk/bsd.*.mk</filename> to augment initial build dependencies. For example, <literal>USES= gmake</literal> adds <package role="port">devel/gmake</package> to <varname>BUILD_DEPENDS</varname>. To prevent such additional dependencies from polluting <varname>RUN_DEPENDS</varname>, create another variable with the current content of <varname>BUILD_DEPENDS</varname> and assign it to both <varname>BUILD_DEPENDS</varname> and <varname>RUN_DEPENDS</varname>: No entanto, essa atribuição pode poluir as dependências de tempo de execução com entradas não definidas no <varname>BUILD_DEPENDS</varname> original do port. Isso acontece por causa de uma avaliação preguiçosa de atribuição de variáveis do <citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Considere um <filename>Makefile</filename> com <varname>USES_<replaceable>*</replaceable></varname>, que são processados ​​por <filename>ports/Mk/bsd.*.mk</filename> para aumentar as dependências iniciais de compilação. Por exemplo, <literal>USES=gmake</literal> adiciona <package role="port">devel/gmake</package> para <varname>BUILD_DEPENDS</varname>. Para evitar que essas dependências adicionais poluam <varname>RUN_DEPENDS</varname>, crie outra variável com o conteúdo atual de <varname>BUILD_DEPENDS</varname> e atribua-a para ambos <varname>BUILD_DEPENDS</varname> e <varname>RUN_DEPENDS</varname>: