32位软件包打包准则

来自 Arch Linux 中文维基
(重定向自32-bit package guidelines
Arch 打包准则

32 位CLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustVCSWebWine

可以在不同架构的计算机(例如 x86_64)上构建和安装老式 32 位软件。本文介绍了此类软件包的打包和约定。

软件包命名[编辑 | 编辑源代码]

  • 软件包描述 应与原生版本的相区别,即 pkgdesc+=" (32-bit)"

变量和参数[编辑 | 编辑源代码]

lib32[编辑 | 编辑源代码]

PKGBUILD 中指定这些 bash 变量来告诉编译器输出 32 位代码:

export CFLAGS+=" -m32"
export CXXFLAGS+=" -m32"
export LDFLAGS+=" -m32"
export PKG_CONFIG_PATH='/usr/lib32/pkgconfig'

文件放置[编辑 | 编辑源代码]

确保 lib32 软件包文件与本机软件包文件不冲突,并且包括所有必需的文件,例如特定于架构的包含文件。例如,如果使用 GNU Autoconf构建软件包,则向 configure 指定以下内容:

--program-suffix="-32" \
--lib{exec,}dir=/usr/lib32 \
--includedir=/usr/include/"$pkgbase"32 \
--build=i686-pc-linux-gnu