Gerenciador de Pacotes Único para todas as distros
Autor: Alexandre Moura | Publicado: 2011-01-27T09:11:00-08:00

Tradução Livre do Artigo disponível em (http://ostatic.com/blog/one-package-manager-for-them-all) 


Desenvolvedores da RedHat, Fedora, Debina, Ubuntu, OpenSUsE, Mandriva e  Mageia reuniram-se num escritório da SUsE em Nürnberg para discutir como  implementar esse instalador universal referindo-se a uma AppStore.

A ideia de um formato de pacotes para todas as distribuições linux não é nenhuma novidade. Um dos maiores exemplos é a idéia dos arquivos FatELF de Ryan C. Gordon. Foram várias as reações em contrátio. Contudo um time formado por representantes de várias as distribuições mais tradicionais pensam em implementar "uma API e infraestrutura comum de instalação de aplicações". Esta é uma resposta à crença de que os usuários finais não estão preocupados como bibliotecas, dependências, compatibilidade e outros detalhes técnicos. Eles pensam que usuários somente se interessam por screenshots, descrições básicas, avaliações etc. A ideia é definir como uma ferramenta pode encontrar e instalar aplicações.

A ideia de Ryan "icculus" Gordon para criar arquivos de pacotes de software precisava que módulos de kernel, dependências, bibliotecas e softwares fossem todos incluídos é um grande pacote. 

Ryan "icculus" Gordon's idea was to package software archives so that  needed kernel modules, dependencies, libraries, and software files were  all included in one larger package. Sua ideia era fornecer todas as arquiteturas para todas as distribuições. Ele explica "ele adiciona algumas informações de contabilidade no início do arquivo e depois inclui os binários ELF. FatELF permite incluir os binários em um único arquivo separados por OS ABI, versão do OS ABI, ordem de byte, tamanho da palavra, e o mais importante, arquitetura da CPU". Uma das principais ideias é que os pacotes de software devem ser bem semelhantes, da mesma forma que os instaladores de software Windows. Não demorou muito para a oposição suspender o projeto.

Mas a ideia está sendo retomada, de forma bem diferente. AppStream se baseia no Projeto Bretzn, que produz os pacotes para as várias arquiteturas e distribuições após o desenvolvedor enviar o código, publicar o pacote e enviar os anúncios de lançamento.

<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism."><span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">

<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism."><span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">A equipe do AppStream considera o Ubuntu Software Center a interface ideal para o projeto e planeja migrá-lo para o PackageKit. Pensam em usar os servidores do Xapian para fornecer as buscas e o Open Collaboration Services para permitir as avaliações e revisões dos usuários. Metadados serão armazenados em servidores com as informações do pacote, localização de ícones, tipo e local do repositório entre outros. Um servidor extrai as informações do pacote de um arquivo .desktop (que as distribuições suportadas deverão fornecer para cada pacote) e a saída de todas as informações para um arquivo XML. A interface do AppStream será um Front-End para o PackageKit, que irá instruir o gerenciador de pacote da distribuição usada a instalar o pacote solicitado.
<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">

<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism."><span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">


<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">A diferença entre o FatELF e o AppStream é que o primeiro inclui todos os arquivos necessários para o pacote universal, enquanto que o segundo compila somente os metadados necessários para popular o instalador universal. Ele pode ser o principal ou único gerente gráfico de pacotes da maioria das distribuições, se desejar substituir (ou somado a), por exemplo, Synaptic ou RpmDrake da Mandriva
<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism."><span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">

<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism.">A meta principal é possuir uma experiência única de software para Linux como um todo, ou nas palavras da equipe da AppStream "para instalar e remover software no Linux".<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">


<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism."><span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">

<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism."><span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">

<span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: #ebeff9;" title="But the idea is being revived, albeit by a 
totally different mechanism."><span onmouseout="this.style.backgroundColor='#fff'" onmouseover="this.style.backgroundColor='#ebeff9'" style="background-color: white;" title="AppStream builds on
 the idea introduced by the Bretzn Project, which will do the packaging 
for various architectures and distributions after the developer sends up
 the code, publish the package, and send out release announcements.">