August 4th, 2007 — pro, pt
Hoje Alberto Ruiz (que parece assustadoramente com um amigo meu; alô Icaro!) fez um binding Vala pro GtkMozEmbed, daí me empolguei e fiz um pacote Debian do bicho. Estava num Ubuntu Gutsy e não testei em nenhuma outra máquina, então só garanto funcionar do Gutsy pra cima (dica: precisa libglib maior igual a 2.12.9).
Download: vala_0.1.2-1_i386.deb
Se quiser experimentar uns códigos (com um esclarecedor Makefile), veja o post anterior sobre Vala.
Já criei um binding pro Hildon que deve deixar os manos do INdT felizes, só falta arrumar uma coisa e outra e mando o patch.
July 31st, 2007 — pro, pt

Outro dia numa das minhas threads de atividades (um cara tem de ganhar a vida :P), tive de montar uma subrede num laboratório aqui da UFPE. Não foi nada extraordinário e o povo que mexe com Linux deve estar careca de saber como faz: só um servidor DHCP e Firewall com NAT. Mas como servidores não são minha praia foi uma novidade interessante e resolvi anotar como foi caso precise depois, provavelmente num dia em que já terei esquecido como fiz a primeira vez. :P
Tutorial no site do CInLUG:
May 11th, 2007 — mine, pt
Um problema muito chato de quem faz documentos e apresentações no OpenOffice no Linux e vai abrir no windows (seja no openoffice ou no ms office), ou que tenta abrir no Linux algo feito no windows, é que algumas vezes tudo aparece fora de lugar.
Não é devido a incompatibilidades ou coisas assim, apenas o fato de as fontes mais comuns (Arial, Times New Roman e Courier New) são propriedade da microsoft e como de costume não podem ser redistribuídas livremente. No linux você encontrará as equivalentes da família Bitstream, que são parecidas mas não usam a mesma métrica das suas primas microsoftianas, o que gera coisas fora de lugar.
A solução normal para isso era instalar as fontes da MS. No Debian/Ubuntu basta um apt-get install msttcorefonts, que esse pacote baixa os pacotes do site da microsoft, descompacta e coloca no lugar pra você.
A Red Hat forneceu uma terceira opção: liberou um conjunto de fontes chamado Liberation, com aparência similar e a mesma métrica das Arial, Times New Roman e Courier New.
Uma grande ajuda, que vocês podem conferir aqui: https://www.redhat.com/promo/fonts/
February 3rd, 2007 — pro, pt
Seguindo esse excelente tutorial, consegui fazer um pacote pra instalar o LogicParser em distribuições derivadas do Debian. Antes de explicar como foi, tenho de dizer que fazer o primeiro pacote .deb é totalmente lol. Não me perguntem por quê, é algo totalmente emocional. ;)

A coisa foi muito facilitada por eu já estar usando autotools no projeto, como expliquei num post anterior, e pelo fato da aplicação ser bem simples. Tudo que tive de fazer foi usar um par de utilitários debian: dh_make e debuild.
Para instalar o que é preciso (além do build-essential):
apt-get install dpkg-dev debhelper devscripts fakeroot linda dh-make
Agora é necessário criar um diretório debian dentro do diretório da aplicação. Normalmente eu trabalho com a versão do SVN num diretório chamado logicparser, mas para fazer o pacote .deb é necessário usar um esquema de nome que inclua a versão da aplicação separada por um hífen, então fiz uma cópia chamada logicparser-0.7.2.
Uma vez dentro de logicparser-0.7.2 executei o comando
<strong>dh_make --native --single --email <a href="mailto:meuemail@mail.com" class="linkification-ext" title="mailto:meuemail@mail.com">meuemail@mail.com</a></strong>
Isso cria um diretório debian com vários arquivos template, a maioria desnessária para uma aplicação simples, então foram apagados:
<strong>rm debian/*.ex debian/*.EX debian/README*</strong>
O parâmetro –native significa pacote debian nativo, que foi a forma que escolhi pra fazê-los; –single diz que a aplicação consiste de apenas um executável.
O único arquivo que precisou ser alterado foi o debian/control, para acrescentar uma descrição, a versão e arquitetura alvo:
Source: logicparser
<strong>Section: universe/misc</strong>
Priority: optional
Maintainer: Marcelo Lira dos Santos <<a href="mailto:meuemail@email.com" class="linkification-ext" title="mailto:meuemail@email.com">meuemail@email.com</a>>
Build-Depends: debhelper (>= 5), autotools-dev
<strong>Standards-Version: 0.7.2</strong>
Package: logicparser
<strong>Architecture: i386</strong>
Depends: ${shlibs:Depends}, ${misc:Depends}<strong>
Description: Simple parser and calculator for logic propositional 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.</strong>
Em seguida a compilação via o script debian/rules dentro de um ambiente fakeroot:
<strong>fakeroot debian/rules binary</strong>
E finalmente as criação do pacote .deb (ele deve aparecer fora do diretório logicparser-0.7.2):
<strong>debuild -us -uc</strong>
Esses dois parâmetros são para desabilitar a assinatura de pacotes, o que me faz lembrar que já tá na hora de eu arrumar uma chave PGP…
Foi mais fácil do que pensei, embora saiba que a coisa pode ficar bem mais elaborada. Depois vou ver como automatizar ainda mais o processo a ponto de dar um make deb ou algo assim.
Downloads:
December 27th, 2006 — pro, pt
Ultimamente tenho configurado alguns repositórios Subversion usando a seção Version Control System do Ubuntu Server Guide, que consiste de:
- Instalar o servidor: sudo apt-get install subversion libapache2-svn
- Criar um novo projeto: svnadmin create /var/svn-repos/projeto
- Criar um arquivo de senhas: htpasswd2 /etc/subversion/passwd user_name
- Editar /etc/apache2/apache2.conf acrescentando uma entrada para o repositório do novo projeto
<Location /svn/projeto>
DAV svn
SVNPath /var/svn-repos/projeto
AuthType Basic
AuthName "Your repository name"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
- Uma rápida reiniciada no apache com /etc/init.d/apache2 restart e pronto.
O problema é que eles esqueceram de incluir uma parte sobre como inicializar o repositório com uma estrutura decente, então é o seguinte:
cd /tmp
mkdir projeto
mkdir projeto/trunk
mkdir projeto/branches
mkdir projeto/tags
svn import /tmp/projeto file:///var/svn-repos/projeto/ -m “initial import”
chown -R www-data:subversion /var/svn-repos/projeto
rm /tmp/projeto -rf
Desnecessário dizer que tudo tem de ser feito no servidor como root (sudo -s).