Conf2010_250px2_register

Sob o titulo "colaboração através das fronteiras" a conferência openSUSE 2010 ira começar em pouco menos de um mês. Este artigo destaca um dos principais temas desta conferência - uma tecnologia que realmente rompe barreiras chamada Build Service. Esta tecnologia, de forma rápida e fácil, ajuda os desenvolvedores a distribuírem seus programas para muitas distribuições Linux diferentes, e a conferência openSUSE oferece a oportunidade perfeita para que você obtenha algumas informações "de dentro da casa" e troque ideias sobre o processo de empacotamento fast-tracking. Leia e aprenda o que o Build Service pode fazer por você!

 

Desafios na distribuição de software - e a solução p { margin-bottom: 0.21cm; }a:link { }

Um dos desafios para desenvolvedores de software Linux é a necessidade de compilar programas para rodar em várias plataformas Linux. Normalmente, isso significa que você precisa ter cada uma das distribuições (em várias versões!) que você suportar e então criar os pacotes binários para cada uma das plataformas - um processo trabalhoso. Embora existam alguns padrões como o Linux Standards Base, que deve atenuar esta situação, normalmente você ainda topar com nomes não padronizados para as dependências e muitas outras questões. Agora temos uma solução: o Build Service.

O Build Service é executado em um servidor e cria pacotes a partir de um sistema operacional virtualizado limpo, isto para cada um dos pacotes que precisam serem construídos. O Build Service irá instalar automaticamente as dependências necessárias (especificado na compilação de arquivos) na imagem virtual e criar o pacote. No caso de ocorrer algum erro, ele irá informar de volta para o empacotador. O openSUSE Build Service rodando no build.opensuse.org atualmente suporta Ubuntu, Red Hat, Mandriva, CentOS, Debian, SLE e Fedora alem do openSUSE. E tudo pode ser controlado através de uma interface web - que suporta até mesmo o Internet Explorer. O openSUSE Build Service é patrocinado pela Novell , AMD , Exchange IP e B1 Systems e cria cerca de 100.000 pacotes de 25 mil usuários que trabalham em 15 mil projetos diferentes - uma carga de trabalho que mantem um parque de mainframe todo ocupado!


Suporte à distribuição e Plataforma

As distribuições Linux suportadas atualmente podem ser encontradas aqui e incluem os últimos três lançamentos do openSUSE Factory, os três últimos lançamentos do SLES, os últimos três versões do Fedora, as duas últimas versões Red Hat e a versão mais recente do CentOS; Debian Stable, Testing e Unstable, os três últimos lançamentos da Mandriva e as três últimas versões do Ubuntu.

A gama de arquiteturas e plataformas suportadas pelo Build Service é impressionante, olhando tanto para trás como processadores de 32 bits PowerPC, enquanto o desenvolvimento vem continuamente avançando sobre suporte ARM. Ubuntu ARM, Debian ARM, conhecidos como PowerPC e releases do openSUSE PowerPC são suportados. Para x86, pacotes de 32 e 64 bits são suportados para todas as distribuições. Tecnicamente, mesmo o Windows quanto o MacOS X são suportados e os desenvolvedores gostariam de dar as boas vindas  a qualquer um que possuir interesse em adicionar suporte para estes sistemas operacionais.

O openSUSE Build Service pretende ser "agnóstico a distro" - e pode ser acessado através de outras distribuições usando uma amigável interface Web, ou através de um cliente de subversion baseada em Python como o cliente de linha de comando chamado OSC. No entanto, este processo continua em desenvolvimento, com algumas questões a serem resolvidas em torno de conflitos entre pacotes padrões de distribuições distintas e os pacotes do OSC, sendo assim, nesta fase é recomendado mais para usuários mais experientes. Para openSUSE, o suporte do OSC é obviamente excelente e muito fácil de usar através de sua interface Web , é possível construir pacotes Linux de todas estas distribuições e plataformas sentado atrás de uma estação de trabalho Windows ou MacOS X!

 

Desenvolvimento e implantação

Se você só precisa de um pacote que esteja disponível para o maior numero de usuários possível, o Build Service é para você. Petr Uzel apresentara uma sessão sobre "Empacotamento Efetivo" durante a conferência para aqueles que querem aprender a serem mais efetivos e claro, o portal wiki Build Service Portal do openSUSE oferece-lhe todas as informações que você precisar para começar seu empacotamento.

Mesmo com boa documentação e algumas sessões excelentes , criar um novo pacote manualmente pode ser uma tarefa complexa para um novo ou inexperiente empacotador. Pacotes multi-distribuição são complicados mesmo para empacotadores experientes. Felizmente, muitas das tarefas necessárias podem ser automatizadas. O desenvolvedor openSUSE Lubos Lunak criou uma ferramenta que torna possível automatizar a criação de pacotes para várias distribuições. Requerimentos de construcao podem ser encontrados a partir de fontes tarballs, tal como os arquivos instalados, criando assim um novo pacote que pode ser tratado por esta ferramenta reduzindo a complexidade de trabalhar com fontes tarballs. Na conferência, Lubos irá demonstrar a sua ferramenta e pedir opiniões e comentários par ajudar a melhorá-lo.

Uma sessão sobre a Build Service na conferência é "Manutenção facilitada com OBS", apresentada por Adrian Schröter. Ele falara sobre a funcionalidade que existe no OBS para preparar, Perguntas e respostas e manutenção de atualizações de versão para distribuições openSUSE ou qualquer outro projeto. O OBS é uma ferramenta colaborativa que permite a criação de projetos e grupos junto aos seus respectivos mantenedores. Desta forma, um desenvolvedor pode preparar as mudanças em uma ramificação do projeto e em seguida pedir para que as alterações sejam mescladas de volta. O OBS também faz resolução automática de dependências para outros pacotes. Se um pacote depende de outro pacote, este pacote será adicionado automaticamente para reconstrução das alterações do pacote. Adrian também irá discutir as próximas mudanças que podem ser encontradas no roadmap do OBS .

Bem como suportar os testes e a construção inicial, o Build Service facilita a criação de imagens de disco com o seu sistema integrado de criação de imagens KIWI . Sendo esta uma ferramenta especialmente útil para administradores de implantação sendo que temos uma variedade cada vez maior de configurações de hardware e máquinas virtuais.

Os repositórios do Build Service podem ser facilmente adicionados ao seu projeto no SUSE Studio, que lhe permite construir sistemas operacionais personalizados como imagens de CD/DVD, USB Live (Pendrives) ou maquinas virtuais - e novamente totalmente através de  um navegador web. Will Stephenson vai falar sobre isso em sua palestra "Espalhar aplicativos através de Live CDs utilizando o OBS e SUSE Studio" durante a conferência, explicando então como fazer isso. Como um desenvolvedor de aplicativos, essa combinação pode ser muito poderosa: você cria um pacote no Build Service (nova versão = apenas upload de novo tarball rápidos ajustes a partir do arquivo de especificação usando uma interface web) - e em questão de minutos, você tem um novo (conjunto de) imagem (s) do SUSE Studio. Estes então poderão rodar em uma variedade de máquinas virtuais, tornando-se ultra-fácil para que seus clientes implementem!. Combine o SUSE Studio com o OBS, e você pode apontar e clicar seu caminho também através de implantação de uma aplicação em uma imagem virtual diretamente a nuvem de serviços como os da Amazon - fazer appliances virtualizados hoje ficou mais fácil do que receita de bolo. Berthold Gunreben discutirá em sua palestra a virtualização do openSUSE "Alice no País das Maravilhas", incluindo uma discussão sobre como gerenciar de forma eficiente os clientes virtuais e a solução de armazenamento DRDB.

 

Upstream Application

O SUSE Studio não é o único lugar onde os pacotes do Build Service estão integrados. A família de websites OpenDesktop.org, incluindo o gtk-apps.org e, ofere ça a integração Build Service. Por exemplo, veja Lucky Backup, que tira proveito disto - oferecendo assim pacotes para cada as principais distribuições, em vez de um tarball obscuro ou suportado apenas para algumas plataformas. Apoiando o tema da conferência openSUSE "colaboração além das fronteiras", as APIs desenvolvidas no OpenDesktop.org são utilizados pela equipe Meego em sua tecnologia própria appstore!. Além disso, como Software's Knut Qt Irvin discutirá na conferência, como a Nokia combinou sua tecnologia Ovi Store para junto ao OBS, para no futuro os usuários do Meego poderem usar a Ovi Store para obter os seus softwares - aplicações gratuitas e pagas.

Entretanto, cada projeto no build.opensuse.org pode ser facilmente obtido pelos usuários através da tecnologia One-Click-Install do openSUSE. Basta visitar software.opensuse.org , pesquisa e clique no botão One-Click-install link para instalar um pacote completo para a construção de sistema específico SUA!

 

O Build Service em uso

O Build Service é uma solução de servidor completamente de código aberto, os usuários podem baixar o código fonte e criar um projeto de Build Service hospedado localmente e adaptado a suas próprias necessidades - especialmente útil se estes estão desenvolvendo para plataformas não suportadas. Vários projetos de software têm utilizado esta solução, incluindo a Fundação Linux no desenvolvimento do Meego, o projeto de fonte aberta e colaborativo com o objetivo de desenvolver uma nova interface gráfica para netbooks e dispositivos móveis.

Hospedado localmente o Build Service oferece uma solução flexível e escalável para grandes instituições. A "University of British Columbia", por exemplo, utiliza seu Build Service local para personalizar os pacotes para as necessidade exclusiva de pesquisadores e professores. Este serviço lhes permitem lançar de forma eficiente desktops e servidores pré-configurados pelo campus. A Universidade de Erlangen-Nürnberg foi aproveitando os benefícios do OBS desde 2007 para apoiar a muitas arquiteturas e plataformas em uso pelo campus. A Universidade de Hannover utiliza do OBS para a sua plataforma LiRE, tirando proveito do Cross Development para criar pacotes para uma variedade de arquiteturas.

Os administradores de projetos linux utilizam uma configuração local do openSUSE Build Service para criar pacotes para vários projetos como VHCS e stresslinux e GmbH Stylite usa uma configuração local do openSUSE Build Service para testes de construção de pacotes para o eGroupware e sua oferta comercial. Eles, no entanto utilizam os servidores públicos do build.opensuse.org para distribuir os seus pacotes.

Lizzard no trabalho! O projeto Meego, um esforço colaborativo entre Nokia, Intel e um rápido crescimento da comunidade de voluntários sob o guarda-chuva da Fundação Linux, também emprega uma instalação local do OBS para construir o seu produto. O Meego é uma combinação do inovador projeto Moblin da Intel com o sistema operacional Maemo dos smartphone high-end da Nokia. O objetivo do projeto é criar um sistema operacional projetado para plataformas como netbooks desktops básicos, computação portável e dispositivos de comunicações, nos dispositivos de veículos  infotainment, conectando TVs e telefones. Em outras palavras, dispositivos pequenos com poder computacional limitado e monitor de apresentação. O núcleo de infra-estrutura de construção do Meego é formada pelo openSUSE Build Service. A Fundação Linux tem dedicado vários engenheiros a trabalharem para melhorar o Build Service em conjunto com os desenvolvedores do openSUSE.

Outras comunidades e empresas que utilizam o serviço de compilação inclui a equipe do VLC, OpenXchange , Dell , Cray e muitos outros.

 

Conclusão

O openSUSE Build Service com ferramentas integradas, eficazes e funcionais é um canivete suíço para empacotamento. Como muitas outras ferramentas pode parecer um pouco complexo, mas é surpreendente simples quando você sabe como usá-lo. O WebService tem uma interface razoavelmente intuitiva, e a detalhada documentação online pode ser encontrada a partir deste link. Se você está pensando em utilizar o Build Service no desenvolvimento de seu projeto, a trilha do openSUSE OBS na conferência é a oportunidade perfeita para uma visita guiada. Você terá acesso aos gurus do OBS, podendo tirar proveito da sabedoria deles e encontrar as respostas que você procura!. Descubra como a OBS pode agilizar o seu projeto de desenvolvimento por meio de empacotamentos, manutenção e distribuição. Não só vai melhorar o seu fluxo de trabalho e reduzir o estresse, mas quando um usuário perguntar: "Será que este software vai funcionar na minha distribuição Linux?", Você poderá finalmente dizer: "Sim!"

Author: Helen South Autor: Helen Sul

Article Published: Jos Poortvliet

Traducao Livre: CarlosRibeiro

Original Version: Easily building software for multipe distributions and platforms


 

Abraços a todos,Euhackergotchi

CarlosRibeiro