Estou tentando construir parcialmente um pacote rpm. Tomemos como exemplo o subversion, ele construiria estes pacotes por padrão:
subversion-1.7.14-16.el7.x86_64.rpm
subversion-devel-1.7.14-16.el7.x86_64.rpm
subversion-gnome-1.7.14-16.el7.x86_64.rpm
subversion-javahl-1.7.14-16.el7.x86_64.rpm
subversion-kde-1.7.14-16.el7.x86_64.rpm
subversion-libs-1.7.14-16.el7.x86_64.rpm
subversion-perl-1.7.14-16.el7.x86_64.rpm
subversion-python-1.7.14-16.el7.x86_64.rpm
subversion-ruby-1.7.14-16.el7.x86_64.rpm
subversion-tools-1.7.14-16.el7.x86_64.rpm
Exigiria muitas dependências de construção como KDE ou Xorg. Minha pergunta é como posso construir apenas o primeiro cli rpm sem o resto.
Alguma ideia?
O pacote fonte mencionado está aqui: http://vault.centos.org/7.9.2009/os/Source/SPackages/subversion-1.7.14-16.el7.src.rpm
Em geral: você não pode; não é assim que funciona a construção de pacotes RPM: estes são apenas os arquivos do mesmo processo de construção, divididos em pacotes diferentes. Então, você ainda precisa fazer a compilação completa.
Para alguns pacotes, existem
bcond
arquivos de especificações que você pode alterar ou que dependem da sua plataforma de construção. Se você ler o fedora subversion.spec atual, verá que se estiver usando o RHEL 7 (que é <9, linha 21), todos os seus ruby python2, pyswig, bdb… estão desabilitados de qualquer maneira. (a versão atual do fedora rawhide do subversion.spec não se baseia no antigo RHEL7, no entanto, porque faltam macros RPM; então, como você parece ter uma especificação compatível com RHEL 7 em algum lugar, você provavelmente deseja transferir todo esse diretório para sua máquina de construção e faça omockbuild
que descrevo abaixo.)Você está construindo para uma plataforma antiga, o que significa que provavelmente deveria ter uma máquina de desenvolvimento Fedora, na qual você usa
fedpkg mockbuild --root /etc/mock/centos-7-x86_64.cfg
para as especificações com seu conjunto reduzido de recursos.