Pois é, hoje, quem diria, o homem mais poderoso do mundo está completando 70 anos! (lembre-se de que um ano de Chuck Norris equivale a 7 anos em idade de gente)
Como diz o artigo do Yahoo “ele acaba de fazer 70, mas ainda pode te quebrar”.
Lots of Bits
Pois é, hoje, quem diria, o homem mais poderoso do mundo está completando 70 anos! (lembre-se de que um ano de Chuck Norris equivale a 7 anos em idade de gente)
Como diz o artigo do Yahoo “ele acaba de fazer 70, mas ainda pode te quebrar”.
Desde que inventaram os gerenciadores de pacotes e aplicativos como YUM e apt-get, instalar softwares no Linux ficou até mais simples do que instalar um software no Windows, basta uma linha de comando tão simples quanto “yum install pacote” e a mágica acontece.
Como primeiro post desse ano, escolhi mostrar como são os bastidores de envio de pacotes para o YUM, ou seja: como um software chega da fonte original até o seu Fedora.
A primeira coisa a fazer é esclarecer que o Projeto Fedora tem dezenas de empacotadores e que esses empacotadores fazem parte de um grupo chamado “packagers”, que tem permissões especiais de acesso. Cada empacotador é responsável por gerar o RPM para um ou mais softwares que ele “adota”; ou seja: o empacotador encontra um software interessante em qualquer lugar (Sourceforge, Launchpad etc) e decide criar um RPM oficial para o Fedora.
A submissão de um pacote é bastante rigorosa e pode levar meses para que um pacote seja aprovado. É preciso seguir à risca toda a metodologia de empacotamento e que o software a ser empacotado seja considerado “livre” o bastante para entrar no Fedora (diversos revisores avaliam o RPM, analisando o código e a licença). Os detalhes desse processo são irrelevantes para este artigo; o que nos interessa aqui é que, para enviar o pacote aos repositórios, é preciso ser um empacotador.
Diversas ferramentas foram preparadas de modo a facilitar a vida de quem empacota para o Projeto Fedora e basta executar
para instalar uma coleção de scripts e ferramentas essenciais para a criação de RPMs e para o envio dos pacotes prontos para os servidores do Projeto (compiladores, cvs, rpmbuild…).
Após instalar o “fedora-packager”, é preciso executar
na pasta home do usuário. Este comando prepara o ambiente de desenvolvimento, ajustando as macros para o rpmbuild, gerando e conferindo chaves que serão usadas durante a comunicação com os servidores CVS.
Por motivos de organização, a maioria dos empacotadores cria uma pasta de trabalho durante a remessa de pacotes; eu crio a pasta “cvs”, mas o nome tanto faz:
Como comentei no começo, ter o pacote aprovado é um processo trabalhoso e, logo que aprovado, ele (o pacote) ganha uma pasta (e permissões) no CVS. O empacotador deve, antes de mais nada, sincronizar sua pasta local com a pasta virtual nos servidores do Projeto Fedora:
No meu exemplo, vou mostrar o pacote BKChem, um software para desenho de estruturas moleculares em 2D:
Esse script vai baixar meu “diretório de trabalho” direto do CVS para o meu disco rígido. Eis o conteúdo dele:
Observe que há diretórios para algumas versões do Fedora (F-12, F-11, F-10…) e para a versão de desenvolvimento, que chamamos de Rawhide.
Novamente, convém lembrar que o meu RPM já está pronto e eu apenas vou remetê-lo para os servidores do Projeto Fedora de modo a deixá-lo disponível para todos os usuários.
O meu RPM, de fato, não será usado para nada. Cada um dos RPMs disponibilizados pelo projeto Fedora é compilado e assinado lá, por isso, em vez de enviar o RPM, eu envio o SRPM (Source RPM), um para cada versão ativa do Fedora (atualmente, as versões ativas são Fedora 11, 12 e Rawhide).
Novamente, a vida fica menos complicada porque um script checa e envia o SRPM:
Veja o termo em negrito, ele define para qual “branch” (versão do Fedora) esse SRPM irá. No caso, mandei três vezes: F-11, F-12 e devel.
Veja aqui o upload sendo feito e as mensagens exibidas durante a verificação.
Quando esse processo termina, você é levado a uma tela do VI onde entra um pequeno log sobre o upload. Veja aqui.
Ao salvar o log, o processo de “commit” do SRPM termina com mais algumas checagens (que você pode ver aqui).
Pacote SRPM enviado, log feito, chega a hora de compilar o pacote lá no servidor. Vou começar a compilação para o Fedora 11 e, por isso, entro na pasta F-11:
Sincronizo novamente a pasta, para garantir que eu e os servidores estamos trabalhando com as mesmas versões de arquivos:
e, digito o comando que faz a compilação do meu RPM lá nos servidores do Projeto Fedora:
Essa compilação gera pacotes para todas as arquiteturas disponíveis pelo Projeto (veja). Aliás, o software que compila, checa e assina cada RPM chama-se Koji. Todo o processo de compilação tem que ser feito para cada uma das versões correntes do Fedora, lembre-se. Isso significa que, depois de fazer isso para o Fedora 11, fiz, também para o Fedora 12 e para o devel.
Enfim, depois de passar pelo Koji, o empacotador vai ao Bodhi, que é a interface responsável por puxar os RPMs prontos para os repositórios. Nele você define se o pacote vai para “testing” ou “stable”, define se o pacote é uma atualização de segurança, um conserto de bug ou uma melhoria, além, é claro, de marcar o pacote como necessitando ou não de um reboot após a atualização.
Pronto! Em breve o pacote estará alcançando um repositório perto de você e com um simples “yum install” você poderá desfrutar de um pacote novinho.
Já se vão quase três anos desde que o Fedora mudou de nome, deixando de lado o “Core”, para se chamar simplesmente Fedora. Pouca gente, afinal de contas, se dava ao trabalho de chamar a distro de “Fedora Core” e esse “Core”, aliás, existia porque, na época, as colaborações da comunidade e as da Red Hat eram tratadas separadamente. Tudo que os engenheiros da Red Hat produziam ficava num repositório principal, chamado Core, e tudo que os voluntários da comunidade produziam ficava num outro repositório chamado “Extras”.
Entre o FC6 e o F7, diante do crescimento de contribuições da comunidade, o Fedora Board decidiu mesclar ambos os repositórios, acabando com a diferenciação entre contribuições da Red Hat e dos voluntários.
Embora já estejamos no Fedora 12 (com o 13 a todo vapor), heranças desse tempo de “Core” permanecem e passam quase despercebidas pela maioria dos usuários, só que, se você prestar atenção, todos os RPMs instalados em seu sistema (assim como todos os que estão no CD/DVD de instalação) ainda têm o sufixo “fc”; por exemplo: rpm-4.7.1–6.fc12.i686. Esse sufixo, que chamamos “tag”, ainda mantém o C, de Core.
Para mim, o motivo de permanecermos com a tag FC era um mistério que perdurou muito tempo até que decidi perguntar na lista de desenvolvimento e recebi uma resposta muito interessante.
A resposta veio de Rahul Sundaran, na minha opinião, um dos membros mais ativos do Projeto Fedora desde (quase) o início do projeto e ele explica que, durante a decisão de mudar o nome para Fedora, deixando o Core de lado, houve muitas discussões sobre qual seria a melhor maneira de alterar a tag, mas, logo mostrou-se um problema muito maior do que a aparente simplicidade de fazer sumir uma letra C. Isso quebraria o modo como o RPM verifica a atualidade dos pacotes, levando a erros quando um pacote “fc” fosse comparado com um pacote “f”. Veja o exemplo de verificação:
$ rpmdev-vercmp foo-1.0.f11 foo-1.0.fc10
0:foo-1.0.fc10 is newer
E observe que o RPM jura que o pacote com tag fc10 é mais novo que o pacote com a tag f11.
Para mudar a tag seria necessário hackear o RPM, de modo a reverter esse engano ou, uma reconstrução em massa de todos os RPMs de Fedoras ativos (atualmente, isso significaria refazer todos os RPMs para o F12, F11 e F10).
Em face de todo o trabalho necessário, optou-se pela opção mais simples: imitando o GCC, que chama seus pacotes de “GNU Compiles Collection”, os pacotes para Fedora são parte do “Fedora package Collection”, o que justifica o FC em cada pacote até os dias de hoje.
O título já é bastante explicativo. =P
Não sou fã de Orkut, ele já me encheu faz anos, mas recentemente recebi de um amigo o convite para a nova interface. Testei, achei tosco e botei o meu pobre e abandonado Orkut na mesma latência de sempre; no entanto,tenho quatro convites disponíveis para distribuir.
Fiquei pasmo quando me falaram que tem gente vendendo esses convites no Mercado Livre. Aqui é de graça. Os quatro primeiros levam.
Começa aqui uma série chamada “softwares esdrúxulos”. Esta é uma ode a todos aqueles programadores que, como qualquer ser humano, desperdiçaram algum tempo livre para nos fornecer um software completamente inútil e sem nenhum objetivo prático. Divirtam-se!
Não haveria maneira melhor de começar esta série se não fosse pelo clássico CowSay. CowSay é um software escrito em perl que exibe uma vaquinha (em ASCII) no terminal. A “graça” é que a vaquinha repete aquilo que lhe for escrito.
Por exemplo:
Não, caro leitor, o software não faz mais nada e você ainda tem a vantagem de enviar “pipes” para a simpática vaquinha:

Ou, usando argumentos, fazer com que o carismático bovino tenha outras expressões:

Enfim, as vacas são um personagem cult no mundo hacker e se você faz o tipo divertido, com muito tempo para perder e alguma tendência a piadas de estilo duvidoso, CowSay é seu software esdrúxulo ideal. São 25 Kb instaláveis via YUM e que irão lhe proporcionar dias… horas… minutos de “diversão”.
$ su -c 'yum install cowsay'
P.S.:
Esse artigo é em homenagem ao meu amigo Igor Soares, rei das traduções e fã do cowsay.
Dia desses me peguei pensando sobre como as coisas mudam rápido. Até pouco tempo, não faz dez anos sequer, a vida na internet era vista
como coisa de maluco e de nerds sem namorada, isolados da sociedade, mas agora a internet virou a maior pracinha do mundo (moro em cidade pequena, aqui ainda temos pracinhas). Meus professores passam e-mails, meu pai tem Orkut, e mesmo aqueles dotados de menor QI usam o computador como parte de sua vida social. Antigamente um computador inspirava medo e respeito naqueles que tinham o privilégio de ver uma máquina dessas de perto, hoje em dia a sua irmãzinha te manda rapar fora do PC porque ela está cheia de recados não respondidos no Orkut.
Não, caro leitor, isso que você está lendo não são as reflexões de um homem velho fazendo o balanço do fim da vida (tenho 30 anos). As mudanças todas aconteceram muito rápido: em menos de 20 anos saltamos de primatas assistidores de TV e leitores de jornal impresso para internautas com celulares que enviam fotos, tocam música e possibilitam que você seja encontrado onde quer que esteja a qualquer hora do dia (nem tudo é perfeito). Agora, nessa fase em que os computadores já foram incorporados ao nosso meio de vida resta-me perguntar: você sabe participar desse novo mundo sem ser um egoísta, mal educado ou um chato? Pois aproveitei essa pequena folga para escrever uma lista de 7 coisas que considero importantes na relação digital de hoje em dia.
1 — Passe adiante
O torrent nos possibilitou uma maneira muito inteligente de compartilhar arquivos: quanto mais pessoas fazendo downloads, mais rápido o download fica, mas é uma prática comum que as pessoas desliguem o torrent logo depois de conseguirem o que querem. A melhor prática nesse caso é ficar de olho na sua “proporção de compartilhamento”. Seja legal e passe o arquivo adiante, espere para desligar o torrent só depois de ter passado para outras pessoas um valor igual ou maior que 100% daquele que você baixou.
2 — Não ignore o adsense (não é nenhuma indireta)
Se você gosta daquele site e está sempre lá, porque não clicar no adsense? Não se esqueça de que algum bom samaritano fez o site que você tanto gosta sem pedir nada (ou quase nada) em troca. Clicar num adsense demora apenas 2 segundos e vai contribuir com apenas 0,00001% para aquela sua tendinite. O dono do site vai ficar contente de receber aquele troquinho do Google, você vai ficar contente porque um blogueiro com grana é um blogueiro que escreve mais e o Google vai ficar mais feliz enquanto dá uma risada diabólica e esfrega as mãos…
3 — Escreva em português
Se vai botar as mãos no teclado faça um favor a si mesmo: escreva direito. Se não é bom em português, escreva antes no seu editor de texto e passe o corretor ortográfico. Quem manda um texto cheio de erros grosseiros fica com imagem de **burro**, ignorante e essas duas qualidades, consequentemente, são logo associadas à incompetência.
Ninguém vai querer que você seja um Machado de Assis na hora de escrever seu texto, mas pessoalmente, quando vejo um texto assim, escrito com uma gramática de doer os olhos, sem espaços entre a pontuação ou naquele miguxês maldito procuro logo deletar e ir tomar um café. Se quiser ser levado a sério escreva direito.
4 — Seja educado
Ainda existem algumas pessoas que têm dificuldade de entender que a internet tornou-se um meio de convívio social como outro qualquer e que a palavra escrita também tem o poder de ofender e magoar. A dica é: aja como agiria se a pessoa estivesse perto de você. Se vai sair, avise; se não quer ser incomodado mude o status do MSN; se vai responder alguém num fórum não faça baixaria. Aqui eu sou adepto do BAN. Encheu o saco, rodou.
5 — Agradeça
OK, você ganhou algo. Como é que se diz?
Pode parecer besteira, mas um “obrigado” faz a diferença entre você ter vontade de continuar um trabalho ou querer terminá-lo mandando todos para aquele lugar. Veja, por exemplo, o pessoal que faz legendas de séries na internet. Sejam lá quem forem, eles fazem a legenda, sincronizam, revisam e encodam tudo em menos de 24 horas. Depois, alguém se encarrega de fazer o upload de 140 ~ 200 MB e então dispara por aí o aviso de que a série XY está disponível.
Pra ter ideia, a série House M.D está com delay de apenas um dia em relação aos EUA.
Você já agradeceu alguma vez enquanto baixava a sua série favorita?
6 — NADA DE ESCREVER EM CAIXA ALTA
Escrever em caixa alta é quando VOCÊ ESCREVE EM MAIÚSCULAS e, francamente, isso causa uma tremenda má impressão. No trabalho já recusei pedidos enviados ao meu e-mail por causa da caixa alta. A maior parte das vezes, o tipo de gente que escreve em caixa alta é de gente sem noção, que gosta de aparecer mas que acaba sofrendo o efeito inverso, justamente por ser “sem noção”. Você fica pensando “que tipo de profissional manda um e-mail desses?”.
7 — Voluntariado também é compromisso
O povo ouve muito falar em software livre, em participar, em contribuir, mas quando a porca torce o rabo a maioria das pessoas pula fora. Isso acontece em todos os setores e vertentes “free” do mundo open source. Ocorre nas equipes de tradução, ocorre entre os embaixadores do Fedora, ocorre na Revista Fedora Brasil e, com certeza, também nos outros lugares que aceitem contribuidores. As pessoas confundem voluntariado com descompromisso, mas é justamente o contrário. Se você se comprometeu a ajudar um projeto “open” as pessoas estarão contando com você e no caso de um “desaparecimento” ou de começar a inventar desculpas sem fim para realizar a sua tarefa a imagem que fica ante o grupo é de que você é uma fraude. Se acontecer um imprevisto e não puder arcar com sua participação nos projetos, deixe um aviso. Isso vai permitir que o projeto se reestruture, preserva a sua imagem e lhe deixará as portas sempre abertas no futuro.
A despeito da fama que o Fedora tem de ser Linux para geeks que gostam de ter trabalho ao usar Linux, o projeto Fedora vem fazendo esforços sinceros para tornar a distro mais simpática, bonitinha e convidativa.
Faz muitos anos que nossas equipes de marketing e arte discutem sobre a necessidade de um mascote para o Fedora, algo menos frio, que possa servir de mediador entre um novo usuário e as novidades que a distro pode trazer, mas isso tudo acabou ficando sempre na especulação — talvez pela quantidade de ideias bestas.
Um fenômeno que atiça nossa curiosidade é que a maioria de nossos usuários não dão muita importância aos codinomes das nossas releases… Leônidas, Cambridge, Sulphur, Werewolf… quem (além de nós) se importa? Mas, ao contrário, os codinomes das releases do Ubuntu são famosos e até eu, que não sou nem nunca fui usuário Ubuntu, sei pelo menos 3 codinomes e gosto deles.
Pois bem, esses dias a discussão sobre ter um mascote ressurgiu e foi Max Spevack quem sugeriu que nosso mascote deveria ser energético, inteligente, rápido e carismático como um ferret (furão). A ideia de um Fedora Ferret (Furão Fedora), automaticamente agradou e parece que, agora sim, um mascote é uma ideia mais real e palatável, diferente das bizarrices sugeridas até agora.
Em vez dos frios tutoriais com texto sem fim,quem sabe, num futuro próximo, teremos um simpático furão explicando numa história em quadrinhos como atualizar o sistema ou instalar os codecs de vídeo.
Gosto da ideia, gosto muito mesmo.

Ontem de madrugada, às 2:27 enviei um email informando que estou deixando o time de tradução do Fedora, do qual fiz parte durante muitos anos e onde aprendi muito.
A equipe é ótima, cordial e muito bem organizada. Recomendo a todos que queiram participar que o façam.
Segue abaixo a carta de despedida e deixo meu abraço ao time.
Vejo com grande orgulho o patamar alcançado pela equipe de tradução do Projeto Fedora. Atualmente, o time de tradução para pt_BR figura entre os melhores e mais dedicados dentro das estatísticas do projeto, sempre com índices de tradução acima de 95% e com padrões cada vez mais profissionais.
A equipe também cresceu e se esmerou. Hoje em dia, o time capitaneado pelo Igor conta com nomes bastante conhecidos entre os tradutores e também com “sangue novo” que vê na tradução uma forma de contribuir para o crescimento do Linux e do Fedora de alguma forma.
Com a equipe tão solidificada sinto-me seguro em assumir outros rumos dentro do projeto, pois sei que fica tudo em boas mãos e minha ausência não causará nenhuma grade perda.
Pretendo me dedicar mais ao empacotamento, no qual fui recentemente aceito e, quem sabe, trabalhando mais perto de onde tudo acontece, conseguir ser mais útil de alguma forma para o Fedora aqui no Brasil. Além disso, continuarei tocando a Revista e os novos rumos que pretendemos dar à publicação devem tomar um pouco mais de tempo. Fora isso tudo, espero viver, não o mundo aqui dos bits e bytes, mas o mundo de verdade, ser capaz de tirar férias e de viajar mais, de ler mais (fora da tela do computador) e fazer coisas que as pessoas deveriam fazer, como empinar pipas em noites de tempestade e pular de bungee jumping sem elástico.
Fica para adoção o meu módulo do Revisor, que está 100% traduzido.
Um grande abraço a todos, logo estarei mandando módulos novos para vocês.
Hoje em dia já não é mais preciso ser um expert para ter a sua própria disrtribuição Linux e qualquer um provido de capacidade para clicar “next, next, finish” pode ter o prazer de se gabar para os amigos dizendo que está ombro a ombro com Linus Torvalds ou Klaus Knoppix.
Nos bons tempos, a melhor forma de fazer um Linux era tomar coragem e acessar o Linux from Scratch (Linux a partir do Rascunho, em tradução livre). No LFS, os machos de verdade encontram instruções para criar uma distro a partir do código fonte, com explicações sobre como funciona a interação kernel/módulos/periféricos, sistemas de arquivos, boot e estruturas de diretórios.
Bons tempos…
Mas as ferramentas surgem e tornam tudo mais fácil. Com o Revisor, ferramenta desenvolvida pelo Projeto Fedora, você monta um Fedora ou um CentOS de acordo com as suas necessidades: escolhe idiomas, aplicativos, configurações de firewall e de rede e decide se quer montar isso em um DVD, em Live CDs ou em CDs de instalação.
Os detalhes de como montar seu Fedora (ou CentOS) deixo para o excelente artigo do Igor Soares (chefe de tradução do Fedora e criador da spin BrOffice), que vai sair na 4ª edição da Revista Fedora Brasil, a ser lançada na semana que vem, mas o fato é que há uma grande quantidade de Fedoras rodando por aí e que podem agradar a maioria dos gostos. E se nenhum desses Fedoras for aquilo que você procura, faça o seu!
O “porém” nessa história toda é que o Projeto Fedora teve que lidar com o dilema de uso de sua marca registrada: se todas essas distros são feitas a partir do Fedora, usando uma ferramenta do Fedora e instalando pacotes do Fedora, seria correto dizer que elas também são o Fedora?
Na visão do Projeto, a resposta é “não”. O Fedora fica sendo o que chamamos de “upstream”, ou seja, ele está num ponto anterior à customização. O uso que você faz do produto fica sendo por sua conta. Entretanto, para que os usuários tenham a possibilidade de manter, ainda, algum vínculo, mesmo que indireto com o Fedora, pensou-se no uso de uma marca alternativa e mais flexível que a marca e o logo oficiais.
Partindo do conceito de criação de uma marca que pudesse ser usada de modo “honorífico” ao projeto, criou-se o conceito de “Fedora Remix”, que é um software não mantido e nem patrocinado pela Red Hat mas que deriva do Fedora. Você pode dar o nome que quiser à sua nova distro e, quem sabe, adicionar o “Fedora Remix”, que acaba sendo uma publicidade positiva.

Convém lembrar que não estou nesse post incentivando você a fazer a sua própria distribuição para “dominar o mundo”. Faço parte do movimento “NÃO CRIE A SUA DISTRIBUIÇÃO LINUX” porque, francamente, tudo o que o mundo não precisa é de mais uma distro “inovadora”, “para usuários iniciantes” e que não faz nada de diferente em comparação a outras milhares de “distros inovadoras” de fundo de quintal.
Fazer um Linux é uma ferramenta muito poderosa se você precisa de um Linux que se enquadre à realidade de um cliente, ou da sua empresa ou do seu trabalho. Você pode pegar o Revisor e fazer, assim como eu faço, um Fedora super leve, com Fluxbox, Abiword, Gnumeric e Dillo pra deixar aqueles terminais P266 funcionando. Acredite, um dia você pode precisar.
Comentários