Monday, March 31, 2008

spec files e sorgenti

I files .spec contengono le istruzioni per creare i pacchetti RPM; al loro interno solitamente vengono usate delle "macro" in modo da semplificare la vita ai packager.
Ad esempio, il file buildbot.spec contiene:

Name: buildbot
Version: 0.7.6
Release: 2%{?dist}
Summary: Build/test automation system

Group: Development/Tools
License: GPLv2
URL: http://buildbot.net
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch0: %{name}-no-shebang.patch


Da notare come la riga Source0 (che identifica dove i sorgenti sono reperibili) usi le macro %{name} e %{version} che vengono poi espanse a "buildbot" e "0.7.6" rispettivamente.

Se uno si vuole scaricare i sorgenti, ovviamente può comporre il link facendo un po' di copia/incolla e sostituendo a mano le macro, ma ho sempre pensato ci dovesse essere un metodo più semplice... ed effettivamente c'è:

spectool -g buildbot.spec

rapido e pulito :)