Como criar pacotes para o Gentoo ou Sabayon Linux

Este artigo explica e exemplifica, um procedimento fácil para fazer pacotes para o Gentoo ou Sabayon.

[ Hits: 25.056 ]

Por: Alberto Federman Neto. em 20/05/2013 | Blog: https://ciencialivre.blog/


Empacotando programas já instalados no sistema



Para pacotes Gentoo

Supondo que você instalou algo no seu micro, com Portage:

# LINGUAS="pt_BR" emerge -av myspell-pt-br

Agora quer fazer um pacote do que já está instalado. Para isso, usa-se um comando de Gentoo, quickpkg:

# quickpkg app-dicts/myspell-pt-br

O comando também pode ser usado da maneira indicada abaixo. Assim, pacotes "tbz2" serão feitos para tudo o que está instalado no seu micro:

# quickpkg */*

Onde os pacotes ficarão? No diretório PKGDIR especificado no "make.conf" (veja página 2).

Instalar o software e, ao mesmo tempo, empacotar e salvar, pode ser feito assim:

# LINGUAS="pt_BR" FEATURES="quickpkg" emerge -av myspell-pt-br

Para pacotes do Sabayon

O próprio comando equo é usado. Execute o comando como abaixo. Como no nosso exemplo anterior, o dicionário "myspell-pt-br" foi instalado a partir do nosso pacote já feito, vamos mudar os exemplos.

Vamos empacotar um Krusader (página 4):

sudo equo pkg quickpkg --ask --savedir /home/albfneto/SABADIR krusader

Para outros pacotes instalados no seu micro, substitua o nome pelo do pacote que quer. Se definir vários pacotes, vários serão empacotados, respeitando suas respectivas categorias.

No teste para mostrar que o comando funciona, escolhi não o Krusader, mas um pacote mais interessante. Empacotei meu Compiz completo, instalado:

sudo equo pkg quickpkg --ask --savedir /home/albfneto/SABADIR compiz compiz-fusion compiz-plugins-unsupported compiz-plugins-main compiz-plugins-extra libcompizconfig compizconfig-backend-gconf compiz-bcop compizconfig-python fusion-icon emerald emerald-themes ccsm simple-ccsm

>> !!!
>> Lista dos pacotes a serem considerados:
>>   [__system__] x11-wm/compiz-0.8.8-r3
>>   [__system__] x11-wm/compiz-fusion-0.8.8
>>   [__system__] x11-plugins/compiz-plugins-unsupported-0.8.8
>>   [__system__] x11-plugins/compiz-plugins-main-0.8.8
>>   [__system__] x11-plugins/compiz-plugins-extra-0.8.8
>>   [__system__] x11-libs/libcompizconfig-0.8.8
>>   [__system__] x11-libs/compizconfig-backend-gconf-0.8.8
>>   [__system__] x11-libs/compiz-bcop-0.8.8
>>   [__system__] dev-python/compizconfig-python-0.8.4-r4
>>   [__system__] x11-apps/fusion-icon-0.1-r3
>>   [__system__] x11-wm/emerald-0.8.8
>>   [__system__] x11-themes/emerald-themes-0.5.2
>>   [__system__] x11-apps/ccsm-0.8.4-r2
>>   [__system__] x11-apps/simple-ccsm-0.8.4-r1
>>  ## [x11-wm/compiz-0.8.8-r3] Pacote gerado.: 
 /home/albfneto/SABADIR/x11-wm:
 compiz-0.8.8-r3.734ea997cab39615202f2b7493e14688aade5be8~0.tbz2
>>  ## [x11-wm/compiz-fusion-0.8.8] Pacote gerado.: 
 /home/albfneto/SABADIR/x11-wm:
 compiz-fusion-0.8.8.a54257e28bfe6a4d8448bcb07a80a831d84595a9~2.tbz2
>>  ## [x11-plugins/compiz-plugins-unsupported-0.8.8] 
 Pacote gerado.: /home/albfneto/SABADIR/x11-plugins:
 compiz-plugins-unsupported-0.8.8.a7f41922cb9faa6a39637733497f0~2.tbz2
>>  ## [x11-plugins/compiz-plugins-main-0.8.8] 
 Pacote gerado.: /home/albfneto/SABADIR/x11-plugins:
 compiz-plugins-main-0.8.8.bd3cffa4d8e3fd56b57624721cedb20b84de65dd~0.tbz2
>>  ## [x11-plugins/compiz-plugins-extra-0.8.8] 
 Pacote gerado.: /home/albfneto/SABADIR/x11-plugins:
 compiz-plugins-extra-0.8.8.4411fec261a8bbadd2a610f99fbcfa5ed32f~2.tbz2
>>  ## [x11-libs/libcompizconfig-0.8.8] Pacote gerado.: 
 /home/albfneto/SABADIR/x11-libs:
 libcompizconfig-0.8.8.e92ea3e113082a280759160491dd1860ec6ad9dd~2.tbz2
>>  ## [x11-libs/compizconfig-backend-gconf-0.8.8] 
 Pacote gerado.: /home/albfneto/SABADIR/x11-libs:
 compizconfig-backend-gconf-0.8.8.6162133c5be95e1ffaba79027c955f1~2.tbz2
>>  ## [x11-libs/compiz-bcop-0.8.8] 
 Pacote gerado.: /home/albfneto/SABADIR/x11-libs:
 compiz-bcop-0.8.8.7685e77d006b8d7a6eda8294b95304cb582cb2e2~0.tbz2
>>  ## [dev-python/compizconfig-python-0.8.4-r4] 
 Pacote gerado.: /home/albfneto/SABADIR/dev-python:
 compizconfig-python-0.8.4-r4.ea3b7f4ac7e717071ee73c2ce5f7a2c1602~0.tbz2
>>  ## [x11-apps/fusion-icon-0.1-r3] Pacote gerado.: 
 /home/albfneto/SABADIR/x11-apps:
 fusion-icon-0.1-r3.6ff2efe99c917e8f9fb6a45c8a1891dd0dbf6a47~4.tbz2
>>  ## [x11-wm/emerald-0.8.8] Pacote gerado.: 
 /home/albfneto/SABADIR/x11-wm:
 emerald-0.8.8.dfd21d0fe8de33418ee711dd2f1a0cf5d451d5e1~0.tbz2
>>  ## [x11-themes/emerald-themes-0.5.2] Pacote gerado.: 
 /home/albfneto/SABADIR/x11-themes:
 emerald-themes-0.5.2.b9e13587363a407cb055de550f4eb29218dbfb8d~5.tbz2
>>  ## [x11-apps/ccsm-0.8.4-r2] Pacote gerado.: 
 /home/albfneto/SABADIR/x11-apps:
 ccsm-0.8.4-r2.08ad27130158c817f37218339e6454230e0de89b~2.tbz2
>>  ## [x11-apps/simple-ccsm-0.8.4-r1] 
 Pacote gerado.: /home/albfneto/SABADIR/x11-apps:
 simple-ccsm-0.8.4-r1.44f2f1e24356e6eed8589913022b430e0d658011~1.tbz2


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Preparando o sistema
   3. Fazendo e instalando um pacote para Gentoo
   4. Fazendo e instalando um pacote para Sabayon
   5. Empacotando programas já instalados no sistema
   6. Conclusão
Outros artigos deste autor

Ambiente gráfico MATE no Sabayon Linux

Como manter GNOME2 em Sabayon Linux

Usando Linux - Vida nova para um velho Itautec Infoway

zsh (Z shell) - Uma alternativa ao bash

Sabayon Linux remasterizado para placas de vídeo ATI

Leitura recomendada

OpenNebula - Gerenciamento de nuvens privadas e públicas

VLC, o reprodutor multimídia

Como utilizar o repositório SlackBuilds

Instalando o navegador Opera no Arch Linux

Instalando o Nagios 3.0 em distros baseadas em Red Hat

  
Comentários
[1] Comentário enviado por albfneto em 20/05/2013 - 07:59h

ERRATA E COMPLEMENTOS DO ARTIGO:

Atualizado até 6 de Fevereiro de 2015.

IMPORTANTE

uma versão do pacote MYSPELL-PT-BR, agora, baixe deste Link:

https://www.dropbox.com/s/n0n5eax8jut8xke/app-dicts%3Amyspell-pt-br-2.1.1.a89f1d3613f5c1b8ec11efc457...

mas ele já está no repositório normal do sabayon, instalável com equo.



A) ERRATA:
Página 1, há um erro no link para baixar o pacote Serpentine, página 1. Onde se lê "href =" o correto é sem "href =".

Pagina 4, onde se lê: "para não delte para Sabayonetar nada, nenhum Ebuild", lê-se: "para não deletar nada, nenhum Ebuild, ou Diretório".

Página 1,onde se lê:"protegê-lo da minha instalação", lê-se: proteger o da minha instalação".


B) COMPLEMENTOS. MAIS PACOTES.

Aqui irei colocar Links para downloads de mais pacotes que estou fazendo e guardando, podem baixar livremente.

Formando um pequeno repositório de pacotes para Sabayon e Gentoo:

Mais pacotes que criei e disponibilizei.

B1) Sulfur, a antiga interface gráfica do Entropy (para Sabayon, antecessora do Rigo). O Sulfur é mais prático quando você quer controlar quais pacotes instalar:

http://www.vivaolinux.com.br/dica/Sabayon-Linux-Usando-os-dois-instaladores-graficos-tanto-Rigo-como...

Pode ser baixada deste endereço:

https://www.dropbox.com/s/sr2wbxb6cwiwapd/app-admin%3Asulfur-1.0_rc107.c393e29a7b729783b5b2bd722bb88...

B2) Um Firefox, Experimental, 64 Bits, versão 21,compilado em Português do Brasil, com suporte inclusive ao antigo Gstreamer, para Sabayon:

https://www.hidrive.strato.com/lnk/bErhkkvl
https://www.dropbox.com/s/lpgd1mcod7l4g1i/www-client%3Afirefox-21.0.01a466a30551917b3fc8921e8d525658...

B3) ConsoleKit, necessário em alguns casos para manter o botão desligar ativo:

http://www.vivaolinux.com.br/dica/Sabayon-Linux-com-MATE-ou-KDE-Botao-de-Desligar-sumiu-Resolvido/

Baixe de:

https://www.dropbox.com/s/592umm11cwq5h8w/sys-auth%3Aconsolekit-0.4.5_p20120320-r1%7E0.tbz2
https://www.dropbox.com/s/ax6dgqwmbnwitgs/sys-auth%3Aconsolekit-0.4.5_p20120320-r2.fe9df300c1975bcca...

B4) Protobuf antigo, 2.4.1, anterior à versão 2.5.0, necessário para manter fusion-icon funcionando, com o protobuf novo, não funciona.

baixem de:

https://www.dropbox.com/s/uq1lsm41whyzegl/dev-libs%3Aprotobuf-2.4.1.a36e506628aeb01fd9bc41c9306f9186...

B5) Alguns Codecs de Audio Uteis. o Win32Codecs, já tem no Sabayon, mas aqui estão AMD64Codec, FAAC, MAC (Monkey's Audio Codecs)

AMD64CODECS:
https://www.dropbox.com/s/9x7w1pc52zz8n79/media-libs%3Aamd64codecs-20071007.2b5536ed09c0b543e3b9edef...

FAAC:
https://www.dropbox.com/s/lcvdneslfeidsy1/media-libs%3Afaac-1.28-r3.426d594fa34f97179a44a932fea3c1c1...

MAC:
https://www.dropbox.com/s/dhad9scku6fw608/media-sound%3Amac-3.99.4.5.7-r1.dd6b639a0952a64f9d09307580...

WIN32CODECS:
https://www.dropbox.com/s/8e4trlkeulwtel5/media-libs%3Awin32codecs-20071007-r4.659aabc928faff0508fee...

Para Gentoo:
https://www.dropbox.com/sh/xsgnqxg9vwx4qhb/X9o-305vKh
https://www.dropbox.com/sh/y801qaewvp9gwxq/0cdQa3iMJl

B6) Este é um Kernel Estável (3.9.11) que não dá nenhum problema com NVIDIA, nem com ATI, nem com Systemd,

porque o 3.10 dá problemas.

Se quiser usar esse Kernel, baixe de:

https://www.dropbox.com/s/5ort7o6dk1q84i4/sys-kernel%3Alinux-sabayon-3.9.11.30981542b966d78d6b6e2446...

B7) Para a GUI de Portage, Kuroo,há uma nova versão, consulte este meu Artigo:

https://gnutwoall.wordpress.com/2013/10/28/compilando-kuroo4-64-bits-em-sabayon-eou-gentoo/

B8) Versão de 2012 do Amule Adunanza. Agradecimentos a Sabayonino, Itália pela compilação.

Pode ser baixado da minha área do Dropbox:

https://www.dropbox.com/s/tijoitg2029tda0/net-p2p%3Aamuleadu-9999.99059dda93a20df7536c3e5c81c777074e...

Ou da de Sabayonino:

https://www.dropbox.com/s/6a58r9ewnmtud16/net-p2p%3Aamuleadu-9999.99059dda93a20df7536c3e5c81c777074e...

também veja este outro meu artigo sôbre o Amule Adunanza:

https://gnutwoall.wordpress.com/2014/07/07/amule-adunanza-em-sabayon/









C) SCREENSHOT:

Este Screenshot mostra o aplicativo empacotado Portato, que foi baixado do Link e instalado em outro computador:

http://www.vivaolinux.com.br/screenshot/KDE-Preservando-Pacote-Classico-que-nao-existe-mais/

Isso demostra, confirma, que o Pacote criado está funcionando.





[2] Comentário enviado por removido em 20/05/2013 - 10:25h

Ótimo artigo Alberto (como sempre). Testei aqui as duas formas para Gentoo (estou com Funtoo) e funcionou perfeitamente. Depois de ver o seu artigo eu cheguei a uma conclusão: o Daniel e o Fábio são gênios. Interessante que no caso do portage, ele mesmo procura pelas dependências e empacota-as, pensei que ele empacotaria somente o pacote que mandei, mas ele empacotou as dependências também. Tenho apenas algumas perguntas:
1º Para criar pacotes para Sabayon eu precisaria ter o entropy instalado aqui no meu Funtoo? Ou tem outra forma de criar sem usar o entropy?
2º Como faria para empacotar direto dos fontes de um programa, teria que escrever uma ebuild para o portage?

Muito bom o seu artigo! Favoritado!

[3] Comentário enviado por albfneto em 20/05/2013 - 12:23h

Sim, precisa, porque para empacotar para Sabayon (que é entropy), precisa ter o Entropy. Como viu no meu artigo, o pacote entropy pode ser feito do pacote gentoo normal, mas a conversão, pacote gentoo para pacote sabayon, é feita pelo Entropy.

vc pode tentar instalar entropy no funtoo, ele está no Overlay Sabayon, mas se não quiser mudar o Funtoo, colocando instalador binário nele, faça um duplo boot comum sabayon pequeno, tipo com fluxbox, só para criar pacotes de sabayon.

Sim, ele empacota as dependencias, principalmente se vc instalar o pacote a ser criado no seu micro antes.
Concordo com vc, Portage e Entropy são Obras-Primas de Programação, muito bem bolados.

Inclusive, Fábio disse, na época que fez o entropy,que entropy e portage usam inteligência artificialpara a detecção das dependências. São aplicativos fabulosos, pq portage é um GCC automático, e o Entropy, baixa o pacote, acerta com o portage, compara (portage triggering) e depois usa o portage para instalá-lo

Inclusive gentoístas que criticam muito Sabayon, possívelmente nunca testaram sabayon, pq mesmo o Daniel, disse para mim que gosta de Sabayon, e que usou no notebook dele, para não precisar recompilar tudo, pq isso esquentava o notebook.

Resposta da sua pergunta dois: sim precisa, o Ebuild é o script guia, que "fala" pro Portage o que ele deve fazer. Tem alguns artigos e tutoriais na net de como escrever ebuilds,mas é uma coisa meio difícil para mim, pq não sou profissional de TI, mas acredito que quem faz Bash Scripts e Scripts em Python (tanto Portage como Entropy foram escritos em Python), consiga.

[4] Comentário enviado por removido em 20/05/2013 - 13:49h


[3] Comentário enviado por albfneto em 20/05/2013 - 12:23h:

Sim, precisa, porque para empacotar para Sabayon (que é entropy), precisa ter o Entropy. Como viu no meu artigo, o pacote entropy pode ser feito do pacote gentoo normal, mas a conversão, pacote gentoo para pacote sabayon, é feita pelo Entropy.

vc pode tentar instalar entropy no funtoo, ele está no Overlay Sabayon, mas se não quiser mudar o Funtoo, colocando instalador binário nele, faça um duplo boot comum sabayon pequeno, tipo com fluxbox, só para criar pacotes de sabayon.

Sim, ele empacota as dependencias, principalmente se vc instalar o pacote a ser criado no seu micro antes.
Concordo com vc, Portage e Entropy são Obras-Primas de Programação, muito bem bolados.

Inclusive, Fábio disse, na época que fez o entropy,que entropy e portage usam inteligência artificialpara a detecção das dependências. São aplicativos fabulosos, pq portage é um GCC automático, e o Entropy, baixa o pacote, acerta com o portage, compara (portage triggering) e depois usa o portage para instalá-lo

Inclusive gentoístas que criticam muito Sabayon, possívelmente nunca testaram sabayon, pq mesmo o Daniel, disse para mim que gosta de Sabayon, e que usou no notebook dele, para não precisar recompilar tudo, pq isso esquentava o notebook.

Resposta da sua pergunta dois: sim precisa, o Ebuild é o script guia, que "fala" pro Portage o que ele deve fazer. Tem alguns artigos e tutoriais na net de como escrever ebuilds,mas é uma coisa meio difícil para mim, pq não sou profissional de TI, mas acredito que quem faz Bash Scripts e Scripts em Python (tanto Portage como Entropy foram escritos em Python), consiga.


Obrigado pelas respostas Alberto! Estou pensando em empacotar algumas coisas para Sabayon e disponibilizar por exemplo no MEGA ou no Dropbox. Principalmente esses pacotes pouco conhecidos, esses dias eu vi no grupo do sabayon o pessoal querendo um pacote que não tinha no repo do sabayon e nem na árvore do Gentoo... Por isso estou mais interessado empacotar direto dos fontes, vou ver se consigo aprender a escrever as ebuilds.
__________________________
Dei uma pesquisada e uma olhada nas ebuilds e realmente parecem ser difíceis rsrsrs. As PKGBUILDs do Arch são muito mais simples.

[5] Comentário enviado por azk em 23/05/2013 - 01:33h

Excelente contribuição...

favoritado
;-))

[6] Comentário enviado por felipealexandre em 30/05/2013 - 00:24h

Muito bom artigo, é muito útil para criar um pacote proprietário ou algum software que não é disponibilizado nos repositórios.

[7] Comentário enviado por fabiojlbc1982 em 22/03/2017 - 15:44h

mudou algum procedimento neste tutorial?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts