Você pode criar pacotes para o EL5 em uma caixa EL6, mas o problema é que o EL6 tem uma versão mais nova do RPM que grava arquivos incompatíveis com a versão do RPM que acompanha o EL5. Você pode contornar isso com alguns argumentos para rpmbuild
ao criar seus pacotes de código-fonte, preferencialmente em um script de wrapper. Algo como isso fará com que rpmbuild
use o formato antigo:
#!/bin/bash
# Assumes you have an RPM environment set up in ~/rpmbuild using rpmdev-setuptree
# Argument 1: a spec file in ~/rpmbuild/SPECS
# Build the EL6 SRPM
rpmbuild -bs $1
# Build the EL5 SRPM
rpmbuild \
--define "_source_filedigest_algorithm 1" \
--define "_binary_filedigest_algorithm 1" \
--define "_binary_payload w9.gzdio" \
--define="dist .el5" \
--define="el5 1" \
$1
Quando os SRPMs forem criados, você poderá executar mock
nos SRPMs EL5 e EL6, respectivamente:
for el in 5 6; do
for package in ~/rpmbuild/SRPMS/*.el{$el}.src.rpm; do
for arch in x86_64 i386; do
mock -r epel-{$el}-{$arch} $package
done
done
done