KDE 软件打包准则

来自 Arch Linux 中文维基
Arch 打包准则

32 位CLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDE内核模块LispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustVCSWebWine

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 接受 CFLAGSCPPFLAGS 等环境变量。[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 中对这些类型的文件使用安装命令,因为这将导致不必要的重复执行。