Este é o comando pg_buildext que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas múltiplas estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online de Windows ou emulador online de MAC OS.
PROGRAMA:
NOME
pg_buildext - Construa e instale uma extensão PostgreSQL
SINOPSE
pg_buildext [opções] açao [opções]
DESCRIÇÃO
pg_buildext é um script que irá construir uma extensão PostgreSQL de forma VPATH, para
potencialmente várias versões do servidor PostgreSQL em paralelo. Ele constrói para o
interseção de versões conhecidas em debian/pgversions (versões suportadas pelo pacote)
e em /usr/share/postgresql-common/supported-versions (versões suportadas neste
lançamento).
USO
Pacotes usando pg_buildext deve estar preparado para construir binários para versões do PostgreSQL
que não estão presentes no Debian instável, por exemplo, para versões mais antigas ao construir backports
para Debian (antigo) estável (possivelmente incluindo backports de versões mais recentes do PostgreSQL), ou para
todas as versões do PostgreSQL quando o pacote é construído para apt.postgresql.org.
Como o conjunto de pacotes binários depende das versões alvo do PostgreSQL, debian/control é
gerado a partir de um modelo em debian/control.in quando pg_buildext controle de atualização é executado.
Ocorrências de VERSÃO PG nas seções do pacote são substituídas pelo PostgreSQL de destino
versão. Inclua /usr/share/postgresql-common/pgxs_debian_control.mk em debian/rules para
execute uma verificação no momento da construção se a atualização do debian/control for necessária.
As pg_buildext invoca fazer para o construir, instalar e limpar ações, invocações de
debian/rules (que é um makefile) deve ser prefixado com + para que os sub-marcas possam conversar
com o make jobserver.
Muitas extensões suportam fazer verificar instalação testando usando pg_regress. Como isso precisa do
pacote a ser instalado, ele não poderá ser executado em tempo de compilação. Em vez disso, os testes devem ser executados
utilização teste automático de debian/testes/*.
Se debian/tests/control.in existir, ocorrências de nomes de pacotes contendo VERSÃO PG e guarante que os mesmos estão
substituído por listas de nomes de pacotes com as versões alvo do PostgreSQL preenchidas.
a substituição é necessária em debian/tests/control, não há problema em fornecer o arquivo de controle de testes
diretamente.)
OPÇÕES
-cio arg
-s Passado para pg_virtualenv ao correr verificar instalação.
AÇÕES
A maioria das ações espera um nome de diretório onde construir os fontes. Ele será criado para
você se não existir. Se o diretório de construção contém um sinal %v, ele será substituído pelo
versão específica do PostgreSQL que está sendo construída. (Normalmente este parâmetro é build-%v.)
versões suportadas
Imprima a lista efetiva de versões suportadas, ou seja, a interseção dos conjuntos de
versões suportadas pelo sistema e pelo pacote.
controle de verificação
Verifique se o debian/control precisa ser atualizado em debian/control.in. Isto é invocado de
/usr/share/postgresql-common/pgxs_debian_control.mk. Ao construir para um backports or
pgdg suíte conforme determinado pelo debian/changelog, esta ação também atualiza o controle
Arquivo. De outra forma, controle de atualização precisa ser executado manualmente.
controle de atualização
Atualize debian/control de debian/control.in e debian/tests/control de
debian/tests/control.in se este existir.
configurar diretório de construção [opções extras de configuração]
Para cada versão suportada, ligue ../configurar do diretório de construção diretório. (Maioria
As extensões do PostgreSQL não possuem um script de configuração.)
construir diretório de construção [extra-cflags]
Construa a extensão no diretório de construção diretório.
instalar diretório de construção padrão de pacote
invocar fazer instalar do diretório de construção diretório. O terceiro parâmetro especifica o
nome do pacote a ser usado. A maioria dos pacotes usa postgresql-%v-pkgname. Make será chamado com
DESTDIR="$(CURDIR)/debian/pacote".
limpar diretório de construção
Limpe o diretório de construção.
laço padrão de pacote
Como uma variante da chamada construir e instalar separadamente para compilações VPATH, faça um loop sobre o
versões suportadas do PostgreSQL no diretório de origem superior. Isto deve ser usado se o
O pacote não oferece suporte a compilações VPATH. Como também invoca fazer instalar, deveria ser
colocado onde a instalação acontece em debian/rules, ao invés de onde a construção aconteceria
normalmente será chamado.
verificar instalação [diretório de construção]
Use pg_virtualenv fazer verificar instalação para executar os testes de regressão de extensão. Isso é
destinado a ser executado a partir de debian/tests/control usando teste automático. Se diretório de construção é omitido,
o diretório de origem superior é usado.
Às vezes é desejável executar código extra por versão antes de invocar a ação, em
nesse caso, o loop sobre as versões suportadas precisa estar no script de chamada. Para
facilitar este modo, as ações também podem ser chamadas de açao-versão. Veja a verificação de instalação
exemplo abaixo.
SUPORTADOS VERSÕES
pg_buildext lê debian/pgversions para decidir qual PostgreSQL construir módulos/extensões
para. Este arquivo contém um número de versão do PostgreSQL por linha, nos seguintes formatos:
todos os Suporta todas as versões. Isto é recomendado, a menos que haja incompatibilidades conhecidas.
XY Apoie esta versão.
XY+
Apoie esta e todas as versões superiores.
#...
Comentário.
Para que uma versão seja usada, ela também deve estar listada na saída do
/usr/share/postgresql-common/supported-versions. Veja este arquivo para saber como configurar o
lista de versões suportadas em seu sistema.
EXEMPLO
debian/control.in:
Fonte: postgresql-foobar
Depende de compilação: debhelper, postgresql-server-dev-all (>= 153~)
XS-Testsuite: autopkgtest
Pacote: postgresql-PGVERSION-foobar
Depende: ${misc:Depends}, ${shlibs:Depends}, postgresql-PGVERSION
versões debian/pg:
todos os
debian / rules:
#!/ usr / bin / make -f
inclua /usr/share/postgresql-common/pgxs_debian_control.mk
# omita isto se o pacote não usar autoconf
override_dh_auto_configure:
+pg_buildext configure build-%v "--libdir=/usr/lib/postgresql/%v/lib --datadir=/usr/share/postgresql-%v-foobar"
override_dh_auto_build:
+pg_buildext compilação compilação-%v
override_dh_auto_test:
# nada para fazer aqui, veja debian/tests/* em vez disso
override_dh_auto_install:
+pg_buildext instalar build-%v postgresql-%v-foobar
override_dh_installdocs:
dh_installdocs --all README.*
override_dh_auto_clean:
+pg_buildext compilação limpa-%v
%:
dh $ @
debian/testes/controle:
Depende: @, postgresql-server-dev-all
Testes: installcheck
Restrições: permitir-stderr
debian/testes/control.in: (Opcional)
Depende: @, postgresql-contrib-PGVERSION, postgresql-PGVERSION-bar
Testes: installcheck
Restrições: permitir-stderr
debian/testes/installcheck:
#!/ Bin / sh
verificação de instalação do pg_buildext
# alternativamente: pg_buildext installcheck build-%v
# Executando código extra antes de invocar a ação real:
definir -e
for v in $(pg_buildext versões suportadas); fazer
teste -L build-$v/sql || ln -s ../sql build-$v/
test -L build-$v/esperado || ln -s ../compilação esperada-$v/
pg_buildext installcheck-$v build-$v
feito
MEIO AMBIENTE
pg_buildext conjuntos PG_VIRTUALENV_UNSHARE=-n para as ações installcheck por padrão para
solicitar um novo namespace de rede, permitindo que várias instâncias executadas em paralelo compartilhem
porta 5432. Substitua configurando um valor diferente.
COMPATIBILIDADE
Mais cedo pg_buildext versões exigiam um argumento "source dir" após a ação. Isso é
agora obsoleto, mas ainda aceito (e ignorado).
pg_buildext laço foi introduzido no postgresql-server-dev-all (>= 141~).
O uso de "all" ou "X.Y+" em debian/pgversions foi introduzido em postgresql-server-dev-
todos (>= 148~).
pg_buildext verificar instalação foi introduzido no postgresql-server-dev-all (>= 153~).
PG_VIRTUALENV_UNSHARE=-n foi introduzido no postgresql-common (>= 170~).
Manipulação de debian/tests/control.in com VERSÃO PG a substituição foi introduzida em
postgresql-common (>= 171~).
Use pg_buildext online usando serviços onworks.net