releases de projetos open source. como você faz o seu?

Minhas dores de cabeça com os releases desse nano-projetinho open source (CachedObjects), essa biblioteca de cache para um framework (CodeIgniter) de desenvolvimento web em php me colocaram pra pensar:

Como você administra os releases do seu projeto open source? Tudo manualmente? Chama o tar -cvzf na linha de comando? Automatizou isso? e controle de versão? Qual? (povo do nerds.valeta, essa é pra vcs responderem :p)

Para quem não me entendeu, controle de versão não automatiza em nada o processo de release, seja cvs, svn, bzr, git, o que você quiser.

No meu caso, fiz um makefile para simplificar as seguintes etapas:
a) extração do history svn e formatação no padrão changelog.
b) produção tanto do README quando do site usando txt2tags
c) empacotamento em .tar.gz e .zip
d) upload do site atualizado e dos pacotes.
Mas ainda falta + coisa pra que o release seja realmente one liner.

7 Comments

  1. Rudá added these pithy words on 23 de junho de 2008 | Permalink

    Bruder, eu começo um projeto gerenciando versões dos arquivos com copia (cp foo foo.1, .2, .3 etc). Se o projeto cresce, mantenho versões em arquivos tar. Em seguida eu escolho algum lugar para hospedar. Acabo indo pro SOurceForge ou na hospedagem de código do GOogle. Se uso o SF, então utilizo o CVS, se voi pro GOogle, SVN, simples assim.

  2. sergio added these pithy words on 24 de junho de 2008 | Permalink

    Acho que você não entendeu minha pergunta direito, então. Até mesmo usando Sourceforge, google, etc. O uso de controle de versão não automatiza o processo de release de versão.

    No meu caso, fiz um makefile para automatizar:

    a) extração do history svn e formatação no padrão changelog.
    b) produção tanto do README quando do site usando txt2tags
    c) empacotamento em .tar.gz e .zip
    d) upload do site atualizado e dos pacotes.

    Mas ainda falta + coisa pra que o release seja realmente one liner.

  3. Leandro added these pithy words on 24 de junho de 2008 | Permalink

    Para o HardInfo, eu fiz um alvo no Makefile que gera os tarballs, e os compacta com bzip2 e gzip. Também há um alvo que gera o instalador com o autopackage.

    O upload ainda não é automático, mas como eu não faço isso sempre, não me preocupei em fazer algo que enviasse os arquivos para o diretório de upload do Berlios.

    O que enche a paciência e eu quero automatizar é fazer o anúncio do release, em sites como Freshmeat e GNOME Files. O que está me segurando é fazer o ChangeLog da forma que esses sites esperam. O diff do svn ajuda mas não dá pra automatizar aquilo…

  4. Rudá added these pithy words on 24 de junho de 2008 | Permalink

    Bruder, então seja mais específico :)

    No meu caso, o rudix.org, o próprio sistema de ports gera o “distribuível”, pacote .pkg para a instalação no Mac. O processo é automatizado com o makefiles (make pkg). Geralmente gero releases a partir de um tag do CVS/SVN/etc. com algum comando similar ao “cvs export”.

  5. Rudá added these pithy words on 24 de junho de 2008 | Permalink

    Sobre o Changelog… Eu não automatizei (embora sinta falta). Até porque eu tenho dois tipos de changelog no rudix. Um que diz respeito somente ao build system e outro que é específico do pacote. Eu costumo “catar” o changelog que faço quando dou checkout no cvs e colo no release do pacote (no site). Em resumo, manual.

  6. caio1982 added these pithy words on 25 de junho de 2008 | Permalink

    Pra automatizar a criação de changelog me basta o eyrie.org/~eagle/software/svnlog/ mas é claro que isso depende bastante da qualidade dos teus commits :-)

  7. sergio added these pithy words on 25 de junho de 2008 | Permalink

    svn2cl, no ubuntu faz parte do pacote subversion-tools, é o que eu uso.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

Sobre

Sergio Bruder, marido, pai, desenvolvedor Linux, nerd, cozinheiro de final de semana. Este site é minha presença web pessoal. Aqui você encontra os projetos open source pessoais e meu blog de comentários randômicos sobre o que estiver me ocupando no momento. Seja bem vindo.

RSS

http://sergio.bruder.com.br Posts RSS feed

Tag Cloud

Apple Brasil Culinária d00dz Família Finanças Hardware Literatura Nerd Sem categoria Software TV tweets Vinhos