De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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.
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á.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários