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

跳转到内容

# KDE 软件打包准则

来自 Arch Linux 中文维基
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 – 字体

翻译状态：

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

Arch Linux 上的 KDE 软件包符合特定的模式。

## 构建目录

构建 CMake 软件包的推荐做法是在项目根目录之外新建一个构建目录，并从该目录运行 cmake。PKGBUILD 应如下所示：

    prepare() {
      mkdir -p build
    }

    build() {
      cd build
      cmake ../${pkgname}-${pkgver}
    }

## 安装所需的前缀参数

每个软件包都必须设置 `CMAKE_INSTALL_PREFIX` 变量，但考虑到 KDE 的自定义构建版本，请使用以下参数：

    -DCMAKE_INSTALL_PREFIX=$(kf5-config --prefix)

当软件包被移动到 extra 仓库时，上述参数应改为：

    -DCMAKE_INSTALL_PREFIX=/usr

## 构建类型

一般来说不应指定构建类型，这样能使 CMake 接受 `CFLAGS`、`CPPFLAGS` 等环境变量。[1]

## 强制指定 Qt 版本

这篇文章的某些内容需要扩充。

原因：Qt6 也是如此吗？ (在 Talk:KDE 软件打包准则 中讨论)

## KF5 软件包命名

### Plasma 挂件

Plasma 挂件 (之前名为 Plasmoids) 软件包应当被命名为 `plasma5-applets-widgetname`，这样能被识别为与 Plasma 5 相关的软件包，且易于与官方软件包区分。

### Runners

Plasma runners 软件包应当被命名为 `plasma5-runners-runnername` ，这样能被识别为与 Plasma 5 相关的软件包，且易于与官方软件包区分。

### 服务菜单

服务菜单软件包应当被命名为 `kf5-servicemenus-servicename` ，这样能被识别为与 KF5 相关的软件包。

### 主题

Plasma 主题软件包应当被命名为 `plasma5-themes-themename` ，这样能被识别为与 Plasma 5 相关的软件包。

## 图标和 .desktop 文件安装

一些 KDE 软件在 hicolor 图标主题和 `.desktop` 文件中提供了图标（必须通过 pacman 钩子安装）。应当避免在 `.install` 中对这些类型的文件使用安装命令，因为这将导致不必要的重复执行。

分类：​

- Arch 打包准则

KDE 软件打包准则
添加话题