Depois quando eu reclamo…

Depois quando eu digo que esta­mos lendo só merda na inter­net ainda dizem que sou chato…

doismortos

  • Share/Bookmark

Um game quase poético: Odin Sphere

Faz muito tempo que não falo aqui sobre jogos, mas, nem por isso parei de jogar e de me diver­tir com meu Plays­ta­tion 2. Games para PC nunca me atraí­ram muito, mas sem­pre tive a sorte de ter algum bom con­sole conec­tado à TV da sala.

Fiz uma pausa e vim aqui falar sobre o exce­lente Odin Sphere da Vanillaware/Atlus, um RPG lan­çado em 2007 e que, diziam, era o último grande game para PS2.

Este jogo me con­quis­tou por diver­sos moti­vos e o prin­ci­pal deles é a nar­ra­tiva belis­si­ma­mente desen­vol­vida pelo dire­tor George Kami­tani. Segundo ele mesmo, a inten­ção era fazer um jogo que seguisse uma veia sha­kes­pe­a­ri­ana, repleto de diá­lo­gos dig­nos de um (bom) livro, com lin­gua­jar moderno e, mesmo assim, ele­gante. Logo nas pri­mei­ras linhas nota-se algo a mais durante os diá­lo­gos. Os tex­tos, quase como poe­sias, são decla­ma­dos por uma dubla­gem exce­lente, de inglês claro, bem mar­cado e bonito.

Não se pre­o­cupe se você não gosta de ler; o jogo tem um fundo de mito­lo­gia nór­dica mis­tu­rada a outros ele­men­tos que tor­nam a trama atra­ente tam­bém para aque­les que gos­tam de par­tir logo para a por­rada, mas a graça, na minha opi­nião, é des­fru­tar mesmo a história.

São 5 per­so­na­gens, cada um de um livro e você pre­cisa pas­sar pelos 5 livros para com­ple­tar a jor­nada. As vidas de cada um dos 5 são conec­ta­das por­que, sendo de raças dife­ren­tes e no meio de uma guerra, cada um deles luta para garan­tir a sobre­vi­vên­cia de seu povo. Dessa forma, jogando, você tem a opor­tu­ni­dade de obser­var a trama sob todos os pon­tos de vista, o de quem ataca, o de quem é ata­cado, o de quem vence, o de quem é ven­cido e se pega refle­tindo que não há, real­mente, bons ou maus; ape­nas há povos lutando para alcan­çar um fim. Nas opções do jogo existe uma time­line que mos­tra como cada evento estava conectado.

Grá­fi­cos em 2D super colo­ri­dos e com tra­ços boni­tos, mas esti­li­za­dos, lem­brando pin­tu­ras em aqua­rela per­mi­tem que você se deixe levar pelas luzes e deta­lhes em cada cená­rio. Você vai enfren­tar espec­tros de lava na terra do fogo, ietis rai­vo­sos nas mon­ta­nhas gela­das e atra­ves­sar netherworld, o sub­mundo dos mor­tos em meio a espí­ri­tos ran­co­ro­sos e cheios de cinismo, tudo isso empu­nhado a sua Scypher, que é uma arma for­jada a par­tir das joias rou­ba­das dire­ta­mente dos domí­nios da morte (legal, não?). Enquanto luta, as músi­cas orques­tra­das, com­po­si­ções da pro­du­tora de som Basis­cape dão um bom suporte para com­ple­tar a trama, mas, sin­ce­ra­mente, pode­riam ser melho­res, pois ficam meio repe­ti­ti­vas se você pres­tar atenção.

Não se trata de um jogo fácil: cer­tos mes­tres che­gam mesmo a irri­tar se por acaso forem enfren­ta­dos sem a pre­pa­ra­ção ade­quada, con­tudo, não chega a ser um jogo extre­ma­mente longo, podendo ser ter­mi­nado em menos de 15 horas com algum esforço.

A maior recla­ma­ção, sin­ce­ra­mente, é téc­nica, pois, na hora em que a tela fica repleta de raios, explo­sões e mons­tros vora­zes o hard­ware do PS2 começa a pipo­car para o odi­ado efeito slow­down… se você não for esperto acaba mor­rendo para ter que come­çar o cená­rio de novo.

O game é, ape­sar desse defei­ti­nho, uma ver­da­deira obra de arte, repleto de bom gosto, bem feito e muito inte­res­sante, ghe­gando a garan­tir um 8.8 no score da IGN.

Minha reco­men­da­ção? Se você não jogou, jogue, pois este é um jogo memorável.

  • Share/Bookmark

Mosaicum.org: tudo num lugar só

Faz algum tempo que alguns ami­gos e eu ini­ci­a­mos um pro­jeto cha­mado “Mosai­cum”. A idéia por trás do Mosai­cum é criar um ambi­ente rico em infor­ma­ções con­si­de­ra­das inte­res­san­tes, fomen­tar o debate e tra­zer para as pes­soas um tipo de cul­tura menos pas­teu­ri­zada e menos pobre.

Os assun­tos abor­da­dos no site variam desde arte, poe­sia e música até mate­má­tica, quí­mica e física e há espaço para com­par­ti­lhar dados como e-books, músi­cas e vídeos (desde que res­pei­tando as 3 leis).

Como o pro­jeto ainda está enga­ti­nhando, não houve tra­ba­lho na divul­ga­ção e nem nos con­vi­tes para cha­mar novos auto­res, mas a inten­ção é reu­nir num só lugar, pes­soas que gos­tem de escre­ver sobre os mais vari­a­dos assun­tos, com os mais vari­a­dos gos­tos, desde que apre­sen­tem bons textos/vídeos/músicas/livros/pinturas/opiniões…

Mais novi­da­des para breve e, se você se inte­res­sou, por­que não se junta a nós?

  • Share/Bookmark

Gerador automático de tweets — odeio o Twitter parte 2

Quando digo que não suporto o Twit­ter sei que muita gente dis­corda e deve me achar um cara retró­grado e “por fora”, mas, sin­ce­ra­mente, quanto mais o tempo passa, mais minha opi­nião sobre micro­blog­ging se consolida.

Não é ape­nas pelo fato de haver milhões de pes­soas com­par­ti­lhando com todo o mundo atos banais com os quais nin­guém se importa, tam­pouco por limi­tar o, já pobre, pseudo-português das pes­soas a 140 carac­te­res (cri­ando outra vari­ante bizarra do inter­ne­tês), mas, seja­mos dire­tos, o Twit­ter é ape­nas a ver­são 2.0 das revis­tas de fofoca.

Legal para empre­sas, legal para pro­je­tos e até para pro­fis­si­o­nais que dese­jam com­par­ti­lhar suas roti­nas de tra­ba­lho, o Twit­ter se vê explo­dindo mundo a fora reple­tos de Joões-Ninguém que acham rele­vante fazer que todos sai­bam que ele vai cor­tar as unhas do pé ou pre­pa­rar o jan­tar, ou ir deitar.

Não gosto mesmo e a prova de quão tosco é, em geral, o micro­blog­ging é que já existe o gera­dor de Twe­ets: se você não tem nada para escre­ver, gere um tweet randô­mico e diga ao mundo quão vazio você é.

Seguem aí 5 twe­ets “ale­a­tó­rios” para mos­trar o nível do negócio.

  • Meu namoro ter­mi­nou. A fila vai ter que andar!
  • O Twit­ter aca­bou com o meu tempo livre!
  • já dizia Con­fu­cio: — conheça-te a ti mesmo antes de conhe­cer a si próprio…
  • Se minha sogra só pudesse recla­mar em 140 carac­te­res ela teria uma crise de abs­ti­nên­cia de palavras
  • Bai­xando epi­só­dios do #Lost para fazer uma mara­tona neste fim-de-semana.

E fica a minha per­gunta: quem se importa?

  • Share/Bookmark

CentMail: combatendo o spam com golpes mortais… na carteira

É incrí­vel a habi­li­dade humana de estra­gar e sub­ver­ter as coi­sas, mesmo a mais legal delas.

Con­fesso que, com­pa­rado a cer­tas pes­soas que são ícones da infor­má­tica e da tec­no­lo­gia no Bra­sil, sou rela­ti­va­mente novo nisso tudo, mas, já em 2001, quando criei minha pri­meira conta de e-mail no finado LigBR (alguém lem­bra?) essa coisa de escre­ver car­tas digi­tais para qual­quer pes­soa do mundo me fas­ci­nou profundamente.

A ideia, pelo visto, fas­ci­nou mais gente: há esti­ma­ti­vas de que em Agosto de 2008 exis­tiam 1,3 bilhão de usuá­rios de e-mail e que 210 bilhões de men­sa­gens ele­trô­ni­cas são envi­a­das por dia em todo o mundo1. O pro­blema é que, esta­tis­ti­ca­mente, quanto mais cresce o número de usuá­rios, tam­bém aumenta o número de imbe­cis e dessa forma o spam sur­giu, abo­ca­nhando 90% des­ses 210 bilhões de men­sa­gens enviadas.

O caso é tão grave que em qual­quer came­ló­dromo onde se encon­tram softwa­res “gené­ri­cos” (des­ses não reco­men­da­dos pela Asso­ci­a­ção das Senho­ras Cató­li­cas) é pos­sí­vel com­prar um CD com milhões de ende­re­ços ele­trô­ni­cos e o soft­ware para men­sa­gens em massa. Tudo isso pelo custo módico de R$ 5 e, pro­va­vel­mente, caro lei­tor, o seu ende­reço de e-mail tam­bém está lá.

A busca por solu­ções à ame­aça envolve algu­mas das men­tes mais bri­lhan­tes do mundo e a “cura”, até os dias de hoje, con­siste em con­tor­nar o pro­blema, mui­tas vezes inco­mo­dando os usuá­rios. Quem gosta, afi­nal, de ficar escre­vendo aque­las letri­nhas (algu­mas ile­gí­veis) do CAPTCHA?

A pró­xima idéia no com­bate ao spam é o e-mail pago, mate­ri­a­li­zado na forma do Cent­Mail que, basi­ca­mente, emi­tirá selos no valor de ¢ 1 (ou, US$ 0,01 se pre­fe­rir). Você “colará” os selos nas suas men­sa­gens e ela será, auto­ma­ti­ca­mente, enten­dida como autêntica.

O pes­soal dos spams, acos­tu­mado a encher o saco de bilhões de pes­soas por dia, terá que pagar US$ 10.000 para man­dar um milhão de mensagens.cent

Pre­o­cu­pante é a situ­a­ção das lis­tas de dis­cus­são e das pes­soas que, como eu, man­dam deze­nas de men­sa­gens por dia já que a inten­ção é tor­nar os “selos” um padrão para os pró­xi­mos anos e a ideia é endos­sada por nin­guém menos que o Yahoo, a empresa que se gaba de ter maior parte dos usuá­rios de e-mail do mundo.

A grana acu­mu­lada no pro­cesso, dizem, vai para ins­ti­tui­ções de cari­dade. Extra­po­lando um pouco, isso sig­ni­fica que eu, sozi­nho, de tanto pagar para enviar men­sa­gens, esta­rei sus­ten­tando um pequeno país da Europa Ori­en­tal (mais ou menos o que já me acon­tece pelas mul­tas de livros atra­sa­dos na biblioteca).

P.S.:

Olha que iro­nia. Vim dar uma olhada em como o post tinha ficado e se os anún­cios não que­bra­ram nenhum pará­grafo quando, de repente, no AdSense do Goo­gle vejo este link.

  • Share/Bookmark

Aleluia! Skype novo para Linux

Por mais que eu adore o Linux, às vezes é pre­ciso ter a hom­bri­dade para admi­tir que cer­tas coi­sas em estar à mar­gem são meio irri­tan­tes, como, por exem­plo, a demora em rece­ber atu­a­li­za­ções (ou mesmo ver­sões) decen­tes de softwa­res legais que todo mundo usa ou que algum dia podem ser necessários.

O Skype é um des­ses exem­plos. Sem­pre fiquei P*** da vida quando pre­ci­sava baixá-lo e, ano após ano, con­ti­nu­ava lá o empo­ei­rado RPM com­pi­lado para o Fedora Core 5 que já até virou petró­leo de tão velho e ultra­pas­sado… trata-se, na mai­o­ria das vezes, de uma ques­tão de se con­for­mar e con­ti­nuar usando o soft­ware velho ou ins­ta­lar o Win para tes­tar o que há de novo.

O tempo pas­sou e, final­mente, alguma alma cari­dosa do eBay (dona do Skype) se lem­brou de nós, lan­çando a ver­são 2.1.0.47 Beta para ado­çar nos­sas bocas.

Ape­sar de ainda ser bas­tante infe­rior à ver­são 4.1 dis­po­ní­vel para Win­dows a atu­a­li­za­ção para Linux me causa certo alí­vio espe­ci­al­mente pelos biná­rios gera­dos em com­pi­la­do­res novos (já que os RPMs para Fedora Core 5 tinham sido fei­tos por com­pi­la­do­res mais velhos que a minha avó). As melho­rias no soft­ware, em si, não são nada revo­lu­ci­o­ná­rio em com­pa­ra­ção com a ver­são antiga, mas, melho­rias são sem­pre bem-vindas.

Resta-me, agora, tor­cer pra que lan­cem atu­a­li­za­ções para o Skype Linux em perío­dos de menos que 20 anos.

Gos­tou? Cli­que na figura e baixe a ver­são para sua dis­tro favorita!

  • Share/Bookmark

15 convites para o Meme do Yahoo aqui

Recebi do Yahoo! 15 con­vi­tes para dis­tri­buir aos ami­gos que dese­ja­rem par­ti­ci­par do Meme, um ser­viço de micro­blog­ging com mul­ti­mí­dia do Yahoo. Quem esti­ver inte­res­sado em rece­ber um con­vite basta comen­tar aqui e eu enviarei.

Se você não sabe o que é o Meme do Yahoo leia esse artigo.

  • Share/Bookmark

Softwares esdrúxulos: CowSay

Começa aqui uma série cha­mada “softwa­res esdrú­xu­los”. Esta é uma ode a todos aque­les pro­gra­ma­do­res que, como qual­quer ser humano, des­per­di­ça­ram algum tempo livre para nos for­ne­cer um soft­ware com­ple­ta­mente inú­til e sem nenhum obje­tivo prá­tico. Divirtam-se!

Não have­ria maneira melhor de come­çar esta série se não fosse pelo clás­sico Cow­Say. Cow­Say é um soft­ware escrito em perl que exibe uma vaqui­nha (em ASCII) no ter­mi­nal. A “graça” é que a vaqui­nha repete aquilo que lhe for escrito.

Por exem­plo:

cow1

Não, caro lei­tor, o soft­ware não faz mais nada e você ainda tem a van­ta­gem de enviar “pipes” para a sim­pá­tica vaquinha:

cow2
Ou, usando argu­men­tos, fazer com que o caris­má­tico bovino tenha outras expres­sões:
cow3
Enfim, as vacas são um per­so­na­gem cult no mundo hac­ker e se você faz o tipo diver­tido, com muito tempo para per­der e alguma ten­dên­cia a pia­das de estilo duvi­doso, Cow­Say é seu soft­ware esdrú­xulo ideal. São 25 Kb ins­ta­lá­veis via YUM e que irão lhe pro­por­ci­o­nar diashoras… minu­tos de “diversão”.

Ins­tale

$ su -c 'yum install cowsay'

P.S.:
Esse artigo é em home­na­gem ao meu amigo Igor Soa­res, rei das tra­du­ções e fã do cowsay.

  • Share/Bookmark

Meme do Yahoo: outro serviço que você não sabe se precisava

Tudo o que o mundo pre­ci­sava era mais um site à Twit­ter, mesmo assim ontem fui con­fe­rir o Yahoo Meme, um ser­viço de pos­ta­gens mul­ti­mí­dia muito seme­lhante ao Tum­blr. Todo o desen­vol­vi­mento acon­tece na base do Yahoo aqui no Bra­sil e, por enquanto, ainda se encon­tra em fase alfa, mas per­mite que as pes­soas se cadas­trem como can­di­da­tos a expe­ri­men­tar a novidade.

A idéia é meio óbvia e, claro, alguém iria ten­tar isso um dia: se um blog é um mon­tão de texto e o Twit­ter é um pou­qui­nho de texto, por­que não fazer um site inter­me­diá­rio, sem as limi­ta­ções de texto do Twit­ter, nem tão extenso como um blog e com capa­ci­da­des mul­ti­mí­dia? O espí­rito é o mesmo dos micro­blogs: com­par­ti­lha­mento rápido de idéias, mas em texto, vídeo, som ou ima­gem e sem limite de caracteres.

O ser­viço **para mim** vai ser tão (in)útil quanto o Twit­ter; até o tenho, mas acho ridí­culo ficar pos­tando essas men­sa­gens cur­tas acerca do meu coti­di­ano pes­soal ou de tra­ba­lho e, tam­bém, não acho que alguém se importe (sem­pre tem, claro, esse tipo de gente que lê revis­tas de fofoca e acha inte­res­sante a vida alheia, mas eu não tenho tempo para isso).

Empre­sas, por outro lado, podem usar os micro­blogs para mos­trar o desen­vol­vi­mento de seus pro­du­tos. Adoro ver como anda o Mari­aDB, a NASA ou o Goo­gle e o Yahoo.

Em todo caso, como sem­pre, só o tempo dirá se mais essa ten­ta­tiva do Yahoo dará fru­tos pois já ficou mais do que pro­vado que os ser­vi­ços mais idi­o­tas podem ser um sucesso e os mais legais um fracasso.

  • Share/Bookmark

Cinco simples passos para fazer seu RPM

Mui­tas pes­soas (pelo menos assim acre­dito), gos­ta­riam de apren­der a receita para gerar um RPM de seu soft­ware favo­rito; a regra de ouro se você usa uma dis­tri­bui­ção que geren­cia paco­tes é “evite, sem­pre que pos­sí­vel, ins­ta­lar softwa­res que não sejam empa­co­ta­dos para o seu linux”, mas, se você usa Fedora ou alguma des­sas outras dis­tros “linha dura” pode aca­bar ficando sem aquele pro­gra­mi­nha que você tanto gosta.

Para evi­tar essa tra­gé­dia, vou apro­vei­tar o post de hoje para ensi­nar em pas­sos sim­ples como empa­co­tar um soft­ware qual­quer em RPM.

Bus­quei ao acaso um soft­ware qual­quer que ainda não exista nos repo­si­tó­rios do Fedora, um exem­plo bem sim­ples é o FMIT (Free Music Ins­tru­ment Tuner for Linux). O soft­ware é pequeno e pode ser ins­ta­lado da maneira clás­sica (./configure, make, make ins­tall), por isso é per­feito para o nosso exemplo.

Pri­meiro passo: con­se­guindo o código fonte

Vá ao site do FMIT bai­xar o código fonte:

Com o código fonte em mãos, descompacte-o e vá dar uma olhada no que ele pede para com­pi­lar sem pro­ble­mas. Se você está acos­tu­mado a ins­ta­lar softwa­res direto pelo código fonte vai se lem­brar de que o ./configure checa e avisa quais os com­po­nen­tes neces­sá­rios para uma com­pi­la­ção (e ins­ta­la­ção) correta.

Já adi­anto que o FMIT neces­sita alsa-lib-devel, freeglut-devel, fftw3-devel, jack-audio-connection-kit-devel, portaudio-devel e qt3-devel para com­pi­lar direito e tam­bém alsa-lib, fftw3, fre­e­glut, jack-audio-connection-kit para rodar com todas as funcionalidades.

Ins­ta­lar um soft­ware a par­tir do código fonte con­siste mesmo em jun­tar todas as peças neces­sá­rias para poder com­pi­lar e isso exige paci­ên­cia ali­ada a algu­mas habi­li­da­des detetivescas.

Segundo passo: cri­ando o ambi­ente certo

Já bai­xa­mos o código fonte e fica­mos fami­li­a­ri­za­dos com o que nosso soft­ware vai depen­der para ser com­pi­lado. O pró­ximo passo é pre­pa­rar seu sis­tema para gerar RPMs. Ins­ta­lar o ambi­ente de desen­vol­vi­mento é muito simples:

$ su -c 'yum install rpmdevtools'

Isso ins­tala os softwa­res neces­sá­rios e

$ rpmdev-setuptree

Que vai gerar as pas­tas e as macros usa­das no desenvolvimento.

O local de desen­vol­vi­mento, você vai repa­rar, fica den­tro de uma pasta cha­mada rpm­build (~/rpmbuild). Nunca, nunca mesmo, em hipó­tese alguma, faça RPMs como root por­que isso pode dar “per­mis­sões demais” aos seus paco­tes e não que­re­mos isso, certo?

Den­tro de ~/rpmbuild há 5 pas­tas: SRPMS, RPMS, SPECS, BUILD, SOURCES;

  • A pasta SOURCES é onde você deve jogar o código fonte do pro­grama que vai empa­co­tar. Não se pre­o­cupe em descompactá-lo;
  • Na pasta SPECS você vai criar um script que é pró­prio para fazer RPMs cha­mado “arquivo de espe­ci­fi­ca­ção”. Nele escre­ve­re­mos todos os dados do RPM como nome, ver­são, des­cri­ção etc. Geral­mente ele recebe o nome do pro­grama a ser empa­co­tado com a exten­são .spec, por­tanto, como vamos empa­co­tar o FMIT, ele deve se cha­mar fmit.spec;
  • Na pasta BUILD ocorre o pro­cesso de com­pi­la­ção. Aqui é onde é feito o tra­ba­lho sujo pelo com­pi­la­dor. O seu código fonte é auto­ma­ti­ca­mente des­com­pac­tado aqui, che­cado, com­pi­lado e empa­co­tado. Pense nessa pasta como a “linha de pro­du­ção” dos seus pacotes.
  • Em RPMS são joga­dos os paco­tes pron­tos. Basta vir aqui e ins­ta­lar as crianças. =)
  • SRPMS tam­bém con­tém RPMs, mas não do tipo que vem com um exe­cu­tá­vel. O SRPM é ape­nas o código fonte do seu RPM. Com um SRPM, qual­quer um é capaz de repro­du­zir o seu RPM sem nenhum esforço. Den­tro dele temos o código fonte do soft­ware, o seu arquivo .spec ou qual­quer outra coisa que você tenha colo­cado em seu pacote.

Ter­ceiro passo: Cri­ando o seu arquivo .spec

A parte mais chata é essa. Um arquivo .spec tem par­tes muito bem defi­ni­das que pre­ci­sam ser leva­das à risca para gerar um bom pacote, mas não se assuste, hoje em dia há muita coisa já pronta ou auto­ma­ti­zada para nos aju­dar. Por exem­plo, você pode usar o VI/VIM para gerar um arquivo .spec gené­rico e “oco” para você:

Entre na pasta dos arqui­vos .spec

$ cd ~/rpmbuild/SPECS

Mande o VI/VIM criar o arquivo .spec vazio:

$ vim fmit.spec

Repa­rou que “auto­ma­gi­ca­mente” o nosso arquivo de espe­ci­fi­ca­ção já veio com os cam­pos a pre­en­cher? Alguns cam­pos são óbvios (outros nem tanto). Senão, vejamos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Name:		# O nome do programa
Version:       # A versão do programa
Release:        1%{?dist}	# A release do pacote. Aqui vem aquela parte -1.fc11, -2.fc11...
Summary:       # Curta descrição do software
 
Group:		# A qual grupo pertence o software? Por exemplo: Applications/Multimedia
License:	# Qual a licensa vigente sobre o software? Por exemplo, GPL, MIT...
URL:		# Site do desenvolvimento upstream
Source0:	# O link do código fonte.
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)  # Troque esta parte por %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: 	# Todos os pacotes necessários para a compilação.
Requires: 		# Todos os pacotes que são “dependências” para o seu software rodar bem.
 
%description 	# Uma descrição mais completa do seu software
 
%prep 		# Nesta seção o seu código fonte é “tratado”. Descompacta-se, aplica-se patches...
%setup -q
 
%build 		# Aqui vem, automática a parte do ./configure e do make
%configure
make %{?_smp_mflags}
 
%install 	# Instalação do software
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
 
%clean 		# Limpeza do seu “espaço de trabalho” para garantir que esteja limpo se precisar usar de novo.
rm -rf $RPM_BUILD_ROOT
 
%files 	# Diga nesta seção quais os arquivos presentes no seu RPM, assim, ao desinstalá-lo, não sobrará nenhum “lixo”.
%defattr(-,root,root,-)
%doc
 
%changelog		# Para manter um histórico do seu trabalho

Quarto passo: pre­en­cendo seu arquivo .spec

Vamos pre­en­cher o nosso spec passo a passo. A pri­meira seção é bem sim­ples, são ape­nas infor­ma­ções gerais:

1
2
3
4
5
6
7
8
9
10
Name:		fmit
Version:	0.97.7
Release:	1%{?dist}
Summary:	Free Music Instrument Tuner for Linux
 
Group:		Applications/Multimedia
License:	GPLv2
URL:		http://home.gna.org/fmit/index.html
Source0:	http://download.gna.org/fmit/fmit-0.97.7.tar.gz
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Na segunda seção, colo­ca­mos as depen­dên­cias para com­pi­lar e para funcionar:

BuildRequires:	alsa-lib-devel >= 0.9
BuildRequires:	freeglut-devel
BuildRequires:	fftw3-devel
BuildRequires:	jack-audio-connection-kit-devel >= 0.103
BuildRequires:	portaudio-devel
BuildRequires:	qt3-devel
Requires:	alsa-lib >= 0.9
Requires:	fftw3
Requires:	freeglut
Requires:	jack-audio-connection-kit >= 0.103

Na ter­ceira seção, uma expli­ca­ção mais deta­lhada sobre o software:

1
2
%description
Free Music Instrument Tuner for Linux, bla, bla bla...

Agora, na quarta seção, um deta­lhe impor­tante: o FMIT é um soft­ware muito sim­ples que pode ser com­pi­lado com ./configure, make e make ins­tall sem pre­ci­sar de mais nenhum parâ­me­tro adi­ci­o­nal, por isso, não pre­cisa mexer em nada nes­sas par­tes aqui:

1
2
3
4
5
6
7
8
9
10
11
12
13
%prep
%setup -q
 
%build
%configure
make %{?_smp_mflags}
 
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
 
%clean
rm -rf $RPM_BUILD_ROOT

É claro que se nosso com­pi­la­dor pre­ci­sasse de alguma ins­tru­ção extra have­ria mais coi­sas a fazer na quarta seção, mas isso não vem ao caso agora; quem sabe num pró­ximo artigo?

A quinta seção vai cata­lo­gar tudo que há no seu RPM para instalação/desinstalação:

1
2
%files
%defattr(-,root,root,-)
1
%doc AUTHORS COPYING ChangeLog TODO

Liste tudo que pode ser con­si­de­rado docu­men­ta­ção no seu pacote
Você se lem­bra dessa parte? “%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} –n)” Isso gerou, do lado da pasta BUILD uma nova pasta cha­mada BUILDROOT. Essa novas pasta é uma pasta “fake” onde o soft­ware vai se ins­ta­lar pen­sando que está sendo ins­ta­lado no sis­tema. Ela tem capa­ci­dade de imi­tar todas as pas­tas da pasta / de modo a garan­tir que o soft­ware con­siga encon­trar os luga­res devi­dos à sua “aco­mo­da­ção”. Você deve olhar nessa pasta para des­co­brir quais arqui­vos pre­ci­sam ser “declarados”

1
2
3
4
%{_bindir}/fmit 	# %{_bindir} significa /usr/bin
%{_datadir}/fmit	# %{_datadir} significa /usr/share
%{_datadir}/applications/fmit.desktop
%{_libdir}/*.a	# %{_libdir} significa /usr/lib

Na sexta seção, man­te­nha um his­tó­rico do seu trabalho:

1
2
3
%changelog
* Sun May 10 2009 Henrique "LonelySpooky" Junior  - 0.97.7-1
- Initial package

Quinto passo: gerando o RPM

A etapa mais fácil. Mande o rpm­build gerar seu rpm:

$ rpmbuild -ba ~/rpmbuil/SPECS/fmit.spec

Se tudo cor­rer bem você vai ver as men­sa­gens de com­pi­la­ção e, ao fim, as seguin­tes linhas:

Gravou: /home/lonely/rpmbuild/SRPMS/fmit-0.97.7-1.fc11.src.rpm
Gravou: /home/lonely/rpmbuild/RPMS/i586/fmit-0.97.7-1.fc11.i586.rpm
Gravou: /home/lonely/rpmbuild/RPMS/i586/fmit-debuginfo-0.97.7-1.fc11.i586.rpm

Como pro­me­tido, na pasta RPMS estará seu rpm do fmit e um paco­ti­nho com infor­ma­ções de debug que você não precisa.

Este é um exem­plo tão gené­rico quanto pos­sí­vel e ten­tei apre­sen­tar de forma sim­ples como pro­ce­der, mas, con­vém avi­sar, gerar RPMs varia muito depen­dendo da lin­gua­gem de pro­gra­ma­ção e mesmo um pacote sim­ples como esse pode ser feito de forma mais “ele­gante”. Em todo caso, espero que tenha matado a curi­o­si­dade de alguns ou dado um “empur­rão­zi­nho” em quem deseja come­çar no empacotamento.

Lei­tu­ras recomendadas

  • Share/Bookmark