Primeiro, você precisa dos arquivos que deseja instalar nos sistemas. Colocá-los em um tar.gz seria OK. Em seguida, adicione o seguinte na seção prep:
%prep
%setup -q
Ele irá descompactar seu tar.gz para rpmbuild / BUILD e cd para seu diretório.
Na seção de instalação, coloque comandos simples para copiar os arquivos de BUILD / mydir em BUILDROOT com a mesma hierarquia que você deseja com os arquivos instalados.
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/dir/to/create
cp -a my-ws-update.py $RPM_BUILD_ROOT/dir/to/create
etc...
Finalmente, você precisa listar os arquivos que deseja no seu arquivo rpm. Se você listar um arquivo, que não foi copiado para $ RPM_BUILD_ROOT ou copiar arquivos sem listá-los, o rpmbuild irá avisá-lo. Por exemplo:
error: Installed (but unpackaged) file(s) found:
/etc/redhat-release
/etc/system-release
Você DEVE também escrever a seção do changelog, por exemplo
%changelog
* Tue Jan 08 2013 Dennis Gilmore <[email protected]> - 17-2
- add the fedora 18 GPG keys
Depois de terminar o arquivo de especificações, construa o rpm:
rpmbuild -ba myfile.spec
Ele também criará os rpms binários e de origem. O rpm de origem é denominado src.rpm e contém todos os arquivos de origem e arquivos de especificação necessários para recriar o rpm.
Espero que tenha ajudado.
Em qual sistema você está criando rpms? Eu posso te dar mais detalhes, se você quiser. :)