这是命令 pg_buildext,可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管提供商中运行
程序:
您的姓名
pg_buildext - 构建并安装 PostgreSQL 扩展
概要
pg_buildext [选项] 行动 [选项]
商品描述
pg_buildext 是一个脚本,将以 VPATH 方式构建 PostgreSQL 扩展,例如
可能并行有多个 PostgreSQL 服务器版本。 它是为
debian/pgversions 中已知版本的交集(软件包支持的版本)
并在 /usr/share/postgresql-common/supported-versions 中(此版本支持的版本
发布)。
用法
包使用 pg_buildext 应该准备好为 PostgreSQL 版本构建二进制文件
Debian不稳定中不存在的,例如在构建向后移植时的旧版本
对于 Debian(旧)稳定版(可能包括较新的 PostgreSQL 版本的向后移植),或者对于
构建包时的所有 PostgreSQL 版本 apt.postgresql.org.
由于二进制包集取决于目标 PostgreSQL 版本,debian/control 是
从 debian/control.in 中的模板生成 pg_buildext 更新控制 运行。
出现次数 PG版本 包中的部分被目标 PostgreSQL 替换
版本。 将 /usr/share/postgresql-common/pgxs_debian_control.mk 包含在 debian/rules 中
如果需要更新 debian/control,请在构建时运行检查。
As pg_buildext 所调用 使 等加工。为 建立, 安装和 清洁 动作,调用来自
debian/rules (这是一个 makefile)应该以前缀 + 所以子品牌可以说话
使用 make jobserver。
许多扩展支持 使 安装检查 测试使用 pg_regress。 由于这需要
要安装的包,它不能在构建时运行。 相反,应该运行测试
运用 自动封装测试 来自 debian/tests/*。
如果 debian/tests/control.in 存在,则出现的包名称包含 PG版本 旨在
替换为填充了目标 PostgreSQL 版本的包名称列表。(如果没有
debian/tests/control中需要替换,提供tests控制文件即可
直接地。)
配置
-cio ARG
-s 传递给 pg_virtualenv 跑步时 安装检查.
行动
大多数操作都需要一个构建源代码的目录名称。 它将被创建为
如果它不存在的话。 如果 构建目录 包含 %v 符号,它将被替换为
正在构建的 PostgreSQL 的特定版本。 (通常这个参数是build-%v。)
支持的版本
打印受支持版本的有效列表,即各组的交集
系统和软件包支持的版本。
检查控制
检查 debian/control 是否需要从 debian/control.in 更新。 这是从调用的
/usr/share/postgresql-common/pgxs_debian_control.mk。 当建造一个 反向移植 or
PGD 由 debian/changelog 确定的套件,此操作还会更新控件
文件。 除此以外, 更新控制 需要手动运行。
更新控制
从 debian/control.in 更新 debian/control,从 debian/tests/control 更新
debian/tests/control.in 如果后者存在。
配置 构建目录 [额外配置选项]
对于每个支持的版本,请致电 ../配置 来自 构建目录 目录。 (最多
PostgreSQL 扩展没有配置脚本。)
建立 构建目录 [额外的标志]
在中构建扩展 构建目录 目录。
安装 构建目录 封装模式
调用 使 安装 来自 构建目录 目录。 第三个参数指定
要使用的包名称。 大多数包使用 postgresql-%v-pkgname。 Make 将被调用
DESTDIR="$(CURDIR)/debian/包".
清洁 构建目录
清理构建目录。
循环 封装模式
作为调用的变体 建立 和 安装 分别为 VPATH 构建,循环
顶级源目录中支持的 PostgreSQL 版本。 如果
包不支持 VPATH 构建。 因为它还调用了 使 安装,应该是
放置在 debian/rules 中进行安装,而不是在构建中进行
通常被称为。
安装检查 [构建目录]
使用 VHDL 语言编写 pg_virtualenv 使 安装检查 运行扩展回归测试。 这是
意味着从 debian/tests/control 运行 自动封装测试。 如果 构建目录 省略,
使用顶级源目录。
有时需要在调用操作之前为每个版本运行额外的代码,例如
在这种情况下,支持版本的循环需要位于调用脚本中。 到
促进这种模式,动作也可以称为 行动-版本。 查看安装检查
下面的例子。
支持的 版本
pg_buildext 读取 debian/pgversions 来决定构建哪个 PostgreSQL 模块/扩展
为了。 该文件每行包含一个 PostgreSQL 版本号,格式如下:
所有 支持所有版本。 除非存在已知的不兼容性,否则建议这样做。
XY 支持这个版本。
XY+
支持此版本和所有更高版本。
#...
评论。
对于要使用的版本,它还必须在输出中列出
/usr/share/postgresql-common/supported-versions。 请参阅此文件了解如何配置
您的系统支持的版本列表。
例
debian/control.in:
来源:postgresql-foobar
构建依赖:debhelper、postgresql-server-dev-all (>= 153~)
XS-Testsuite:autopkgtest
软件包:postgresql-PGVERSION-foobar
取决于:${misc:Depends}、${shlibs:Depends}、postgresql-PGVERSION
debian/pg 版本:
所有
Debian/规则:
#!/usr/bin/制作 -f
包括/usr/share/postgresql-common/pgxs_debian_control.mk
# 如果包不使用 autoconf,则省略此项
override_dh_auto_configure:
+pg_buildext 配置构建-%v "--libdir=/usr/lib/postgresql/%v/lib --datadir=/usr/share/postgresql-%v-foobar"
override_dh_auto_build:
+pg_buildext 构建构建-%v
override_dh_auto_test:
# 此处无需执行任何操作,请参阅 debian/tests/*
override_dh_auto_install:
+pg_buildext install build-%v postgresql-%v-foobar
override_dh_installdocs:
dh_installdocs --所有自述文件。*
override_dh_auto_clean:
+pg_buildext 清理构建-%v
%:
呃$@
debian/测试/控制:
取决于:@, postgresql-server-dev-all
测试:安装检查
限制:允许 stderr
debian/tests/control.in: (可选)
取决于:@、postgresql-contrib-PGVERSION、postgresql-PGVERSION-bar
测试:安装检查
限制:允许 stderr
debian/测试/安装检查:
#!/ bin / sh的
pg_buildext 安装检查
# 或者:pg_buildext installcheck build-%v
# 在调用实际操作之前运行额外的代码:
设置 -e
对于 $(pg_buildext 支持的版本) 中的 v; 做
测试-L构建-$v/sql || ln -s ../sql build-$v/
测试-L构建-$v/预期|| ln -s ../预期构建-$v/
pg_buildext installcheck-$v 构建-$v
完成
环境
pg_buildext 套 PG_VIRTUALENV_UNSHARE=-n 对于 installcheck 操作,默认情况下为
请求新的网络命名空间,使多个实例能够并行运行以共享
端口 5432。通过设置为不同的值来覆盖。
兼容性
此前 pg_buildext 版本在操作后需要一个“源目录”参数。 这是
现在已弃用,但仍然接受(并忽略)。
pg_buildext 循环 在 postgresql-server-dev-all (>= 141~) 中引入。
debian/pgversions 中“all”或“X.Y+”的用法是在 postgresql-server-dev- 中引入的
全部(>= 148~)。
pg_buildext 安装检查 在 postgresql-server-dev-all (>= 153~) 中引入。
PG_VIRTUALENV_UNSHARE=-n 在 postgresql-common (>= 170~) 中引入。
处理 debian/tests/control.in PG版本 更换被引入
postgresql-common (>= 171~)。
使用 onworks.net 服务在线使用 pg_buildext
