Criando pacotes para o Arch Linux

1.201 visualizações

Publicada em

Palestra realizada no 10º Fórum Internacional de Software Livre (FISL) mostrando como construir pacotes para o Arch Linux.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.201
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Criando pacotes para o Arch Linux

  1. 1. Criando pacotes para o Arch Linux Hugo Doria contato@hugodoria.org 10o Fórum Internacional de Software Livre1 Hugo Doria Criando pacotes para o Arch Linux
  2. 2. Conteúdo 1 Introdução Formato dos pacotes Porque (re)construir pacotes? 2 Ferramentas utilizadas PKGBUILD makepkg namcap 3 Publicando um pacote 4 Perguntas 5 Agradecimentos2 Hugo Doria Criando pacotes para o Arch Linux
  3. 3. Formato dos pacotes Formato de um pacote nome-versão-release-arquitetura.pkg.tar.gz Exemplo firefox-3.0.10-4-i686.pkg.tar.gz3 Hugo Doria Criando pacotes para o Arch Linux
  4. 4. Formato dos pacotes Conteúdo do .pkg.tar.gz usr/bin/foobar etc/foobar.conf .PKGINFO # Informações sobre o pacote (nome, versão etc) .INSTALL # Comandos a serem rodados na instalação4 Hugo Doria Criando pacotes para o Arch Linux
  5. 5. Porque (re)construir pacotes? Facilitar a vida do usuário Otimizar o software para a máquina Adicionar recursos Manter alguma versão específica Realizar testes5 Hugo Doria Criando pacotes para o Arch Linux
  6. 6. Ok! Mas como eu construo um pacote?6 Hugo Doria Criando pacotes para o Arch Linux
  7. 7. PKGBUILD Estrutura do PKGBUILD pkgname=nome-do-pacote pkgver=versão pkgrel=release pkgdesc=’descrição do software’ arch=(’arquitetura’) depends=(’dependencias’) license=(’licensa’) source=(url do source) md5sum=(’md5sum dos sources’) build() { Instruções de compilação }7 Hugo Doria Criando pacotes para o Arch Linux
  8. 8. PKGBUILD Exemplo de PKBUILD # Maintainer: Joe User <joe.user@example.com> pkgname=patch pkgver=2.5.4 pkgrel=3 pkgdesc="A utility to apply patch files to original sources" arch=(’i686’ ’x86_64’) url="http://www.gnu.org/software/patch/patch.html" license=(’GPL’) groups=(’base-devel’) depends=(’glibc’ ’ed’) source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname- $pkgver.tar.gz) md5sums=(’ee5ae84d115f051d87fca1aef3b4ae782’)8 Hugo Doria Criando pacotes para o Arch Linux
  9. 9. PKGBUILD Exemplo de PKBUILD build() { cd $srcdir/$pkgname-$pkgver ./configure –prefix=/usr make || return 1 make prefix=$pkgdir/usr install }9 Hugo Doria Criando pacotes para o Arch Linux
  10. 10. makepkg: construindo o pacote Ferramenta utilizada para gerar o pacote O makepkg já faz parte do pacman Deve ser rodado dentro do diretório onde está o PKGBUILD10 Hugo Doria Criando pacotes para o Arch Linux
  11. 11. makepkg: construindo o pacote Exemplo de uso do makepkg [hugo@meryl patch]$ makepkg ==> Making package: patch 2.5.9-2 i686 (Thu Jun 11 23:33:01 BRT 2009) == > Checking Runtime Dependencies... ==> Checking Buildtime Dependencies... ==> Retrieving Sources... -> Downloading patch-2.5.9.tar.gz... ==> Validating source files with md5sums... patch-2.5.9.tar.gz ... Passed ==> Extracting Sources... -> bsdtar -x -f patch-2.5.9.tar.gz ==> Entering fakeroot environment... ==> Starting build()...11 Hugo Doria Criando pacotes para o Arch Linux
  12. 12. makepkg: construindo o pacote Exemplo de uso do makepkg [hugo@meryl patch]$ makepkg (...) ==> Tidying install... -> Compressing man pages... -> Stripping debugging symbols from binaries and libraries... ==> Creating package... -> Generating .PKGINFO file... -> Compressing package... ==> Leaving fakeroot environment. ==> Finished making: patch 2.5.9-2 i686 (Thu Jun 11 23:33:29 BRT 2009) ==> patch-2.5.9-3-i686.pkg.tar.gz12 Hugo Doria Criando pacotes para o Arch Linux
  13. 13. namcap: analisando o pacote Ferramenta para auxiliar a criação do pacote Analisa tanto pacotes, quanto PKGBUILDs Não corrige os problemas, apenas avisa Exemplo de uso do makepkg $ namcap pygtk-2.14.1-1-i686.pkg.tar.gz pygtk W: Dependency included and not needed (pycairo) pygtk W: Dependency included and not needed (pygobject)13 Hugo Doria Criando pacotes para o Arch Linux
  14. 14. AUR - Arch Linux User Repository Repositório voltado para a comunidade Não contém binários Berço de boa parte dos pacotes do Arch http://aur.archlinux.org14 Hugo Doria Criando pacotes para o Arch Linux
  15. 15. Perguntas15 Hugo Doria Criando pacotes para o Arch Linux
  16. 16. Obrigado! :-) Hugo Doria < contato@hugodoria.org > http://hugodoria.org16 Hugo Doria Criando pacotes para o Arch Linux

×