MPR: o “AUR” para sistemas baseados no Debian e Ubuntu

Há poucos dias vi no Reddit o anúncio de um projeto que visa ser o “AUR” para sistemas baseados no Debian e Ubuntu. Aqui está o link da publicação no Reddit (está em inglês).

Basicamente, o que diferenciaria o MPR com uma PPA, repositório próprio ou script de instalação é que o MPR é muito similar ao AUR e usa o PKGBUILD.

4 curtidas

Eu sou inscrito no r/linux e acompanhei cada “pecinha” do MPR surgindo (o makedeb, o tap…). Finalmente alguém apareceu para juntar isso e hospedar o sistema.

O empacotamento acessível é para mim a principal vantagem do Arch e é muito bom que isso tenha sido trazido para o Debian.

1 curtida

É possível me explicar (explain like I am five) o que tem de tão especial no formato utilizado pelo AUR (e consequentemente MPR) em comparação aos pacotes DEB e RPM?

Os pacotes RPM e DEB parecem-me relativamente simples de entender: tudo é organizado em sua “árvore de pastas e arquivos” no próprio pacote, e essa “árvore” deve ser replicada na partição raiz do usuário. O pacote em si só tem além disso – para resolver a “burocracia” – as informações de quais são as dependências devem ser atendidas antes, e quais são as instruções para informar ao sistema operacional que este ou aquele software foi instalado. Como exemplo, primeiro mostro o conteúdo do pacote RPM do unrar 6.02 (Mageia)

_usr
...|bin
......|_unrar
...|lib
......|_.build_id
.................|_e4
....................|_1c8cc...
...|_share
.........|_doc
.............|_unrar
...................|_license.txt
...................|_readme.txt 

…e depois do pacote DEB do unrar 6.04 (Ubuntu).

_control.tar.xz
..............|_control
..............|_md5sums
..............|_postinsts
..............|_prerm
_data.tar.xz
............|_usr
................|_bin
....................|_unrar-nonfree
................|_share
......................|_doc
..........................|_unrar
................................|_acknow.txt.gz
................................|_changelog.Debian.gz
................................|_copyright
................................|_license.txt
................................|_readme.txt
..........................|_man
..............................|_man1
...................................|_unrar-nonfree.1.gz
_debian-binary

Mas disseram que seria o DUR kkkkk, mudaram outra vez?

Não há nada de especial nos arquivos de pacotes prontos em si, até porque no AUR não tem pacotes prontos (diferente dos PPAs e do OBS).

A vantagem do PKGBUILD (que é o arquivo que origina os pacotes) é ele ser um único shell script com todas as instruções para compilar e empacotar um pacote. Mais ainda sem atalhos como macros, classes e etc., de modo que são facilmente reutilizados em outras distribuições. O autor mesmo do DUR já confirmou que vários PKGBUILDs de lá só mudam o nome das dependências, e não duvido disso porque eu já fiz source PKGBUILD fora do Arch para compilar alguns pacotes com instruções confusas.

Uma comparação justa seria com os arquivos que originam pacotes desses formatos que são:

  • .spec do RPM (que são mais difíceis de serem reutilizados sem o rpm em si por serem um formato especializado e que contém “macros” a serem expandidos)
  • O Debian não tem um equivalente único do PKGBUILD, a informação fica espalhada em vários arquivos na subpasta DEBIAN na pasta de trabalho do empacotador, e não há padronização de como o pacote deve ser compilado salvo orientações de segurança. O PKGBUILD serve de esqueleto para organizar esse processo.
3 curtidas

@Capezotte , obrigado pela explicação.


O próprio autor do tópico criado no Reddit explica isso. MPR e DUR são a mesma coisa.

Veja você mesmo o tópico cujo link está no meu primeiro post ou acesse o local direto por este link permanente.

2 curtidas