openSUSE:KDE 开发人员指南
在 openSUSE 上构建 KDE 指南
构建 KDE trunk
为什么使用本指南? openSUSE 的 KDE 团队 是一群狂热的 KDE 开发人员,他们努力使在 openSUSE 上使用和开发 KDE 变得容易。 通过使用我们可通过 一键安装 访问的预编译软件包,您可以省去构建 qt-copy 或其他 KDE 支持库(如 Akonadi、Phonon、Soprano 或 QCA2)的麻烦。 由于我们与 KDE 发布团队非常接近,我们的软件包包含 KDE trunk 所需的所有补丁,并且始终是最新的。 这为您节省了时间和精力,可以跟踪 KDE 向 KDE 4.2 发展过程中的最新创新(撰写本文时)。
本指南不使用 神奇的构建脚本 来为您完成所有操作。 相反,它向您展示了如何通过几个简单的步骤和一些简单的辅助工具来构建 KDE,以防止错误。
以下说明演示了如何在 openSUSE 11.0 或 10.3 上构建 KDE 4 SVN trunk。 它们不假设任何先决条件,而只需一个全新安装的 openSUSE。
安装构建 KDE 4 所需的软件
- 确保启用了在线社区仓库。
注意: 这些说明已过时,需要更新到 11.3、11.4 和 12.0
版本:11.2 打开 YaST,转到软件,软件仓库。 单击添加。 选择“社区仓库”。 单击下一步。 确保选中“主仓库 OSS”。 单击完成。
版本:11.1 打开 YaST,转到软件,软件仓库。 单击添加。 选择“社区仓库”。 单击下一步。 确保选中“主仓库 OSS”。 单击完成。
版本:11.0 打开 YaST,转到软件,软件仓库。 单击添加。 选择“社区仓库”。 单击下一步。 确保选中“主仓库 OSS”。 单击完成。
- 安装用于通用 KDE 开发的软件包:打开 YaST2 的软件管理模块,然后在“筛选”组合框中选择“模式”。 向下滚动到“开发”部分,然后选择“KDE 开发”。 单击接受。
- 安装 KDE 4 开发先决条件:这些位于 openSUSE 构建服务中。 您可以使用一键安装来安装它们。 (所有这个*很棒*的指南都会将您当前的系统与不稳定的软件包混合在一起……)
注意: 这些链接不起作用,并且开发人员似乎已经更改了范例和/或不再支持发布 openSuSE 11.3 之后的版本的一键安装。
- 安装可选依赖项。 这些软件包并非严格需要构建 KDE 4,并提供可选功能
- libjasper-devel:用于 JPEG2000 图像格式。
- enchant-devel:拼写检查库抽象,用于 Sonnet
- OpenEXR-devel:访问 EXR 格式的图像。
- libraw1394-devel:用于在 KInfoCenter 中显示 FireWire 设备
- pciutils-devel:用于在 KInfoCenter 中显示 PCI 设备信息
- cyrus-sasl-devel:需要支持登录身份验证
- openldap2-devel:需要在 KDE 中提供 LDAP 功能
如果您已经厌倦了软件管理 YaST 模块,只需使用
以 root 身份在 shell 中。
注意: 实际上,还有三个其他软件包,现在需要构建 kdelibs:DocBook XML、DocBook XSL 和 DBusMenuQt
截至 openSuSE11.4,上述 FIXME 注释中描述的这些软件包不存在,因此此 FIXME 也需要进一步更新。
设置 KDE trunk 的构建环境
该环境是一组 shell 变量,用于指定查找您在上一步骤中安装的工具和库的位置,并设置 KDE trunk 的安装位置。 KDE 和 openSUSE 提供了一组脚本,用于设置构建 KDE trunk 的环境,以及运行它
注意: 以下链接已损坏,请修复它们! 如果没有这些脚本,此网页上的其余说明将变得无用!
将这些脚本保存在方便的位置。 您可能需要编辑它们以适应您的系统。 默认情况下,它们将所有内容放在 $HOME/kde - 源代码、构建和安装的 KDE 4 中。 如果您希望多个用户使用此手动构建的 KDE4,则更中心的位置更合适。 i586 上的 KDE 开发构建的存储要求是
- 源代码 - libs、pimlibs、base:682Mb
- 构建 - libs、pimlibs、base:3.8Gb
- 安装 - libs、pimlibs、base 1.6Gb
这些数字很大,因为使用完整调试符号构建的开销很大。
如果您编辑变量,您最有可能更改的是 kde4-build-env 中的 KDE_DEVEL_PREFIX 和 kde4-run-env 中的 KDE_INSTALL_PREFIX。 请注意,这些脚本还将 KDEHOME 设置为 $HOME/.kde4,以便 KDE 4 应用程序不会覆盖 KDE 3 应用程序的设置。 您可以使用环境变量以正常方式更改编译器和链接器标志,例如 CFLAGS、CXXFLAGS 和 LDFLAGS。
自定义脚本以满足您的需求后,将构建脚本导入您当前的环境(构建脚本会在内部导入运行时脚本)
是的,这是一个单独的句点或句号字符。
获取 KDE 4 SVN trunk 源代码
由于您可能不是拥有 GIT 服务器帐户的 KDE 开发人员,因此我们使用匿名 GIT 镜像来公开访问下载 KDE 4 trunk 源代码。
首先,设置您的 GIT 客户端
cd cat >.gitconfig<<EOF [url "git://anongit.kde.org/"] insteadOf = kde: [url "ssh://git@git.kde.org/"] pushInsteadOf = kde: EOF
切换到源代码目录
接下来,进入您刚刚检出的根目录
mkdir trunk cd trunk mkdir KDE cd KDE git clone kde:kdelibs git clone kde:kdepimlibs git clone kde:kdebase
注意! kde:kdebase 仓库不可用,克隆它的 git 命令给出以下错误:
克隆到 kdebase... 致命:远程端意外挂断
请尽快修复。
kdelibs 是构成 KDE 平台的的基本库。 kdepimlibs 是用于个人信息管理的专用库,也需要。 最后一个强制组件 kdebase 包含 KDE 的基本运行时元素以及构成工作区的程序,例如 Plasma。
构建 KDE trunk
现在我们准备开始构建过程了。 如果您有多台 Linux 计算机,您可能需要绕道前往 Icecream 构建农场页面,因为 Icecream 是一种由 SUSE 开发的分布式构建系统,可以大大减少构建像 KDE 4 这样的大型项目所需的时间。
更改到 kdelibs 源代码树
“cs” 是在 kde4-build-env 中定义的 shell 函数,代表“更改 [到] 源代码”。 如果您尚未导入 kde4-build-env,它将不起作用。 没有参数,它会将您带到 KDE 源代码树的根目录。
并开始构建
在构建 kdelibs 时,您可以查看 kde4-build-env 以查看 cmakekde 执行的操作。 基本上,它会切换到构建目录(如果需要则创建它),设置构建系统(“cmake”是众所周知的“./configure”的等效项),构建并(如果一切顺利)安装结果。 运行 cmakekde 一次后,您也可以使用“make -j2 install”。
当 kdelibs 构建完成后,按顺序对 kdepimlibs 和 kdebase 重复该过程
cmakekde
cs KDE/kdebase
cmakekde
如果出现问题
请记住,您正在使用 KDE 4 trunk - 即将成为 KDE 4.2 的内容。 无法保证它会在任何给定时间构建。 您可以检查 KDE Dashboard,这是一种自动服务,它会频繁地从头开始重建 KDE 4 以检查错误。 如果某个模块无法构建,但仪表板上显示为绿色,请检查您的工作副本中是否至少具有该版本的 trunk(svn up $MODULENAME 在 sources/trunk/KDE 中)。 如果这不起作用,请在该模块中“make clean”以清除旧的已构建代码并再次构建。 如果所有其他方法都失败,请尝试在 FreeNode 上使用 #opensuse-kde 或 #kde-devel 寻求帮助。
运行 KDE trunk
您可以以两种方式运行 KDE trunk;从文本控制台手动,或像往常一样通过 KDM 或任何其他显示管理器。 我们将首先简要介绍手动方法,因为这可以帮助在更简单的 KDM 路由失败时进行故障排除。
重要提示
kde4-run-kde 将 KDEHOME 设置为 ~/.kde4。 如果您在此环境中运行 KDE3 应用程序,它们也会将数据和配置保存到 KDEHOME。 这不受支持。 在运行 KDE 3 应用程序之前,请取消设置 KDEHOME 或完全清除环境,例如使用 su - youruser。
手动启动 KDE 4 会话
- 切换到文本控制台
<ctrl> <alt> <F1>
- 登录
- 设置 KDE4 运行时环境
- 启动 DBus 会话。 DBus 通常由显示管理器自动启动。
- 启动 X 服务器。
X -novtswitch $DISPLAY
- 启动 KDE 4
- 最后,切换到 X 服务器。 KDE 4 将开始启动 - 第一次启动需要一些时间,因为必须从头开始创建系统配置缓存 - 在启动画面消失后,您应该看到熟悉的 Plasma 桌面
<ctrl> <alt> <F8>
使用显示管理器启动 KDE 4
我们提供了一对您需要安装到系统中的文件,以告诉显示管理器如何启动 KDE 4。
- kde4-svn-trunk.desktop - 将其保存到 /usr/share/xsessions 中。
- kde4-launch - 编辑它,以便从您保存它的位置获取 kde4-run-env,然后将其保存到 /usr/local/bin 并使其可执行
完成这些步骤后,启动新会话(K 菜单->离开->切换用户),然后在会话类型菜单中可以选择“KDE 4 SVN Trunk”。
如果您从显示管理器登录后获得 KDE 3 会话,则您没有阅读有关编辑 kde4-launch 的部分。
下一步
构建更多模块
到目前为止,你只检出了并构建了最少量的 KDE 模块。为了获得一个实用的桌面环境,你必须检出其他模块。你可以通过切换到 sources/trunk/KDE 并执行
kdegraphics, kdemultimedia, kdepim, kdenetwork 是其中一些更重要的模块。要获取 amarok 或 digikam,在 sources/trunk 中,svn up extragear/multimedia 或 extragear/graphics。
保持更新
例如,使用 kdelibs
cd kdelibs
git pull
有用的资源
注意: 以下许多链接已损坏或指向不完整的页面,请修复它们!
- openSUSE 11.0 链接到 KDE trunk 构建依赖项
- openSUSE 10.3 链接到 KDE 4 构建依赖项
- - 运行 KDE trunk 的环境片段
- - 构建 KDE trunk 的环境片段
- KDE GIT 的 Web 界面
- KDE Dashboard
- XSession .desktop 文件,用于显示管理器
- - 带有自定义环境的 KDE4 启动脚本
- kde.org 上 Linux 的通用 KDE 4 构建指南
- 一个神奇的构建脚本
