Nomenclatura do pacote RPM para configurações alternativas

3

Atualmente, instalei o PHP a partir do código-fonte em várias configurações diferentes no ambiente, cada uma fornecendo o conjunto mínimo de recursos necessários para sua implementação específica: uma implementação requer suporte ao soquete UNIX via '--enable-sockets', por exemplo, mas não fornecer esse recurso em outras implantações por razões de segurança.

Eu gostaria de construir isso em um RPM, mas não tenho certeza de como lidar com essas variações de configuração: devo construir um pacote 'php-sockets' separado que forneça um PHP construído com '--enable-sockets'? ? Existe uma maneira de fornecer um único pacote nomeado que possa ser implantado com diferentes opções de construção? Posso colocar tudo isso em um único arquivo de especificação para que novas atualizações no PHP possam ser feitas para construir automaticamente todas as diferentes variantes que eu preciso?

Eu estou fora da minha profundidade RPM neste - me educar, por favor!

    
por Jeff Albert 16.07.2012 / 22:51

2 respostas

3

De qualquer forma, você precisará ter dois pacotes separados. No entanto, existe outra maneira de resolver isso. Você pode dividir seus pacotes php em três grupos de pacotes distintos, core, sockets, no-sockets. Neste caso, o core contém todos os arquivos que são comuns entre as opções de compilação de sockets e no-sockets. Em seguida, as versões sockets e no-sockets seriam compiladas com as opções apropriadas, mas exigirão o pacote principal. Este método é usado nos pacotes do Zabbix no Fedora. Você pode dar uma olhada no arquivo de especificações se você estiver interessado.

    
por 16.07.2012 / 22:59
3

Como os sockets PHP podem ser construídos em uma extensão separada, eu recomendo que você veja como os SRPMs existentes constroem e empacotem suas extensões e sigam a mesma coisa com o seu próprio pacote php-sockets extension. Observe que os pacotes de fornecedores geralmente fornecem soquetes internos e, portanto, você pode encontrar alguns pacotes distantes que esperam que sejam instalados como parte do pacote php .

    
por 16.07.2012 / 22:58