gschemas.compiled 架构是否特定(我可以将它与我的 python 库一起发布)吗?

Is gschemas.compiled architecture specific (can I ship it with my python library)?

我正在开发一个使用 Gtk 的 python 库/应用程序。

我的部分构建过程使用 glib-compile-schemas 来创建 gschemas.compiled。

如果我在我的库中包含 gschemas.compiled,如果有人试图在 ARM 或 32 位英特尔之类的系统上使用我的库,这会破坏事情吗?

(我会将其编译为 post-install,但我正在使用的 setuptools 似乎不支持它)。

这不是一个明确的答案,但我验证了该文件对于为一个包构建的两个不同体系结构是相同的,并且它们是相同的。

(enchant 的 debian i386 和 arm64 软件包)。

选择这些是因为不同的位宽(32 对 64)和不同的体系结构。

如果有人写出更明确的答案,我仍然会接受。

您不应将已编译的 gschemas.compiled 缓存作为您应用程序的一部分发布 — 相反,您应该只发布 *.gschema.xml 文件。 gschemas.compiled 旨在作为(默认情况下)/usr/share/glib-2.0/schemas 中所有 *.gschema.xml 文件的 system-wide 缓存,并且应在应用程序安装新架构后由程序包管理器重新生成.

例如,Debian a lintian check 可以防止包裹运送 gschemas.compiled

关于如何使用设置工具在 post-install 步骤中调用 glib-compile-schemas 似乎有答案 here on askubuntu

回答您的具体问题:是的,您应该将其视为潜在 architecture-specific。