Quando um pacote é criado, ele é colocado em /usr/ports/packages/All
e links são feitos de um ou mais subdiretórios de /usr/ports/packages
. Os nomes desses subdiretórios são especificados pela variável CATEGORIES
. O objetivo é facilitar a vida do usuário quando ele estiver vasculhando a pilha de pacotes no site FTP ou no CD-ROM. Por favor, dê uma olhada na lista atual de categorias e escolha as que são adequadas para o port.
Esta lista também determina de onde, na árvore de ports, o port será importado. Se houver mais de uma categoria aqui, os arquivos do port devem ser colocados no subdiretório com o nome da primeira categoria. Veja abaixo para mais informação sobre como escolher as categorias certas.
Aqui está a lista atual de categorias de ports. As marcadas com um asterisco (*
) são categorias virtuais - 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.
Para categorias não virtuais, há uma descrição de uma linha em COMMENT
no Makefile
desse subdiretório.
Categoria | Descrição | Notas |
---|---|---|
accessibility | Ports para ajudar usuários com deficiências. | |
afterstep * | Ports para apoiar o gerenciador de janelas AfterStep. | |
arabic | Suporte ao idioma árabe". | |
archivers | Ferramentas de arquivamento. | |
astro | Ports astronômicos. | |
audio | Suporte de som. | |
benchmarks | Utilitários de benchmarking. | |
biology | Software relacionado à biologia. | |
cad | Ferramentas de desenho assistidas por computador. | |
chinese | Suporte ao idioma chinês. | |
comms | Software de comunicação. | Principalmente software para falar com o port serial. |
converters | Conversores de código de caracteres. | |
databases | Bancos de dados. | |
deskutils | Coisas que costumavam estar na área de trabalho antes dos computadores serem inventados. | |
devel | Utilitários de desenvolvimento. | Não coloque bibliotecas aqui só porque são bibliotecas. Elas não deveriam estar nesta categoria, a menos que elas realmente não pertençam a nenhum outro lugar. |
dns | Software relacionado ao DNS. | |
docs * | Meta-ports para documentação do FreeBSD. | |
editors | Editores gerais. | Editores especializados entram na seção para essas ferramentas. Por exemplo, um editor de fórmula matemática math , e tem editores como uma segunda categoria. |
elisp * | Emacs-lisp ports. | |
emulators | Emuladores para outros sistemas operacionais. | Emuladores de terminal não estão aqui. Os baseados em X vão para o x11 e baseados em texto para qualquer comms ou misc , dependendo da funcionalidade exata. |
enlightenment * | Ports relacionados com o gerenciador de janelas Enlightenment. | |
finance | Aplicações monetárias, financeiras e relacionadas. | |
french | Suporte ao idioma francês. | |
ftp | Utilitários de cliente e servidor deFTP. | Se o port fala com FTP e HTTP, coloque-o em ftp com uma categoria secundária de www . |
games | Jogos. | |
geography * | Software relacionado à geografia. | |
german | Suporte ao idioma alemão. | |
gnome * | Ports do ProjetoGNOME. | |
gnustep * | Software relacionado ao ambiente de desktop GNUstep. | |
graphics | Utilitários gráficos. | |
hamradio * | Software para rádio amador. | |
haskell * | Software relacionado à linguagem Haskell. | |
hebrew | Suporte ao idioma hebraico. | |
hungarian | Suporte de idioma húngaro. | |
irc | Utilitários do Internet Relay Chat. | |
japanese | Suporte ao idioma japonês. | |
java | Software relacionado à linguagem Java™. | A categoria Java não deve ser única para um port. Salvo para ports diretamente relacionadas à linguagem Java, os mantenedores de ports também são encorajados a não usar Java como a principal categoria de um port. |
kde * | Ports do Projeto KDE (genérico). | |
kde-applications * | Aplicações do Projeto KDE. | |
kde-frameworks * | Bibliotecas add-on do Projeto KDE para programação com Qt. | |
kde-plasma * | Desktop do Projeto KDE. | |
kld * | Módulos carregáveis do kernel. | |
korean | Suporte ao idioma coreano. | |
lang | Linguagens de programação. | |
linux * | Aplicações Linux e utilitários de suporte. | |
lisp * | Software relacionado à linguagem Lisp. | |
mail | Mail software. | |
mate * | Ports relacionado ao ambiente de desktop MATE, um fork do GNOME 2. | |
math | Software de computação numérica e outras utilidades para matemática. | |
mbone * | Aplicações MBone. | |
misc | Utilitários diversos | Coisas que não pertencem em nenhum outro lugar. Se possível, tente encontrar uma categoria melhor para o port do que misc , como os ports tendem a ser negligenciados aqui. |
multimedia | Software multimídia. | |
net | Software de rede diversos. | |
net-im | Software de mensagens instantâneas. | |
net-mgmt | Software de gerenciamento de rede. | |
net-p2p | Aplicativos de rede peer to peer. | |
net-vpn * | Aplicativos de Rede Privada Virtual. | |
news | Software de notícias USENET. | |
parallel * | Aplicativos que lidam com o paralelismo na computação. | |
pear * | Ports relacionados ao framework PHP Pear. | |
perl5 * | Ports que exigem Perl versão 5 para rodar. | |
plan9 * | Vários programas de Plan9. | |
polish | Suporte ao idioma polonês". | |
ports-mgmt | Ports para gerenciar, instalar e desenvolver ports e pacotes do FreeBSD. | |
portuguese | Suporte ao idioma Português. | |
print | Software de Impressão. | As ferramentas de editoração eletrônica (pré-visualizadores etc.) também pertencem aqui. |
python * | Software relacionado a linguagemPython. | |
ruby * | Software relacionado a linguagemRuby. | |
rubygems * | Ports de pacotes RubyGems. | |
russian | Suporte de idioma russo. | |
scheme * | Software relacionado à linguagem Scheme. | |
science | Ports científicos que não se encaixam em outras categorias, como astro , biologia e matemática . | |
security | Utilitários de segurança. | |
shells | Linha de comando do shell. | |
spanish * | Suporte ao idioma espanhol. | |
sysutils | Utilidades do sistema. | |
tcl * | Ports que usam o Tcl para rodar. | |
textproc | Utilitários de processamento de texto. | Não inclui ferramentas de editoração eletrônica, que vão para print . |
tk * | Ports que usam o Tk para rodar. | |
ukrainian | Suporte de idioma Ucraniano. | |
vietnamese | Suporte de idioma Vietnamita. | |
wayland * | Ports para suportar o servidor de display Wayland. | |
windowmaker * | Ports para suportar o gerenciador de janelas do WindowMaker. | |
www | Software relacionado à World Wide Web. | O suporte ao idioma HTML também pertence aqui. |
x11 | O X Window System e seus amigos. | Esta categoria é apenas para software que suporta diretamente o sistema de janelas. Não coloque aplicativos regulares do X aqui. A maioria deles é usada em outras categorias x11- * (veja abaixo). |
x11-clocks | X11 relógios. | |
x11-drivers | Drivers X11. | |
x11-fm | Gerentes de arquivos X11. | |
x11-fonts | Fontes X11 e utilitários de fonte. | |
x11-servers | Servidores X11. | |
x11-themes | X11 temas. | |
x11-toolkits | Kits de ferramentas X11. | |
x11-wm | Gerentes de janela do X11. | |
xfce * | Ports relacionados com o ambiente de trabalho Xfce. | |
zope * | Zope suporte. |
Como muitas das categorias se sobrepõem, escolher qual das categorias será a principal categoria do port pode ser entediante. Existem várias regras que governam essa questão. Aqui está a lista de prioridades, em ordem decrescente de precedência:
A primeira categoria deve ser uma categoria física (veja acima). Isso é necessário para o empacotamento funcionar. Categorias virtuais e categorias físicas podem ser misturadas depois disso.
As categorias específicas de idioma sempre vêm em primeiro lugar. Por exemplo, se o port instalar fontes X11 em japonês, a linha CATEGORIES
deve ser japanese x11-fonts
.
Categorias específicas são listadas antes de outras menos específicas. Por exemplo, um editor de HTML é listado como www editors
, e não ao contrário. Além disso, não insira net
quando o port pertencer a qualquer uma das categorias irc
, mail
, news
, security
ou www
, pois net
está incluída implicitamente.
x11
é usado como uma categoria secundária somente quando a categoria principal é uma linguagem natural. Em particular, não coloque x11
na linha de categoria em aplicações X.
Os modes Emacs são colocados na mesma categoria de ports que a aplicação suportada pelo mode, e não em editors
. Por exemplo, um mode Emacs para editar código fonte de alguma linguagem de programação entra em lang
.
Ports que instalam módulos do kernel carregáveis também têm a categoria virtual kld
na sua linha CATEGORIES
. Esta é uma das coisas tratadas automaticamente adicionando USES=kmod
.
misc
não aparece com nenhuma outra categoria não virtual. Se houver misc
com outra categoria na linha CATEGORIES
, isso significa que misc
pode ser seguramente excluído e o port colocado apenas no outro subdiretório.
Se o port realmente não pertencer em nenhum outro lugar, coloque-o em misc
.
Se a categoria não estiver claramente definida, por favor, insira um comentário sobre isso na submissão do port no banco de dados de bugs, para que possamos discuti-lo antes de importá-lo. Como committer, envie uma mensagem para a lista de discussão de ports do FreeBSD, para podermos discutir isso primeiro. Com muita frequência, novos ports são importados na categoria errada, e depois são movidos imediatamente para a categoria correta.
Como a Coleção de Ports vem crescendo com o tempo, várias novas categorias também são adicionadas. Novas categorias podem ser categorias virtuais- aquelas que não possuem um subdiretório correspondente na árvore de ports - ou físicas - aquelas que possuem. Esta seção discute os problemas envolvidos na criação de uma nova categoria física. Leia atentamente antes de propor uma nova.
Nossa prática atual tem sido a de evitar a criação de uma nova categoria física, a menos que um grande número de ports logicamente pertençam a ela, ou os ports que pertenceriam a ela sejam um grupo logicamente distinto de interesse geral limitado (por exemplo, categorias relacionadas com as línguas humanas faladas), ou de preferência ambas.
A razão para isto é que tal mudança cria uma quantidade grande de trabalho tanto para os committers quanto para todos os usuários que rastreiam alterações na coleção de ports. Além disso, propostas de alteração de categorias parecem naturalmente atrair controvérsias. (Talvez isso seja porque não há um consenso claro sobre quando uma categoria é “grande o suficiente”, nem quando as categorias devem ser apenas para propósitos de busca (e, portanto, qual número de categorias seria um número ideal), e assim por diante.)
Aqui está o procedimento:
Proponha a nova categoria na lista de discussão de ports do FreeBSD. Inclua uma justificativa detalhada para a nova categoria, incluindo por que as categorias existentes não são suficientes, e a lista de ports existentes propostos para a mudança. (Se houver novos ports pendentes no Bugzilla que caberia nessa categoria, liste-os também.) Se você for o mantenedor e/ou o apresentador, respectivamente, mencione isso, pois isso pode ajudar no caso.
Participe da discussão.
Se parecer que há apoio o suficiente para a ideia, registre um PR que inclua a lógica e a lista de ports existentes que precisam ser movidos. O ideal é que este PR também inclua essas alterações:
Makefile
s para os novos ports, uma vez que sejam recopiados
Makefile
para a nova categoria
Makefile
para as categorias dos ports antigos
Makefile
s para ports que dependem dos ports antigos
(para crédito extra, inclua os outros arquivos que precisam ser alterados, conforme o procedimento no Guia do Committer.)
Como isso afeta a infraestrutura do ports e envolve a movimentação e alteração de vários ports, pode ser necessário executar testes de regressão no cluster de build, e portanto, atribua o PR para a Equipe de Gerenciamento de Ports <portmgr@FreeBSD.org>
.
Se esse PR for aprovado, um committer precisará seguir o restante do procedimento que é descrito no Guia do Committer.
A proposta de uma nova categoria virtual é semelhante à acima, mas muito menos trabalhoso, já que nenhum port terá que ser movido. Nesse caso, os únicos patches a serem incluídos no PR serão aqueles para adicionar a nova categoria na linha CATEGORIES
dos ports afetados.
Ocasionalmente alguém propõe reorganizar as categorias com uma estrutura de dois níveis, ou algum outro tipo de estrutura de palavras-chave. Até o momento, nada vem de nenhuma dessas propostas porque, embora sejam muito fáceis de fazer, o esforço envolvido com qualquer readequação de toda a coleção de ports existente é assustadora, para se dizer o mínimo. Por favor, leia o histórico dessas propostas nos arquivos da lista de discussão antes de postar essa idéia. Além disso, esteja preparado para ser desafiado a oferecer um protótipo funcional.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.