terça-feira, 20 de agosto de 2013

Haiku: Gerenciador de Pacote – Fazendo as Coisas Certas

Na esteira do assunto do momento, que é o gerenciador de pacotes do Haiku, traduzimos o artigo do Phillipe Saint-Pierre para o Unixmen que trata sobre o assunto. Uma pequena introdução para que nos preparemos para o que vem por aí.

Haiku: Gerenciador de Pacote – Fazendo as Coisas Certas
Escrito por Phillipe Saint-Pierre em 11 de junho de 2013

A comunidade Haiku está vivendo um momento muito peculiar estes dias. Eles estão testemunhando a criação do seu Gerenciador de Pacote. Considerado geralmente como a última peça faltante antes do Beta, a Haiku, Inc. atribuiu recentemente dois contratos que permitem trabalho em tempo integral neste subprojeto.
Enquanto isso, aqui está uma apresentação de como se espera que funcione:
Primeiramente, para responder a uma potencial pergunta frequente (PFAQ?), não, não é reutilizar outro formato de pacote do mundo do código aberto. Seguindo a filosofia do Haiku (e do BeOS), eles fomentam fazer as coisas certas. «Teria sido mais rápido» não é um argumento válido aqui. Realmente, várias decisões teriam sido tomadas diferentemente se fosse apenas considerado o tempo. Ao invés disso, uma solução baseada em sistema de arquivos foi criada, sendo tanto elegante como simples.
Então, como o Gerenciador de Pacote trabalha? É bastante simples. Como muitos sistemas, o Haiku permite processos para observar o conteúdo de certos diretórios. Assim, o Gerenciador de Pacote observa o conteúdo de muitos diretórios predeterminados e recebe eventos quando arquivos são adicionados ou removidos deles. Você colocaria o arquivo do pacote dentro de /boot/common/packages para uma instalação para o sistema inteiro ou /boot/home/config/packages para uma instalação para usuário único (a propósito, este último pode não fazer muito sentido uma vez que o Haiku é ainda um SO monousuário, mas é uma evidência futura).
Então, quando um pacote é movido para dentro de um daqueles diretórios, o Gerenciador de Pacote toma nota. Ele olha se existem quaisquer dependências faltantes e o conteúdo é então virtualmente extraído dos diretórios adequados. Virtualmente sim, porque /boot/common é um ponto de montagem de um sistema de arquivos chamado packagefs e seu conteúdo é realmente a união do todos os arquivos de pacotes em seu subdiretório de pacote. Em outras palavras, em /boot/common você verá os arquivos contidos em todos os arquivos HPKG situados em /boot/common/packages, e o mesmo pode ser dito para /boot/home/config.
Este processo de instalação pode ainda ser feito manualmente ao colocar aqueles arquivos utilizando o explorador de arquivos (copiar-colar, baixar diretamente para aquela localização) ou com a ajuda de uma ferramenta. Ou seja, o “mecanismo atrás dos bastidores” é igual.
Também, como você pode adivinhar, para remover um pacote, pode-se simplesmente remover arquivo do pacote de seu diretório de “pacotes” (seja ao eliminar o arquivo ou movê-lo para outra pasta). O daemon do gerenciador de pacote gerenciará casos onde dependências que foram instaladas com o pacote removido já não são requeridas e oferecer para limpar seu sistema.
Se você está interessado em aprender mais sobre este novo Gerenciador de Pacote, a principal fonte de informação sobre a matéria é o Wiki. Lá, você encontrará links para o repositório onde o código está sendo trabalhado, as especificações do formato de arquivo e políticas sobre como construir um pacote. Ele já é testável e a lista de pacotes disponíveis está crescendo. Ele deve ajudar desenvolvedores externos a tentar portar seus softwares e empacotá-los para o Haiku.

Fonte: Unixmen

Nenhum comentário:

Postar um comentário