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。
我正在开发一个使用 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。