Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Empacotamento Básico
 
Importância do Empacotamento
Vivendo Com Um Sistema Operacional <ul><li>Depois de instalado o sistema a tarefa de manutenção mais realizada pelo usuári...
Alguém Quer Instalar Um Software Linux... <ul><li>Procura na internet e acha isso: </li></ul><ul><ul><li>NumSeiQ.tar.gz </...
Aquele Amigo Esquisito Dá A Dica... <ul><li>É “só” compilar... :P </li></ul>$ ./configure (texto rolando tela acima...) $ ...
O Inferno de Cabeça Para Baixo das 666 Dependências  Programa Depende de A B C D E F J K G H I
Esforços Duplicados progama.tar.gz Programador Descompacta Compila Executável Executável Executável Executável
Surge o Empacotador! progama.tar.gz Programador Descompacta Empacotador Compila Executável Menos trabalho pra muita gente.
Empacotadores Orgulhosos, Repositórios Cheios e Usuários Felizes Repositório de Softwares Pré-compilados
Pacotes no Debian Repositório Debian Lista de pacotes disponíveis apt-get update apt-get install foo Packages.gz foo_0.2.3...
O Paraíso das Dependências Satisfeitas Programa Depende de A B C D E F J K G H I
Informações Interessantes pra Quem Pretende Empacotar
FHS Filesystem Hierarchy Standard dev/ / usr/ etc/ tmp/ bin/ doc/ lib/ share/ home/ bin/
Anatomia de Um Pacote Binário <ul><ul><li>mednafen_0.6.5-1_i386.deb </li></ul></ul>versão  -  revisão Debian nome arquitet...
Anatomia de Um Pacote Binário <ul><li>Estruturalmente, arquivos  .deb  nada mais são que arquivos compactados com o utilit...
data.tar.gz <ul><li>Conteúdo de  data.tar.gz  para o pacote  libmad0-dev </li></ul><ul><li>Extrair isso na raiz do sistema...
control.tar.gz <ul><li>Conteúdo de  control.tar.gz  para o pacote  libmad0-dev </li></ul><ul><ul><li>control, md5sums </li...
control.tar.gz <ul><li>conffiles </li></ul><ul><li>config </li></ul><ul><li>control </li></ul><ul><li>md5sums </li></ul><u...
Dissecando Um Pacote Binário <ul><li>Os pacotes baixados pelo  apt-get  são guardados em  /var/cache/apt/archives </li></u...
Dissecando Um Pacote Binário <ul><li>file pacote.deb </li></ul><ul><li>ar -t pacote.deb </li></ul><ul><li>dpkg-deb --info ...
Criando Um Pacote Manualmente
Tema Para O Desktop <ul><li>Vamos criar um pacote simples – um tema para o Desktop, contendo: </li></ul><ul><ul><ul><li>Pa...
Criando Um Pacote Manualmente (1) <ul><li>Crie a estrutura de diretórios </li></ul><ul><ul><li>$  mkdir -p diad-artwork/us...
Criando Um Pacote Manualmente (2) <ul><li>Estrutura de diretórios </li></ul>diad-artwork/ |--  DEBIAN `--  usr `-- share |...
Documentação (1) <ul><li>diad-artwork/usr/share/doc/diad-artwork/copyright </li></ul><ul><ul><ul><li>This package was manu...
Documentação (2) <ul><li>diad-artwork/usr/share/doc/diad-artwork/changelog.Debian.gz </li></ul><ul><ul><ul><li>diad-artwor...
DEBIAN/control <ul><ul><ul><li>Package:  diad-artwork </li></ul></ul></ul><ul><ul><ul><li>Section:  misc </li></ul></ul></...
DEBIAN/md5sums <ul><li>$ find usr -type f -exec md5sum {}  >  DEBIAN/md5sums </li></ul><ul><ul><ul><li>3a3346e545ad9d1058f...
diad-artwork_1.0-1_all.deb <ul><li>$ echo 2.0 >  debian-binary </li></ul><ul><li>$  fakeroot # tar cz -C diad-artwork/DEBI...
Instalando e Removendo Seu Novo Pacote <ul><li>Instalando </li></ul><ul><ul><li>$ sudo dpkg -i diad-artwork_1.0-1_all.deb ...
Instalando e Removendo Seu Novo Pacote <ul><li>Removendo $ sudo apt-get remove diad-artwork Reading package lists... Done ...
Debianizando Pacotes Existentes
Debianizando ./DEBIAN ./usr ./usr/share ... <ul><ul><li>pacote-0.1-1_i386.deb </li></ul></ul><ul><ul><li>código fonte debi...
Debianizando <ul><li>Vamos obter o código fonte de uma aplicação qualquer $ wget http://logicparser.googlecode.com/files/l...
dh_make <ul><li>Poderíamos criar “na mão” todos os arquivos necessários para criação do deb </li></ul><ul><li>Mas o  dh_ma...
Modificando os Arquivos em debian/* <ul><li>O dh_make cria vários arquivos, muitos dos quais não precisaremos. Vamos apagá...
debian/control <ul><ul><li>Source: logicparser Section: misc Priority: optional Maintainer: Marcelo Lira dos Santos <meuem...
Criando o Pacote Binário <ul><li>fakeroot </li></ul><ul><ul><li>usado para simular privilégios de root </li></ul></ul><ul>...
Pacotes Fonte <ul><li>Fatos: </li></ul><ul><ul><li>Além de pacotes binários o Debian possui  pacotes fonte. </li></ul></ul...
Anatomia de Um Pacote Fonte <ul><li>Um pacote fonte não é um arquivo, mas 3: </li></ul><ul><ul><li>foo_1.0-1.orig.tar.gz  ...
Criando o Pacote Fonte <ul><li>Devemos ter no presente diretório, o arquivo  orig  do código fonte, mais o diretório com o...
Criando o Pacote Fonte <ul><li>Vamos copiar o pacote fonte para outro lugar onde podemos brincar em paz: $ mkdir playgroun...
Criando o Pacote Fonte <ul><li>Finalmente construímos o pacote binário: $ cd logicparser-0.7.2 $  dpkg-buildpackage -rfake...
Resumo Visual do Processo de Empacotamento Upstream Source Rename Unpack Build Build Create Working Files Debian packaging...
Autor:  Marcelo Lira dos Santos <setanta@gmail.com> Chefe, posso usar algumas horas de trabalho pra fazer os slides do  Di...
Referências
Referências <ul><li>KRAFFT, Martin F. The Debian System </li></ul><ul><li>The Debian GNU/Linux FAQ Chapter 6 - Basics of t...
<ul><li>Atribuição-Compartilhamento pela mesma licença 2.5 ( http://creativecommons.org/licenses/by-sa/2.5/deed.pt ) </li>...
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
Autorijschool Mullender Dokkum - Audi A3 - Jelmer
Next
Download to read offline and view in fullscreen.

Share

Empacotamento Debian Básico

Download to read offline

Empacotamento Debian Básico

Related Books

Free with a 30 day trial from Scribd

See all

Empacotamento Debian Básico

  1. 1. Empacotamento Básico
  2. 3. Importância do Empacotamento
  3. 4. Vivendo Com Um Sistema Operacional <ul><li>Depois de instalado o sistema a tarefa de manutenção mais realizada pelo usuário é a instalação e remoção de softwares </li></ul><ul><li>Tomemos outro SO como exemplo: </li></ul><ul><ul><li>HiperDownloads, BaixaAcolá </li></ul></ul><ul><ul><li>Next, Next, Next, Finish... </li></ul></ul><ul><ul><li>Duplicação de DLLs </li></ul></ul><ul><ul><li>Desinstaladores sebosos </li></ul></ul><ul><ul><li>As pessoas se acostumam com cada coisa... </li></ul></ul>
  4. 5. Alguém Quer Instalar Um Software Linux... <ul><li>Procura na internet e acha isso: </li></ul><ul><ul><li>NumSeiQ.tar.gz </li></ul></ul>(...) char *category = libhal_device_get_property_string (ctx, udi, &quot;info.category&quot; , NULL); if (category && (!strcmp (category, &quot;net.80203&quot; ) || !strcmp (category, &quot;net.80211&quot; ))) { char *temp = libhal_device_get_property_string (ctx, udi, &quot;net.interface&quot; , NULL); iface = g_strdup (temp); libhal_free_string (temp); } libhal_free_string (category); (...)
  5. 6. Aquele Amigo Esquisito Dá A Dica... <ul><li>É “só” compilar... :P </li></ul>$ ./configure (texto rolando tela acima...) $ make (mais texto rolando tela acima...) $ make install (ainda mais texto rolando...)
  6. 7. O Inferno de Cabeça Para Baixo das 666 Dependências Programa Depende de A B C D E F J K G H I
  7. 8. Esforços Duplicados progama.tar.gz Programador Descompacta Compila Executável Executável Executável Executável
  8. 9. Surge o Empacotador! progama.tar.gz Programador Descompacta Empacotador Compila Executável Menos trabalho pra muita gente.
  9. 10. Empacotadores Orgulhosos, Repositórios Cheios e Usuários Felizes Repositório de Softwares Pré-compilados
  10. 11. Pacotes no Debian Repositório Debian Lista de pacotes disponíveis apt-get update apt-get install foo Packages.gz foo_0.2.3-1_i386.deb
  11. 12. O Paraíso das Dependências Satisfeitas Programa Depende de A B C D E F J K G H I
  12. 13. Informações Interessantes pra Quem Pretende Empacotar
  13. 14. FHS Filesystem Hierarchy Standard dev/ / usr/ etc/ tmp/ bin/ doc/ lib/ share/ home/ bin/
  14. 15. Anatomia de Um Pacote Binário <ul><ul><li>mednafen_0.6.5-1_i386.deb </li></ul></ul>versão - revisão Debian nome arquitetura debian-control control.tar.gz data.tar.gz
  15. 16. Anatomia de Um Pacote Binário <ul><li>Estruturalmente, arquivos .deb nada mais são que arquivos compactados com o utilitário ar , contendo: </li></ul><ul><ul><li>debian-binary – contém apenas a string “2.0” (versão do formato do pacote Debian) </li></ul></ul><ul><ul><li>data.tar.gz – “imagem” do pacote instalado no sistema de arquivos </li></ul></ul><ul><ul><li>control.tar.gz – informações de controle para as ferramentas de manipulação de pacotes </li></ul></ul>
  16. 17. data.tar.gz <ul><li>Conteúdo de data.tar.gz para o pacote libmad0-dev </li></ul><ul><li>Extrair isso na raiz do sistema é quase o mesmo que instalar o pacote. </li></ul><ul><li>./usr/ </li></ul><ul><li>./usr/lib/ </li></ul><ul><li>./usr/lib/libmad.a </li></ul><ul><li>./usr/lib/libmad.la </li></ul><ul><li>./usr/lib/pkgconfig/ </li></ul><ul><li>./usr/lib/pkgconfig/mad.pc </li></ul><ul><li>./usr/include/ </li></ul><ul><li>./usr/include/mad.h </li></ul><ul><li>./usr/share/ </li></ul><ul><li>./usr/share/doc/ </li></ul><ul><li>./usr/share/doc/libmad0-dev/ </li></ul><ul><li>./usr/share/doc/libmad0-dev/changelog.Debian.gz </li></ul><ul><li>./usr/share/doc/libmad0-dev/TODO </li></ul><ul><li>./usr/share/doc/libmad0-dev/copyright </li></ul><ul><li>./usr/share/doc/libmad0-dev/examples/ </li></ul><ul><li>./usr/share/doc/libmad0-dev/examples/minimad.c.gz </li></ul><ul><li>./usr/share/doc/libmad0-dev/changelog.gz </li></ul><ul><li>./usr/share/doc/libmad0-dev/CREDITS.gz </li></ul><ul><li>./usr/share/doc/libmad0-dev/README.gz </li></ul><ul><li>./usr/lib/libmad.so </li></ul>
  17. 18. control.tar.gz <ul><li>Conteúdo de control.tar.gz para o pacote libmad0-dev </li></ul><ul><ul><li>control, md5sums </li></ul></ul><ul><li>Pouca coisa. Vejamos outro: mozilla-thunderbird </li></ul><ul><ul><li>conffiles, config, control, md5sums, postinst, postrm, preinst, prerm, templates </li></ul></ul>
  18. 19. control.tar.gz <ul><li>conffiles </li></ul><ul><li>config </li></ul><ul><li>control </li></ul><ul><li>md5sums </li></ul><ul><li>postinst </li></ul><ul><li>postrm </li></ul><ul><li>preinst </li></ul><ul><li>prerm </li></ul><ul><li>templates </li></ul><ul><li>shlibs </li></ul>
  19. 20. Dissecando Um Pacote Binário <ul><li>Os pacotes baixados pelo apt-get são guardados em /var/cache/apt/archives </li></ul><ul><li>Vamos copiar algum .deb para uma mesa de cirurgia em /tmp/lab </li></ul>
  20. 21. Dissecando Um Pacote Binário <ul><li>file pacote.deb </li></ul><ul><li>ar -t pacote.deb </li></ul><ul><li>dpkg-deb --info pacote.deb </li></ul><ul><li>dpkg-deb --contents pacote.deb </li></ul><ul><li>dpkg-deb --field pacote.deb depends </li></ul><ul><li>ar x pacote.deb </li></ul><ul><li>dpkg-deb --control pacote.deb </li></ul><ul><li>dpkg-deb --extract pacote.deb ./data </li></ul>
  21. 22. Criando Um Pacote Manualmente
  22. 23. Tema Para O Desktop <ul><li>Vamos criar um pacote simples – um tema para o Desktop, contendo: </li></ul><ul><ul><ul><li>Papel de Parede: /usr/share/backgrounds/diad-background.png </li></ul></ul></ul><ul><ul><ul><li>Tema GDM: /usr/share/gdm/themes/diad/* </li></ul></ul></ul><ul><ul><ul><li>Splash Screen: /usr/share/pixmaps/splash/diad-splash.png </li></ul></ul></ul>
  23. 24. Criando Um Pacote Manualmente (1) <ul><li>Crie a estrutura de diretórios </li></ul><ul><ul><li>$ mkdir -p diad-artwork/usr/share/backgrounds $ mkdir -p diad-artwork/usr/share/pixmaps/splash $ mkdir -p diad-artwork/usr/share/gdm/themes/diad $ mkdir -p diad-artwork/usr/share/doc/diad-artwork $ mkdir diad-artwork/ DEBIAN </li></ul></ul><ul><li>Copie conteúdo $ cp diad-splash.png diad-artwork/usr/share/pixmaps/splash $ cp diad-background.png diad-artwork/usr/share/backgrounds $ cp diad diad-artwork/usr/share/gdm/themes/diad-artwork -r $ chmod 644 diad-artwork/* -R </li></ul>
  24. 25. Criando Um Pacote Manualmente (2) <ul><li>Estrutura de diretórios </li></ul>diad-artwork/ |-- DEBIAN `-- usr `-- share |-- backgrounds |-- doc | `-- diad-artwork |-- gdm | `-- themes | `-- diad `-- pixmaps `-- splash
  25. 26. Documentação (1) <ul><li>diad-artwork/usr/share/doc/diad-artwork/copyright </li></ul><ul><ul><ul><li>This package was manually created by James Bond <007@england.go.uk> on Mon, 30 Jul 2007, 08:25:00 +0000 It was downloaded from ... Upstream Author: James Bond < [email_address] > </li></ul></ul></ul><ul><ul><ul><li>Copyright: [...] </li></ul></ul></ul>
  26. 27. Documentação (2) <ul><li>diad-artwork/usr/share/doc/diad-artwork/changelog.Debian.gz </li></ul><ul><ul><ul><li>diad-artwork (1.0-1) unstable; urgency=low </li></ul></ul></ul><ul><ul><ul><li>* &quot;License to Kill&quot; release. </li></ul></ul></ul><ul><ul><ul><li>-- James Bond <007@england.go.uk> Mon, 30 Jul 2007 08:28:00 +0000 </li></ul></ul></ul>
  27. 28. DEBIAN/control <ul><ul><ul><li>Package: diad-artwork </li></ul></ul></ul><ul><ul><ul><li>Section: misc </li></ul></ul></ul><ul><ul><ul><li>Priority: extra </li></ul></ul></ul><ul><ul><ul><li>Maintainer: James Bond <007@england.co.uk> </li></ul></ul></ul><ul><ul><ul><li>Architecture: all </li></ul></ul></ul><ul><ul><ul><li>Version: 1.0-1 </li></ul></ul></ul><ul><ul><ul><li>Description: theme artwork for the Debian D, 2007 </li></ul></ul></ul><ul><ul><ul><li>Includes background and splash screen images, and GDM theme. </li></ul></ul></ul>
  28. 29. DEBIAN/md5sums <ul><li>$ find usr -type f -exec md5sum {} > DEBIAN/md5sums </li></ul><ul><ul><ul><li>3a3346e545ad9d1058fa5a48ceada9e5 usr/share/backgrounds/diad-background.png </li></ul></ul></ul><ul><ul><ul><li>93171425730b46aa4debbaa58568402f usr/share/doc/diad-artwork/copyright </li></ul></ul></ul><ul><ul><ul><li>e1cce7981a1dfd51f518f1c15e7a87cc usr/share/doc/diad-artwork/changelog.Debian.gz </li></ul></ul></ul><ul><ul><ul><li>8f45891b27c85f01fd40bac603883650 usr/share/pixmaps/splash/diad-splash.png </li></ul></ul></ul><ul><ul><ul><li>7f2d2f712840525f75ab34ecf540cd9f usr/share/gdm/themes/diad/GdmGreeterTheme.desktop </li></ul></ul></ul><ul><ul><ul><li>eafe4de8c42ef34de37ec0b9a2f05d57 usr/share/gdm/themes/diad/background.svg </li></ul></ul></ul><ul><ul><ul><li>a826c77b077e0b782914f32ad5e5ddab usr/share/gdm/themes/diad/debsmith.png </li></ul></ul></ul><ul><ul><ul><li>84513d7282b4cfc745c63d2b8ae971a7 usr/share/gdm/themes/diad/diad.xml </li></ul></ul></ul><ul><ul><ul><li>adcc7b98011b1ed7f00695fbdb2afa86 usr/share/gdm/themes/diad/help.png </li></ul></ul></ul><ul><ul><ul><li>dba080eb88405fdd911b5cfb3b8d2bc0 usr/share/gdm/themes/diad/options.png </li></ul></ul></ul><ul><ul><ul><li>c588c56e88007469e55e0c084e830cd4 usr/share/gdm/themes/diad/screenshot.png </li></ul></ul></ul><ul><ul><ul><li>0960f0c80ff0e503288d2ea5e704fbe8 usr/share/gdm/themes/diad/debsmiths.png </li></ul></ul></ul>
  29. 30. diad-artwork_1.0-1_all.deb <ul><li>$ echo 2.0 > debian-binary </li></ul><ul><li>$ fakeroot # tar cz -C diad-artwork/DEBIAN -f control.tar.gz . # tar cz --exclude=DEBIAN -C diad-artwork -f data.tar.gz . </li></ul><ul><ul><li># ar rcu diad-artwork.deb > debian-binary control.tar.gz data.tar.gz </li></ul></ul><ul><ul><li># exit </li></ul></ul><ul><ul><li>$ file diad-artwork.deb </li></ul></ul><ul><ul><li>$ dpkg-name diad-artwork.deb </li></ul></ul>
  30. 31. Instalando e Removendo Seu Novo Pacote <ul><li>Instalando </li></ul><ul><ul><li>$ sudo dpkg -i diad-artwork_1.0-1_all.deb Selecting previously deselected package diad-artwork. (Reading database ... 221664 files and directories currently installed.) Unpacking diad-artwork (from diad-artwork_1.0-1_all.deb) ... Setting up diad-artwork (1.0-1) ... </li></ul></ul><ul><li>Verificando se está instalado $ aptitude search python </li></ul>
  31. 32. Instalando e Removendo Seu Novo Pacote <ul><li>Removendo $ sudo apt-get remove diad-artwork Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: diad-artwork 0 upgraded, 0 newly installed, 1 to remove and 40 not upgraded. Need to get 0B of archives. After unpacking 0B of additional disk space will be used. Do you want to continue [Y/n]? y (Reading database ... 221677 files and directories currently installed.) Removing diad-artwork ... </li></ul>
  32. 33. Debianizando Pacotes Existentes
  33. 34. Debianizando ./DEBIAN ./usr ./usr/share ... <ul><ul><li>pacote-0.1-1_i386.deb </li></ul></ul><ul><ul><li>código fonte debianizado </li></ul></ul>./pacote-0.1 ./pacote-0.1/src/* ./pacote-0.1/ debian/* ./pacote-0.1/*
  34. 35. Debianizando <ul><li>Vamos obter o código fonte de uma aplicação qualquer $ wget http://logicparser.googlecode.com/files/logicparser-0.7.2.tar.gz $ tar -xvzf logicparser-0.7.2.tar.gz $ cd logicparser-0.7.2 </li></ul>
  35. 36. dh_make <ul><li>Poderíamos criar “na mão” todos os arquivos necessários para criação do deb </li></ul><ul><li>Mas o dh_make ( pacote: dh-make ) poderia fazer isso por nós... :) $ cd logicparser-0.7.2 $ DEBFULLNAME=&quot;Marcelo Lira dos Santos&quot; > DEBEMAIL=&quot;setanta@gmail.com&quot; > dh_make --file ../logicparser-0.7.2.tar.gz > --single -c gpl </li></ul><ul><li>Serão criados o diretório logicparser_0.7.2/ debian e o arquivo logicparser_0.7.2.orig.tar.gz </li></ul>
  36. 37. Modificando os Arquivos em debian/* <ul><li>O dh_make cria vários arquivos, muitos dos quais não precisaremos. Vamos apagá-los: $ rm debian/*.ex debian/*.EX README.Debian </li></ul><ul><li>Vejamos o que sobrou $ ls debian changelog compat control copyright dirs docs rules </li></ul>Invoca o Makefile Você já conhece esse.
  37. 38. debian/control <ul><ul><li>Source: logicparser Section: misc Priority: optional Maintainer: Marcelo Lira dos Santos <meuemail@email.com> Build-Depends: debhelper (>= 5), autotools-dev Standards-Version: 3.7.2 </li></ul></ul><ul><ul><li>Package: logicparser Architecture: i386 Depends: ${shlibs:Depends}, ${misc:Depends} Description: Simple parser for logical expressions. Parser of logical propositions. It generates a parsed tree, a graph in DOT format, and renders it in PNG if GraphViz is available. It also calculates the expression based in values given by the user. </li></ul></ul>
  38. 39. Criando o Pacote Binário <ul><li>fakeroot </li></ul><ul><ul><li>usado para simular privilégios de root </li></ul></ul><ul><ul><li>a princípio não serve pra exploitar (tão pensando que o céu é perto) </li></ul></ul><ul><li>Usamos o rules para criar o pacote $ fakeroot debian/rules binary </li></ul><ul><li>Fora do diretório do código fonte estará o arquivo logicparser_0.7.2-1_i386.deb </li></ul>
  39. 40. Pacotes Fonte <ul><li>Fatos: </li></ul><ul><ul><li>Além de pacotes binários o Debian possui pacotes fonte. </li></ul></ul><ul><ul><li>Pacotes binários são criados a partir de pacotes fonte. </li></ul></ul><ul><ul><li>Pacotes fonte podem gerar múltiplos pacotes binários. </li></ul></ul><ul><ul><ul><li>Exemplo: o pacote fonte de uma biblioteca pode gerar pacotes binários runtime , desenvolvimento e documentação </li></ul></ul></ul>
  40. 41. Anatomia de Um Pacote Fonte <ul><li>Um pacote fonte não é um arquivo, mas 3: </li></ul><ul><ul><li>foo_1.0-1.orig.tar.gz – código fonte original </li></ul></ul><ul><ul><li>foo_1.0-1.diff.gz – mudanças feitas no código fonte original; pode ser o acréscimo do diretório debian , ou mudanças na própria aplicação para se adequar às políticas do Debian. </li></ul></ul><ul><ul><li>foo_1.0-1.dsc – descrição do pacote fonte. </li></ul></ul>
  41. 42. Criando o Pacote Fonte <ul><li>Devemos ter no presente diretório, o arquivo orig do código fonte, mais o diretório com o código fonte alterado ( debian/* e outras coisas): $ ls logicparser-0.7.2 logicparser_0.7.2.orig.tar.gz $ dpkg-source -b logicparser-0.7.2 $ ls logicparser-0.7.2 logicparser_0.7.2.orig.tar.gz logicparser_0.7.2-1.diff.gz logicparser_0.7.2-1.dsc </li></ul>
  42. 43. Criando o Pacote Fonte <ul><li>Vamos copiar o pacote fonte para outro lugar onde podemos brincar em paz: $ mkdir playground $ cp logicparser_0.7.2* playground $ cd playground </li></ul><ul><li>Usamos o comando dpkg-source para aplicar as diferen ç as no pacote fonte original segundo as informa ções em dsc $ dpkg-source -x logicparser_0.7.2-1.dsc $ ls logicparser-0.7.2 logicparser_0.7.2-1.diff.gz logicparser_0.7.2-1.dsc logicparser_0.7.2.orig.tar.gz </li></ul>
  43. 44. Criando o Pacote Fonte <ul><li>Finalmente construímos o pacote binário: $ cd logicparser-0.7.2 $ dpkg-buildpackage -rfakeroot -b -us -uc $ cd .. $ ls logicparser-0.7.2 logicparser_0.7.2-1.dsc logicparser_0.7.2-1_i386.deb logicparser_0.7.2-1.diff.gz logicparser_0.7.2-1_i386.changes logicparser_0.7.2.orig.tar.gz </li></ul>u = unsigned não faz uso de assinaturas criptográficas
  44. 45. Resumo Visual do Processo de Empacotamento Upstream Source Rename Unpack Build Build Create Working Files Debian packaging files and changes Debian binary package Debian source package Descaradamente copiado de: http://liw.iki.fi/liw/talks/debian-packaging-tutorial.pdf foo-1.0.tar.gz foo-1.0 foo-1.0/debian/* foo_1.0-1_i386.deb foo_1.0-1.orig.tar.gz foo_1.0-1.diff.gz foo_1.0-1.dsc
  45. 46. Autor: Marcelo Lira dos Santos <setanta@gmail.com> Chefe, posso usar algumas horas de trabalho pra fazer os slides do Dia D ? Pro Dia D ? Claro que pode! [meu chefe no INdT]
  46. 47. Referências
  47. 48. Referências <ul><li>KRAFFT, Martin F. The Debian System </li></ul><ul><li>The Debian GNU/Linux FAQ Chapter 6 - Basics of the Debian package management system </li></ul><ul><ul><li>http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html </li></ul></ul><ul><li>Debian Policy Manual </li></ul><ul><ul><li>http://www.debian.org/doc/debian-policy/ </li></ul></ul><ul><li>Debian Packaging School: Lesson 1 </li></ul><ul><ul><li>http://liw.iki.fi/liw/talks/debian-packaging-tutorial.pdf </li></ul></ul>
  48. 49. <ul><li>Atribuição-Compartilhamento pela mesma licença 2.5 ( http://creativecommons.org/licenses/by-sa/2.5/deed.pt ) </li></ul><ul><li>Você pode: </li></ul><ul><ul><li>copiar, distribuir, exibir e executar a obra </li></ul></ul><ul><ul><li>criar obras derivadas </li></ul></ul><ul><ul><li>fazer uso comercial da obra </li></ul></ul><ul><li>Sob as seguintes condições: </li></ul><ul><li>Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. </li></ul><ul><li>Compartilhamento pela mesma Licença. Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta. </li></ul><ul><ul><li>Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra. </li></ul></ul><ul><ul><li>Qualquer uma destas condições podem ser renunciadas, desde que Você obtenha permissão do autor. </li></ul></ul><ul><li>Qualquer direito de uso legítimo (ou &quot;fair use&quot;) concedido por lei, ou qualquer outro direito protegido pela legislação local, não são em hipótese alguma afetados pelo disposto acima. </li></ul><ul><li>Este é um sumário para leigos da Licença Jurídica (na íntegra: http://creativecommons.org/licenses/by-sa/2.5/br/legalcode ). Termo de exoneração de responsabilidade: http://creativecommons.org/licenses/disclaimer-popup?lang=pt </li></ul>
  • josaffa

    Apr. 30, 2015
  • renatocbj

    May. 14, 2012
  • afurlan

    Jun. 3, 2010
  • ramiroluz

    Oct. 7, 2009
  • hufflepuffbr

    Aug. 5, 2008

Empacotamento Debian Básico

Views

Total views

5,925

On Slideshare

0

From embeds

0

Number of embeds

98

Actions

Downloads

187

Shares

0

Comments

0

Likes

5

×