32 位软件包打包准则 - Arch Linux 中文维基

跳转到内容

# 32 位软件包打包准则

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 32-bit package guidelines，最近一次同步于 2023-06-05，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

Arch 打包准则

32 位 – 安全 – CLR – CMake – DKMS – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – 交叉编译工具 – KDE – Lisp – Meson – MinGW – 内核模块 – Node.js – Nonfree – OCaml – Perl – PHP – Python – R – Ruby – Rust – Shell – VCS – Web – Wine – 字体

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

## 软件包命名

- 给 32 位版本的软件包加上前缀 lib32-。

- 给使用 x32 ABI 的软件包加上后缀 `-x32`。

- 软件包描述应与原生版本的相区别，即 `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

分类：​

- Arch 打包准则

32 位软件包打包准则
添加话题