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: 21.562 ]

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

Sabayon completo, personalizado e portátil, em pendrive de boot

Fish - Um shell fácil de usar

Sabayon Linux remasterizado para placas de vídeo ATI

Comparando desempenho de distros, arquiteturas ou ambientes gráficos - Método universal

Atualizando Compiz Fusion em Sabayon Linux

Leitura recomendada

Usando o start-stop-daemon no Slackware

Experimento: Transformando openSUSE 12.3 Tumbleweed em 13.2 Factory Milestone 0

Apresentando o Ubuntu 7.04 Feisty Fawn

Atualizando o Ubuntu 8.10 para 9.04 na mão

Slapt-get, prático e eficiente para atualizar o sistema e baixar programas novos

  
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
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts