将PostgreSQL扩展打包到Ubuntu的.deb文件中的最小工作方法是什么(从18.04开始)?
我做了一些搜索,但发现了许多不同的建议(有些过时)。
假设我想打包一个简单的postgres扩展,比如第一和最后聚合函数。
这个StackOverflow的答案建议首先手动创建目录结构,如下所示:
ProgramName-Version/
ProgramName-Version/DEBIAN
ProgramName-Version/DEBIAN/control
ProgramName-Version/usr/
ProgramName-Version/usr/bin/
ProgramName-Version/usr/bin/your_script然后在设置正确的文件权限后进行dpkg -b /path/to/the/ProgramName-Version。
其他人建议使用dh-make,Ubuntu包装指南建议使用基于bzr的某种工具链的工作流。
但我认为PostgreSQL有自己的扩展构建基础设施,称为PGXS (截至PostgreSQL 12.x)。我发现PGXS很容易使用,因为我自己不需要担心文件夹结构,make install会将文件复制到正确的系统目录中,而不管PostgreSQL版本如何。
是否有方法将上面的手动方法与PGXS方法结合起来,自动将PostgreSQL扩展创建为.deb文件?
发布于 2020-03-11 21:16:04
是否有方法将上面的手动方法与PGXS方法结合起来,自动将PostgreSQL扩展创建为.deb文件?
好的。首先,您需要创建一个debian/目录,其中包含从其他扩展名复制的control和rules文件。在PGDG Apt储存库中有许多例子。在您的APT源代码中添加以下一行(仿生是Ubuntu18.04的代号),如果您还没有它:
deb-src http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main查看包列表:apt search 'postgresql-*'
下载源代码:apt source name-of-package
一旦您的debian目录良好并安装了依赖项,基本上您就可以像其他Debian包一样使用dpkg-buildpackage -rfakeroot -b为扩展构建包。
https://dba.stackexchange.com/questions/261650
复制相似问题