SlideShare uma empresa Scribd logo
Criando pacotes para o Arch Linux

                    Hugo Doria

                 contato@hugodoria.org


     10o Fórum Internacional de Software Livre




1                Hugo Doria   Criando pacotes para o Arch Linux
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   Agradecimentos



2                             Hugo Doria   Criando pacotes para o Arch Linux
Formato dos pacotes




      Formato de um pacote
      nome-versão-release-arquitetura.pkg.tar.gz

      Exemplo
      firefox-3.0.10-4-i686.pkg.tar.gz




3                             Hugo Doria   Criando pacotes para o Arch Linux
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ção




4                           Hugo Doria   Criando pacotes para o Arch Linux
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 testes




5                             Hugo Doria   Criando pacotes para o Arch Linux
Ok! Mas como eu construo um pacote?




6             Hugo Doria   Criando pacotes para o Arch Linux
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
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
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
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
      PKGBUILD




10                      Hugo Doria   Criando pacotes para o Arch Linux
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
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.gz

12                          Hugo Doria   Criando pacotes para o Arch Linux
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
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.org




14                      Hugo Doria   Criando pacotes para o Arch Linux
Perguntas




15           Hugo Doria   Criando pacotes para o Arch Linux
Obrigado! :-)




                          Hugo Doria
                 < contato@hugodoria.org >
                     http://hugodoria.org




16                    Hugo Doria   Criando pacotes para o Arch Linux

Mais conteúdo relacionado

PDF
Nagios+ubuntu16
PDF
Iniciando com docker
PDF
Primeiros passos com o Docker
PDF
Docker na vida real
PDF
Docker, facilitando a vida do desenvolvimento
PDF
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
ODP
O que é Docker?
PDF
Desenvolvendo e implantando aplicações PHP utilizando Docker
Nagios+ubuntu16
Iniciando com docker
Primeiros passos com o Docker
Docker na vida real
Docker, facilitando a vida do desenvolvimento
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
O que é Docker?
Desenvolvendo e implantando aplicações PHP utilizando Docker

Mais procurados (20)

PDF
Talk no Meetup LaravelSP #3
PDF
Vagrant & Docker: carregue seus ambientes no bolso
PDF
Container revolucao
PDF
Docker volumes
PDF
Um milhao de usuários simultâneos
PDF
Minicurso Slackware - Alexsandro Henrique
PDF
DevOps e redes -- SDN NFV e Docker
PDF
Freedomday2016 - Fique na caixinha, docker
PDF
Docker: uma visão geral
ODP
Docker: uma visão geral e exemplos de uso
PDF
Apresentação docker
PDF
Introdução à plataforma Docker
PDF
Testadores 2015 - O Fantástico Mundo de Docker
PPTX
Ambiente de desenvolvimento com docker e ruby on rails
PDF
Apresentacao docker
PPTX
Docker de containers a orquestração
PDF
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
PDF
Instalação do asterisk
PDF
PDF
TDC 2015 POA - O Fantástico Mundo de Docker
Talk no Meetup LaravelSP #3
Vagrant & Docker: carregue seus ambientes no bolso
Container revolucao
Docker volumes
Um milhao de usuários simultâneos
Minicurso Slackware - Alexsandro Henrique
DevOps e redes -- SDN NFV e Docker
Freedomday2016 - Fique na caixinha, docker
Docker: uma visão geral
Docker: uma visão geral e exemplos de uso
Apresentação docker
Introdução à plataforma Docker
Testadores 2015 - O Fantástico Mundo de Docker
Ambiente de desenvolvimento com docker e ruby on rails
Apresentacao docker
Docker de containers a orquestração
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...
Instalação do asterisk
TDC 2015 POA - O Fantástico Mundo de Docker
Anúncio

Destaque (13)

PPTX
Presentasi ta
DOCX
4. la evaluación autentica centrada en el desempeñ1
PDF
Apresentacao negocio
PPTX
Metodologia implementacion
PDF
Geometry
PDF
YUVARAJ RESUME (1)
PDF
Tríduo ao Santíssimo Coração de María (05 a 07 de fevereiro)
PPTX
Grandes coisas fernandinho
PPTX
Testing Long Memory in Stock Market Return and Volatility during Global Finan...
DOCX
A importância da literatura no ensino de língua estrangeira
PPTX
Computer aided software engineering
PPTX
Presentasi ta
4. la evaluación autentica centrada en el desempeñ1
Apresentacao negocio
Metodologia implementacion
Geometry
YUVARAJ RESUME (1)
Tríduo ao Santíssimo Coração de María (05 a 07 de fevereiro)
Grandes coisas fernandinho
Testing Long Memory in Stock Market Return and Volatility during Global Finan...
A importância da literatura no ensino de língua estrangeira
Computer aided software engineering
Anúncio

Semelhante a Criando pacotes para o Arch Linux (6)

PPTX
PPTX
Arch linux Guilherme Macedo
PDF
Slackware Linux
PDF
Arch Linux – Simplesmente Linux
PDF
Sistemas Operacionais - Gnu/Linux Instalando Programas
PDF
Arch Linux: Uma distribuição leve e simples - Érico de Morais Nunes
Arch linux Guilherme Macedo
Slackware Linux
Arch Linux – Simplesmente Linux
Sistemas Operacionais - Gnu/Linux Instalando Programas
Arch Linux: Uma distribuição leve e simples - Érico de Morais Nunes

Último (16)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Arquitetura de computadores - Memórias Secundárias
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Processos na gestão de transportes, TM100 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
COBITxITIL-Entenda as diferença em uso governança TI
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14

Criando pacotes para o Arch Linux

  • 1. Criando pacotes para o Arch Linux Hugo Doria contato@hugodoria.org 10o Fórum Internacional de Software Livre 1 Hugo Doria Criando pacotes para o Arch Linux
  • 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 Agradecimentos 2 Hugo Doria Criando pacotes para o Arch Linux
  • 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.gz 3 Hugo Doria Criando pacotes para o Arch Linux
  • 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ção 4 Hugo Doria Criando pacotes para o Arch Linux
  • 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 testes 5 Hugo Doria Criando pacotes para o Arch Linux
  • 6. Ok! Mas como eu construo um pacote? 6 Hugo Doria Criando pacotes para o Arch Linux
  • 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. 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. 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. 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 PKGBUILD 10 Hugo Doria Criando pacotes para o Arch Linux
  • 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. 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.gz 12 Hugo Doria Criando pacotes para o Arch Linux
  • 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. 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.org 14 Hugo Doria Criando pacotes para o Arch Linux
  • 15. Perguntas 15 Hugo Doria Criando pacotes para o Arch Linux
  • 16. Obrigado! :-) Hugo Doria < contato@hugodoria.org > http://hugodoria.org 16 Hugo Doria Criando pacotes para o Arch Linux