Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Zura! - Busque. Compare. Compre. Zura! - Busque. Compare. Compre.

Outras ofertas

TV LCD

TV Plasma

DVD Player

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Criando Patches

Colaboração: Carlos E. Morimoto

Data de Publicação: 21 de Agosto de 2005

Os patches são largamente usados não apenas no desenvolvimento do Kernel, mas em praticamente todos os projetos open-source. Um patch nada mais é do que um arquivo de texto contendo as diferenças entre dois arquivos, uma forma forma prática de enviar correções e modificações para os mantenedores dos projetos.

Por serem pequenos, os patches podem ser facilmente enviados via e-mail e são fáceis de auditar, pois verificar as poucas linhas alteradas, ao invés de ter que checar o código fonte completo. Enviar um patch pode ser a única forma de ter sua correção ou melhoria aceita. Vamos a um exemplo rápido de como criar um patch para um shell script simples, que instala o Acrobat Reader no Debian:

  apt-get install acroread
  apt-get install mozilla-acroread
  ln -sf /usr/lib/Adobe/Acrobat7.0/browser/intellinux/nppdf.so \
  /usr/lib/firefox/plugins/nppdf.so

Imagine que o script faz parte de um programam maior, que está localizado na pasta programa/, dentro do seu diretório home, junto com outros arquivos. O arquivo do script por coincidência se chama "script".

O script original não funciona corretamente e você descobriu que o programa são dois erros simples nas localizações das pastas. Depois das modificações, o script ficou:

  apt-get install acroread
  apt-get install mozilla-acroread
  ln -sf /usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so \
  /usr/lib/mozilla-firefox/plugins/nppdf.so

Você precisa agora gerar um patch e enviá-lo para o mantenedor do programa, para que ele possa aplicar sua correção. Para isso, você vai precisar de duas pastas, uma contendo o código fonte do programa original e outra contendo o código fonte depois de suas alterações. Não importa se você alterou apenas um arquivo ou se fez alterações em vários. O patch conterá todas as diferenças entre as duas pastas. Imagine que a pasta original se chama "programa" e a pasta com as modificações se chama "programa-mod". O comando para gerar o patch seria:

  $ diff -uNr programa programa-mod/
  
  diff -uNr programa/script programa-mod/script
  --- programa/script     2005-08-09 11:38:55.000000000 -0300
  +++ programa-mod/script 2005-08-09 11:38:47.000000000 -0300
  
-1,4 +1,4
apt-get install acroread apt-get install mozilla-acroread -ln -sf /usr/lib/Adobe/Acrobat7.0/browser/intellinux/nppdf.so \ -/usr/lib/firefox/plugins/nppdf.so +ln -sf /usr/lib/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so \ +/usr/lib/mozilla-firefox/plugins/nppdf.so

Veja que ele devolve as diferenças diretamente na tela. Para que ele gere o patch, direcione a saída do comando para um arquivo:

  $ diff -uNr programa programa-mod/ > patch

É isso aí :) Seu primeiro patch está pronto, espero que seja o primeiro de muitos outros. Basta envia-lo por e-mail para o mantenedor do programa, explicando o que foi feito.

Para aplicar seu patch, o mantenedor acessaria a pasta com o fonte do programa (a pasta programa/ no exemplo) e, dentro dela, usaria o comando:

  $ patch -p1 < /algum_lugar/patch

Neste caso usei como exemplo um shell script, mas os patches podem ser criados a partir de código fonte em qualquer linguagem, ou até mesmo a partir de arquivos binários.


Cursos intensivos do Guia do Hardware.NET em Porto Alegre

A escola Guia do Hardware.NET, em Porto Alegre-RS está realizando este mês, pela primeira vez, seus cursos intensivos em semanas consecutivas. É uma ótima oportunidade para quem quer fazer os cursos, mas mora em outra cidade, ou estado.

O curso "Linux Primeiros Passos", ministrado por Jonathan Meller cobre instalação, configuração e uso do sistema, servindo como um bom ponto de partida para quem tem apenas conhecimentos básicos e quer se aprofundar.

Em seguida vem o curso 'Redes e Servidores Linux', ministrado por Carlos E. Morimoto, é focado na instalação de redes entre máquinas Linux e Windows e configuração de servidores Linux, abordando a configuração de servidores LAMP, Squid, Samba, NFS, FTP e DNS, acesso remoto com o SSH, VNC, FreeNX e XDMCP, terminais leves com o LTSP, servidores de e-mail e firewall.

Os cursos começam dia 22 de agosto. Mais informações a respeito dos cursos e tópicos abordados no http://guiadohardware.net/cursos. Até lá.

Veja a relação completa dos artigos de Carlos E. Morimoto

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (759 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Ferramentas de Publicidade do Google


Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

Grupo MBS