Guia do pkgsrc

Documentação sobre o sistema de pacotes do NetBSD

Alistair Crooks

Hubert Feyrer

Desenvolvedores do pkgsrc

$NetBSD: index.html,v 1.7 2006/07/24 18:19:32 tron Exp $

Resumo

Informação sobre o uso do sistema de pacotes do NetBSD (pkgsrc) tanto para o usuário que quer apenas instalar pacotes quanto para o desenvolvedor que quer criar novos pacotes.


Índice

1. Introdução
1.1. Introdução
1.2. Panorâmica
1.3. Terminologia
1.4. Tipografia
I. Guia do usuário do pkgsrc
2. Onde obter o pkgsrc
2.1. Na forma de um arquivo tar
2.2. Via SUP
2.3. Via CVS
3. Usando o pkgsrc em um sistema diferente do NetBSD
3.1. Pondo o pkgsrc para funcionar
3.2. Notas específicas por plataformas
3.2.1. Darwin (Mac OS X)
3.2.2. FreeBSD
3.2.3. Interix
3.2.4. IRIX
3.2.5. Linux
3.2.6. OpenBSD
3.2.7. Solaris
4. Usando o pkgsrc
4.1. Trabalhando com pacotes binários
4.1.1. Onde obter pacotes binários
4.1.2. Como usar os pacotes binários
4.1.3. Uma palavra de advertência
4.2. Produzindo os pacotes a partir da fonte
4.2.1. Requisitos
4.2.2. Transferindo distfiles
4.2.3. Como compilar e instalar
4.2.4. Selecionando o compilador
5. Configurando o pkgsrc
5.1. Configuração geral
5.2. Variáveis que afetam o processo de compilação
5.3. Configurações avançadas para desenvolvedor
5.4. Selecionando as Opções de Compilação (Build)
6. Criando pacotes binários
6.1. Construindo um único pacote binário
6.2. Configurações para criar pacotes binários
6.3. Fazendo a compilação em massa dos pacotes
6.3.1. Configuração
6.3.2. Outras considerações ambientais
6.3.3. A operação
6.3.4. O que ela faz
6.3.5. Exigências de espaço em disco
6.3.6. Configurando um ambiente protegido (sandbox) para compilações em chroot
6.3.7. Produzindo um conjunto parcial de pacotes
6.3.8. Fazendo o upload dos resultados de uma compilação massiva
6.4. Criando uma coleção de pacotes em múltiplos CD-ROMs
6.4.1. Exemplo de cdpack
7. Perguntas Feitas com Freqüência
7.1. Há listas de correspondência para discussões relacionadas com os pacotes?
7.2. Onde está a documentação do pkgviews?
7.3. Utilitários para o gerenciamento de pacotes (pkgtools)
7.4. Como usar o pkgsrc como usuário sem permissões de root
7.5. Como retomar transferências quando da obtenção de arquivos?
7.6. Como posso instalar/usar o XFree86 do pkgsrc?
7.7. Como posso instalar/usar o X.org do pkgsrc?
7.8. Como obter arquivos por trás de uma porta corta-fogo (firewall)
7.9. Como digo ao make fetch para fazer FTP passivo?
7.10. Como obter todos os distfiles de uma vez só
7.11. Qual o significado de “Don't know how to make /usr/share/tmac/tmac.andoc”?
7.12. O que significa “Could not find bsd.own.mk”?
7.13. Usando o sudo com o pkgsrc
7.14. Como mudar a localização dos arquivos de configuração?
7.15. Verificações automáticas de segurança
II. Guia do desenvolvedor do pkgsrc
8. Componentes dos pacotes - arquivos, diretórios e conteúdos
8.1. Makefile
8.2. distinfo
8.3. patches/*
8.4. Outros arquivos compulsórios
8.5. Arquivos opcionais
8.6. work*
8.7. files/*
9. Fazendo programação nos Makefiles
9.1. Variáveis do Makefile
9.1.1. Convenções de nomenclatura
9.2. Amostras de código
9.2.1. Adicionando coisas a uma lista
9.2.2. Convertendo uma lista interna em uma lista externa
9.2.3. Passando variáveis para um comando de shell
9.2.4. Critérios para o uso de aspas
9.2.5. Estratagema para sobrepassar uma inconsistência do Make do BSD
10. Questões relativas à PLIST
10.1. RCS ID
10.2. Geração semi-automática da PLIST
10.3. Ajustando o resultado de make print-PLIST
10.4. Substituição de variáveis na PLIST
10.5. Compressão da página de manual
10.6. Modificando a fonte da PLIST com PLIST_SRC
10.7. PLISTs específicas por plataforma e que se diferenciam
10.8. Compartilhamento de diretórios entre pacotes
11. Metodologia do buildlink
11.1. Convertendo pacotes para usar buildlink3
11.2. Escrevendo arquivos buildlink3.mk
11.2.1. Anatomia de um arquivo buildlink3.mk
11.2.2. Atualizando o BUILDLINK_DEPENDS.pacote nos arquivos buildlink3.mk
11.3. Escrevendo arquivos builtin.mk
11.3.1. Anatomia de um arquivo builtin.mk
11.3.2. Preferências globais por software nativo ou do pkgsrc
12. A estrutura do pkginstall
12.1. Arquivos e diretórios fora do prefixo de instalação
12.1.1. Manipulação de diretórios
12.1.2. Manipulação de arquivos
12.2. Arquivos de configuração
12.2.1. Como configurar o PKG_SYSCONFDIR
12.2.2. Dizendo ao software onde os arquivos de configuração estão
12.2.3. Fazendo ajustes em instalações
12.2.4. Desabilitando a manipulação de arquivos de configuração
12.3. O sistema de roteiros de inicialização
12.3.1. Desabilitando o manejo de roteiros da inicialização do sistema
12.4. Usuários e grupos do sistema
12.5. Shells do sistema
12.5.1. Desabilitando o manejo de configuração de arquivos
13. Manejo das opções
13.1. Opções globais dadas por antecipação
13.2. Convertendo pacotes para usar o bsd.options.mk
14. O processo de produção dos pacotes
14.1. Alocação dos programas
14.2. Alvos principais
14.3. Outros alvos úteis
15. Pondo seu pacote para funcionar
15.1. Operação geral
15.1.1. Como inserir variáveis no /etc/mk.conf
15.1.2. Onde instalar a documentação
15.1.3. Pacotes sob restrição
15.1.4. Administrando dependências
15.1.5. Manejo de conflitos com outros pacotes
15.1.6. Pacotes que não podem ou não deveriam ser produzidos
15.1.7. Pacotes que não deveriam ser deletados depois de instalados
15.1.8. Manejando pacotes com problemas de segurança
15.1.9. Como lidar com bugs do compilador
15.1.10. Como lidar com o incremento das versões ao ajustar um pacote existente
15.1.11. Portabilidade dos pacotes
15.2. Questões possíveis de download
15.2.1. Pacotes cujos distfiles não estão disponíveis para simples download
15.2.2. Como lidar com distfiles modificados que mantêm o nome 'velho'
15.3. Anomalias de configuração
15.3.1. Bibliotecas compartilhadas - libtool
15.3.2. Usando libtool em pacotes GNU que já suportam libtool
15.3.3. GNU Autoconf/Automake
15.4. Compilando o pacote
15.4.1. Definições de CPP
15.5. Ações específicas para os pacotes
15.5.1. Interação do usuário
15.5.2. Lidando com as licenças
15.5.3. Instalando arquivos de escore
15.5.4. Pacotes que contêm roteiros do perl
15.5.5. Pacotes com caminhos para outros intérpretes fixados no código
15.5.6. Pacotes que instalam módulos do perl
15.5.7. Pacotes que instalam arquivos info
15.5.8. Pacotes que instalam os arquivos de dados GConf2
15.5.9. Pacotes que instalam os arquivos de dados do scrollkeeper
15.5.10. Pacotes que instalam fontes do X11
15.5.11. Pacotes que instalam módulos GTK2
15.5.12. Pacotes que instalam dados em SGML e XML
15.5.13. Pacotes que instalam extensões ao banco de dados MIME
15.5.14. Pacotes que usam intltool
15.5.15. Pacotes que instalam scripts de inicialização
15.6. Retorno para o autor
16. Eliminando inconsistências
17. Propondo e Consignando
17.1. Propondo seus pacotes
17.2. Notas gerais para adição, atualização e remoção de pacotes
17.3. Consignação: Importando um pacote para dentro do CVS
17.4. Atualizando um pacote para uma versão mais nova
17.5. Movendo um pacote no pkgsrc
A. Um exemplo simples de pacote: bison
A.1. arquivos
A.1.1. Makefile
A.1.2. DESCR
A.1.3. PLIST
A.1.4. Checando um pacote com o pkglint
A.2. Passos para a compilação, instalação e empacotamento
B. Registros da produção (Build logs)
B.1. Produzindo o figlet
B.2. Empacotando o figlet
C. Disposição do arquivamento dos pacotes no servidor de FTP
D. Orientação geral para a edição do guia do pkgsrc
D.1. Alvos
D.2. Procedimento