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

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


Preparando o sistema



Como você vai usar Portage junto com Entropy, não esqueça de editar (como root) o arquivo "/etc/entropy/client.conf", procurando pela linha "ignore spmdowngrades" e troque "disable" por "enable", para que o Entropy não passe a fazer downgrade dos pacotes.

Depois, como vai usar o Portage, edite o seu arquivo "/etc/make.conf" (em sistemas mais novos, é "etc/portage/make.conf") fazendo a pasta para os pacotes, PKGDIR. Coloque a linha:

PKGDIR="/home/usuário/PKGDIR"


Querendo otimizar, ou mudar, mais coisas nas compilações, como fazer os pacotes para um determinado micro, etc, modifique mais seu" make.conf".

Exemplos, veja estes artigos e dicas:
Agora, atualize totalmente seu Sabayon e nessa fase não use Portage:

# equo up
# equo i entropy equo rigo
# equo u
# equo conf update


Depois, atualize também o Portage:

# emerge --sync
# emerge -av --oneshot portage portage-utils
# layman -S


Sincronize o Entropy com o Portage e atualize as variáveis de ambiente:

# equo rescue spmsync
# env-update

$ source /etc/profile


Observação: ignore mensagens como abaixo, se as houver (não necessariamente haverá). Indicam simplesmente que pacotes ou bibliotecas do Portage e do Entropy, podem ter versões diferentes entre si. Em outras palavras, indicam que "há pacotes de 'Gentoo' no Sabayon e há pacotes de Sabayon em uma arquitetura Gentoo".

Tais mensagens são normais, não são erros, em sistemas que usem Entropy junto com Portage.

NÃO FAÇA o comando: emerge "@preserved-rebuild", ele é só para Gentoo. Em Sabayon, ele quebrará bibliotecas.

 portage: COUNTER for dev-python/setuptools-0.6.33 
  was corrupted; resetting to value of 0
 portage: COUNTER for dev-python/setuptools-0.6.33 
  was corrupted; resetting to value of 0
 portage: COUNTER for app-backup/kbackup-0.8 
  was corrupted; resetting to value of 0
 portage: COUNTER for app-backup/kbackup-0.8 
  was corrupted; resetting to value of 0
 portage: COUNTER for dev-util/bsdiff-4.3-r2
  was corrupted; resetting to value of 0
 portage: COUNTER for dev-util/bsdiff-4.3-r2 
  was corrupted; resetting to value of 0
 portage: COUNTER for dev-util/nvidia-cuda-sdk-4.0 
  was corrupted; resetting to value of 0
 portage: COUNTER for dev-util/nvidia-cuda-sdk-4.0 
  was corrupted; resetting to value of 0
 portage: COUNTER for app-benchmarks/sysbench-0.4.10 
  was corrupted; resetting to value of 0
 portage: COUNTER for app-benchmarks/sysbench-0.4.10 
  was corrupted; resetting to value of 0
 >>> No outdated packages were found on your system.
  * GNU info directory index is up-to-date.
 !!! existing preserved libs:
 >>> package: gnome-extra/gtkhtml-3.32.2
  *  - /usr/lib64/libgtkhtml-editor-3.14.so.0
  *  - /usr/lib64/libgtkhtml-editor-3.14.so.0.0.0
  *      used by /usr/lib64/evolution/2.32/
  libcomposer.so.0.0.0 (mail-client/evolution-2.32.3)
  *      used by /usr/lib64/evolution/2.32/
  libeabutil.so.0.0.0 (mail-client/evolution-2.32.3)
  *      used by /usr/lib64/evolution/2.32/
  libecontacteditor.so.0.0.0 (mail-client/evolution-2.32.3)
  *      used by 53 other files
  *  - /usr/lib64/libgtkhtml-3.14.so.19
  *  - /usr/lib64/libgtkhtml-3.14.so.19.1.1
  *      used by /usr/lib64/evolution/2.32/
  libcomposer.so.0.0.0 (mail-client/evolution-2.32.3)
  *      used by /usr/lib64/evolution/2.32/
  libeabutil.so.0.0.0 (mail-client/evolution-2.32.3)
  *      used by /usr/lib64/evolution/2.32/
  libecontacteditor.so.0.0.0 (mail-client/evolution-2.32.3)
  *      used by 53 other files
     Use emerge @preserved-rebuild to rebuild packages using these libraries


OK, seu sistema está pronto para trabalhar.

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

Linux com boot no Pendrive, com todas as facilidades: Smart-USB_Key-Mania, PLOP Boot Manager e outros métodos

Experimento: Transformando openSUSE 12.3 Tumbleweed em 13.2 Factory Milestone 0

Recuperação do arquivo sudoers - comandos su e sudo não funcionam mais [Resolvido]

Clonando e Salvando Todos os Linux de um Disco Rígido para um HD Portátil Usando Gparted

BOINC - Computação distribuída e aplicações científicas

Leitura recomendada

Projeto GuaçuLivre - Sistema Operacional e Softwares Educacionais Livres para Computadores Pessoais e do PROINFO Pregão: FNDE 83/2008

Instalando e personalizando o aMSN 0.96

Monitoramento utilizando Centreon 2.4.5 + Nagios 3.5.1 + CentOS 6.5

Instalando o Opera e plugin Flash Player no Debian

Instalando o RealPlayer 10 no Linux

  
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