我一直尝试在 CentOS 8 上编译 GDAL 3.2(因为 Java 项目需要 gdal 绑定,而该绑定应该由 gdal32-java 提供),但是在我进行任何更改之前,rpmbuild 就在开始时失败:
$ rpmbuild --rebuild ../gdal32-3.2.3-1.rhel8.src.rpm
Installing ../gdal32-3.2.3-1.rhel8.src.rpm
error: line 23: Unknown tag: %pgdg_set_gis_variables
请注意,源 RPM 来自 postgres 提供的 pgdg-source-common 存储库https://download.postgresql.org/pub/repos/yum/srpms/common/redhat/rhel-8-x86_64
。 spec 文件所需的所有依赖项均已安装。
gdal32.spec 中的标签%pgdg_set_gis_variables
仅出现一次(在报告错误的行),似乎初始化了一些用于检索其他文件/解决依赖项的全局变量。
通过将文件解压到SOURCES
并注释掉此标签 - 以及手动设置我认为未使用的预期值,我可以得到rpmbuild -ba SOURCES/gdal32.spec
,但它在配置时失败,大概是由于缺少应该设置的值%pgdg_set_gis_variables
(+在这种情况下,我收到一个错误,显示尽管标签已被注释掉,但仍尝试扩展它)。
您知道我可以在哪里找到提供此标签的示例/如何构建此 RPM 吗?
答案1
pgdg-srpm-macros
您需要从 PGDG 存储库安装包以提供其自定义 RPM 宏。