Estou tentando instalar o PostgreSQL 9.5 no CentOS 7.
Pesquisei online e para ter acesso aos 9,5 RPMs é necessária a instalação do pgdg95 através do seguinte comando:
sudo rpm -ivh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
Estou instalando o PostgreSQL 9.5 por meio do meu próprio RPM do PostgreSQL. O RPM que estou instalando contém meus próprios scripts e usarei o rpm-maven-plugin para mapeá-los para o servidor. Também estou usando este plugin para instalar os pacotes do PostgreSQL 9.5 adicionando-os à <requires>
seção de configuração do POM.xml.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1.5</version>
<extensions>true</extensions>
<configuration>
<license>GPL (c) 2005, SWWDC</license>
<distribution>distro</distribution>
<group>group</group>
<requires>
<require>postgresql95-server</require>
<require>postgresql95-contrib</require>
<require>postgresql95-plpython</require>
</requires>
<mappings>
</mappings>
<prepareScriptlet>
<scriptFile>src/scripts/prepinstall.sh</scriptFile>
</prepareScriptlet>
<preinstallScriptlet>
<scriptFile>src/scripts/preinstall.sh</scriptFile>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>src/scripts/postinstall.sh</scriptFile>
</postinstallScriptlet>
</configuration>
</plugin>
Como você pode ver, adicionei um script de pré-instalação e de preparação ao pacote, que são executados automaticamente durante a instalação do pacote pelo YUM. O problema é que o require é executado antes de ambos os scripts e eles falham porque o RPM pgdg95 não está instalado.
Como posso executar o comando no início da pergunta antes que os RPMs necessários sejam instalados? Os scripts de preparação/pré-instalação parecem não funcionar, pois os requisitos estão sendo executados antes deles.
Responder1
A solução que implementei foi adicionar o repositório no momento da instalação usando a seguinte linha no kickstart:
repo --name="PostgreSQL" --baseurl="http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/"
e então adicionar no POM.xml:
<requires>pgdg-centos95-9.5-2.noarch.rpm</requires>