Primeiras Experiências

De Pontão Nós Digitais

11/07

Assinatura das listas de email:

-icmclinux

-metareciclagem 

-estudiolivre

-thackday

-submidialogia

-listamacambira

Leitura do primeiro e segundo capítulo do livro Pro Git

 http://progit.org/book/

Leitura e execução do tutorial Git

Experiências: De início, procurei o Projeto do Broffice para fazer o git clone, porém este projeto não possui repositorio Git então começei pela busca de algum projeto simples de visualização de PDF que tenha algum repositorio em Git. Encontrei o Mupdf, fiz o git clone mas não consegui compilar o projeto, pois acusava a falta de um arquivo no diretorio /etc/X11.

12/07

Pesquisa por outros projetos de leitura de PDF dentre eles ( ePDFViewer , ViewPDF e BePDF )

Depois de clonar o BePDF do repositorio CVS interfaceado com o git com os comandos:


 $ git cvsimport -d:pserver:anonymous@bepdf.cvs.sourceforge.net:/cvsroot/bepdf -r cvs -k -v bepdf\


 $ git config cvsimport.module lemsvxlsrc
 $ git config cvsimport.r cvs
 $ git config cvsimport.d :ext:pserver:anonymous@bepdf.cvs.sourceforge.net:/cvsroot/bepdf

Só foi possível compilar o projeto depois de sanados alguns erros no codigo fonte. Foi dado o git add e depois um commit nestas alterações do fonte.

Estudo do codigo fonte para poder fazer alguma alteração visível.

Alteração no arquivo xpdf.cc na rotina KeyPress para alterar atalhos quando abrir algum arquivo PDF. Comandos Utilizados:

 comando para editar o fonte pelo Gvim
 $ gvim xpdf/xpdf.cc 
 Comando para compilar o software e instalar (teste das alterações)
 $ sudo make install
 Comando para adicionar o fonte modificado no repositorio local 
 $ git add xpdf/xpdf.cc
 Commit no repositorio git local
 $ git commit -m "Edicao de atalhos para abrir arquivos PDF"

13/07

Procura frustrada do buglist do Bepdf.

Instalacao do SSH para clonar um repositorio git da rede. Git Clone do evince do Nivaldo usando SSH com os comandos

 ssh henrique@192.168.1.190
 git clone henrique@192.168.1.190:/home/henrique/src/git/evince


Foi preciso baixar e compilar o poppler pelo git clone git://git.freedesktop.org/git/poppler/poppler backend para poder dar o make no evince.


Tive problemas com as dependencias de bibliotecas do poppler.. utilizando o aptitude search e install resovleu-se os problemas das dependencias.

Ao compilar com o make o evince, ainda tive problemas de dependencias de bibliotecas. os mais problemáticos foram solucionados com:

 apt-get install libmono0 libmono-dev
 sudo aptitude install libnautilus-extension-dev

Obs. interessante: Não consgui compilar o evince dentro do diretorio nomeado como evince. Precisei mudar o nome do diretório para poder compilar. (estranho)

Estudo do fonte do Evince para possíveis commit

Leitura do Buglist do Evince encontrado nas urls:

 https://bugzilla.gnome.org/buglist.cgi?quicksearch=keywords%3Agnome-love+product%3A%22evince%22+
 http://live.gnome.org/Evince/BugLists

14/07

Email para o "developer master" do bepdf para autorizaćão do commit

Tentativa de Resolver o bug do evince - não fecha a apresentação se continuar apos final. em conjunto com o Nivaldo e o Alexandre

Estudo do codigo fonte do evince para sanar o bugs

Assinatura da lista de emails do evince. Obs. Codigo do evince pouquíssimo comentado e intuituvo

Resolvi estudar algo sobre GTK programing e ponteiros em linguagem c

Aprendi a compilar o fonte de programas em liguagem c Utilizando shell.

 gcc arquivo.c -o arquivoexecutavel

Mais leituras sobre GTK

Compilação de programas básicos em gtk para aprendizado utilizando. Calculadora simples.

 gcc -o teste teste.c `pkg-config --libs --cflags gtk+-2.0`

15/07

Periodo da manhã tomado pela reunião e o aniversário

Peguei outro bug na buglist do evince para consertar descrito em:

 https://bugs.launchpad.net/ubuntu/+source/evince/+bug/256445

Onde por padrão o programa teria que setar o modo de exibição do pdf para uma visualização completa caso existisse apenas uma pagina. Mesmo se a opção de dual-view estivesse setada como Default.

Sucesso no bugfix!!

 if (n_pages == 1)
    ev_document_model_set_dual_page (window->priv->model, FALSE);

Criei novo branch com:

   git branch bugfix

Adicionei o arquivo modificado e commitei com:

   git add shell/ev-window.c
   git commit

Criei o patch com

   git format-patch origin/master --stdout > bugfix547098.patch

Postei o patch no buglist do evince:

   https://bugzilla.gnome.org/show_bug.cgi?id=547098