Para a instalação do meu servidor eu preciso wget e compilar um pacote fonte (geos, GeoIP e py binding). Existe uma classe de marionetes pré-definida para obter fontes de pacotes e compilá-las?
Dê uma olhada em:
https://github.com/example42/puppi/blob/master/manifests/netinstall.pp
Exemplo de uso:
netinstall { 'postgis':
url => 'http://postgis.refractions.net/download/postgis-1.5.5.tar.gz',
extracted_dir => 'postgis-1.5.5',
destination_dir => '/tmp',
postextract_command => '/tmp/postgis-1.5.5/configure && make && sudo make install'
}
Parece que o fantoche não é realmente a melhor ferramenta para compilar pacotes fonte em sistemas alvo. A melhor abordagem provavelmente é fornecer um pacote deb ou qualquer que seja seu sistema de destino e instalar o pacote usando o fantoche.
O problema de compilar software com o fantoche é que você precisa executar vários comandos {} de execução com o fantoche. Toda vez que você tem que descobrir se um exec tem que ser executado ou não com base em alguns fatos em seu sistema (arquivos presentes, serviços presentes ou não, etc.). Isso é bastante entediante e propenso a erros para uma compilação de origem, pois os resultados das etapas intermediárias podem não estar mais presentes. Assim, é difícil determinar fatos confiáveis para a compilação e instalação da fonte.