openSUSE:KDE 维护者备忘单
如何成为 openSUSE KDE 团队的一员
以下是我们的工作和操作方式的列表,不分先后顺序
安全
安全漏洞对员工来说是高优先级。使用 Bugzilla 和 SWAMP(仅限内部)
L3 错误
L3 错误是客户付费并必须快速响应的错误。员工使用 Bugzilla 并注意“L3”前缀。社区成员可以做一些有趣的事情。
版本更新
KDE 发布
openSUSE 在提供 KDE 发布方面享有良好的声誉。主要和次要发布通常由单个团队成员处理,以提高效率。如果您正在更新整个 KDE 发布版本(4.5、4.6 等),请确保上游 KDE 了解您,您订阅了 kde-packager@kde.org,并且您可以提前访问发布 tarball 以进行打包。在 http://bugs.kde.org 上提交一个系统管理员错误,以获得此访问权限。您需要提供参考资料才能获得访问权限。
应用程序发布
KDE 模块之外的应用程序可以随时发布。请通过电子邮件关注 Package Warrior 关于新版本的通知。对于热门的新应用程序,应创建新软件包,监控 KDE 包愿望清单。
主要版本之间的迁移测试
kde4-migrate 是将 KDE 3 配置复制到 KDE 4 的工具。配置迁移需要测试,因为应用程序可能无法正确支持导入其 KDE 3 版本的配置(kmail)。
特性
特性可以在 FATE(内部)和 openFATE 中列出。还要关注 openSUSE 想法池。
翻译
我们通常尝试采用上游翻译。我们开发的特性不符合上游发布周期,可能需要 openSUSE 翻译。为此,我们需要 1) 使新的工作可翻译 2) 及时将 .pot 文件复制到翻译存储库中,以及 3) 将复制的翻译返回到适当的 -lang 包中。
这在 openSUSE 12.2 中没有发生。因此,openSUSE 特定补丁存在未翻译的字符串(例如,kickoff 中的 sysinfo 条目)。可以在 https://gitorious.org/opensuse/kdebase4-opensuse/blobs/master/totranslate/ 找到一个 Howto。(ctrippe)
错误
Bugzilla 是您在此的主要工具。各个团队成员的报告易于在 hall 上访问。请关注 bugs.kde.org,了解您专门从事的应用程序的上游修复以及在 bnc 上未报告的重要错误报告。
分类
应对发送到 kde-maintainers@suse.de 的传入错误进行分类。您可以通过在 Novell bugzilla 的“首选项”->“电子邮件首选项”中(页面底部附近)将任何 bugzilla 帐户添加到列表中来观看。要观看共享错误报告中的更改,包括所有新的 KDE 错误报告,请添加“kde-maintainers@suse.de”。有关更多信息,请参阅 openSUSE:Bug_Screening_KDE
跟进
我们努力在用户提供我们请求的错误报告中的信息时及时响应。您可以使用高级 bugzilla 查询来查找长时间悬而未决的错误。
修复
这占据了我们的大部分时间。
错误修复
我们尝试定期进行错误修复会话,以保持错误数量的可管理。这始终是一个让新人员参与的好机会。有关更多信息,请参阅 openSUSE:Bug_Squashing_KDE
打包
打包就是成为发行版的全部。
针对新 openSUSE 版本的待办事项
(这可能应该放在维基的单独页面上,并且只是一个起点)
- 有关 KDE 品牌 Howto,请参阅 http://lists.opensuse.org/opensuse-kde/2010-06/msg00068.html
- 更新各种地方中硬编码的 openSUSE 版本(“rpm search”,请参阅 https://bugzilla.opensuse.org/show_bug.cgi?id=782901)或 http://help.opensuse.org/kde4/)
- 更改新版本的默认桌面配置,例如配置和外观。这是您将您的 KDE 理念强加于世界的机会!完成/合并此处的更改后,通过运行其 update_rpm 脚本来更新 kdebase4-openSUSE rpm。
- 这在 https://github.com/openSUSE/kdebase-opensuse 上完成,您可以
- 更新首次在新安装上登录时显示的 SUSEGreeter 文本
- 仅为 Live CD 提供默认配置文件:https://github.com/openSUSE/kdebase-opensuse/tree/master/config-files/usr/share/kde4/config/SuSE/default。
- 为所有用户提供默认配置文件:https://github.com/openSUSE/kdebase-opensuse/tree/master/config-files
- 在 [首次] 登录时执行每个用户的配置:https://github.com/openSUSE/kdebase-opensuse/tree/master/config-files/usr/share/kde4/env
- 对 Live CD 用户执行进一步的配置:https://github.com/openSUSE/kdebase-opensuse/tree/master/config-files/usr/share/opensuse-kiwi/live_user_scripts
- 这在 https://github.com/openSUSE/kdebase-opensuse 上完成,您可以
某些 KDE 包的特殊功能
有一些 KDE 包,最值得注意的是 kde4-l10n,其源代码包含一个名为 pre_checkin.sh 的脚本。在提交更改到 OBS 之前,必须运行此脚本。在 kde4-l10n 的情况下,kde4-l10n.spec 文件是这样从 kde4-l10n.spec.in 文件自动生成的。
包模式更新
模式是控制默认安装哪些包以及各种“开发”选择包括哪些包的包集合。
构建失败
包构建失败的原因有很多——更改的依赖项、依赖项的更改、不稳定的构建主机和工具链以及特定于异构架构的构建问题。阅读发送给您个人和团队的构建失败通知电子邮件。监控 openSUSE 构建服务 以了解我们维护的项目中的故障。
在线更新
应为已发布的分发版提供安全和关键修复。在 bug 主题 中使用 [Fix_Is_Ready:<distro>,...] 来指示正在等待修复。使用 SWAMP(内部)来跟踪通过在线更新修复错误的流程。
集成工作
分发平台中的重大更改需要在我们的包中进行调整。这些可能包括 PackageKit、NetworkManager、ConsoleKit、X、多媒体子系统。在 opensuse-factory@opensuse.org 上保持关注,进行研究,倾听项目经理,并浏览 FATE,这样您就不会感到惊讶。
包依赖
包通常需要修改其构建或运行时依赖项,因为上游软件会不断发展。查找构建系统输出警告,提示找不到可选依赖项,并将其添加到 BuildRequires: 包中。新的运行时依赖项通常表示为 specfile 中包含代码的子包中的 Requires: 行。例如 libbluedevil1 Requires: bluez。
配置软件
上游软件的默认配置可能需要修改以满足我们的需求。例如,默认情况下,它可能会加载已知有问题的插件。我们通过在 openSUSE 品牌包 kdebase4-workspace-branding-openSUSE 中包含默认配置来执行此操作,该包源自 kdebase4-openSUSE。请注意,上游默认配置位于 /usr/share/kde4/config/ 中,分发添加的默认配置(我们的大部分更改)位于 /etc/kde4/share/config 中,Live 媒体特定的配置位于 /usr/share/kde4/config/SuSE/default/<filename>.live 中,并在登录时由像 /usr/share/opensuse-kiwi/live_user_scripts/kde4.sh 这样的脚本复制到 Live 用户的 .kde4 中。
更新视觉标识
视觉标识是指分发的自定义外观和感觉,以及配置更改。
- kdebase4-openSUSE 包含我们的视觉标识
- http://gitorious.org/opensuse/kdebase4-opensuse 是存储库
- 不要只更改包中的 kdebase4-openSUSE-<version.tar.bz2,将其提交到 git 存储库,然后在那里运行“sh update_rpm”来生成 tarball。否则,下一次运行脚本时,您对 tarball 的更改将被删除。
- 请记住更新元数据(描述、预览图像)以及屏幕截图。不完整列表
- kdm 主题:branding/root/usr/share/kde4/apps/kdm/themes/SUSE/
- kde 登录启动画面:ksplash/ksplashx-suse/
- 默认壁纸:branding/root/usr/share/wallpapers/openSUSEdefault/
- kwin 装饰:branding/root/usr/share/kde4/apps/kwin
- plasma 主题:branding/root/usr/share/kde4/apps/desktoptheme(由于这包括对上游默认 plasma 主题文件的一些修改,请检查这些文件的 bug 修复并将其应用于我们的版本)
许可和加密
作为软件分发商,我们必须确保遵守我们分发的软件的许可和加密导出要求,并在我们的包中正确声明这些许可。如果您不这样做,可能会收到令人讨厌的邮件。
其他发行版的打包
其他发行版的包可以节省大量时间,用于移植功能或修复错误。对吧,Kubuntu? ;)
预发布版本控制
有时需要更改上游提供的包版本。通常,这是因为提供了名为 kfoobar-4.8.0beta1.tar.bz2 之类的预发布 tarball。将此打包为“kfoobar-4.8.0beta1.rpm”是一个错误,因为 RPM 将“4.8.0beta1”视为比“4.8.0”更新,从而无法自动更新到发布版本。我们通常按如下方式分配此类包较低的版本号
- x.(y-1).6n - pre-alpha 快照,其中 n 从 0 开始并单调递增
- x.(y-1).7n - alpha 发布
- x.(y-1).8n - beta 发布
- x.(y-1).9n - 发布候选版本
kfoobar 的正确版本将是 4.7.80。在 specfile 中,为 tarball 给定的“真实版本”定义 %rversion
%define rversion 4.8.0beta1
Name: kfoobar
Version: 4.7.80
Source0: %{name}-%{rversion}.tar.bz2
社区建设
将“开放”融入 openSUSE。今天结交一位用户,明天她可能会帮助分类一些错误,在 openSUSE 构建服务中打包一些内容,或者告诉您一些可以帮助您找到错误原因的事情。
测试构建
为了我们自己和分发版的其他开发人员,我们尝试最新的构建并报告不起作用的事情。
用户支持
作为经验丰富的 KDE 用户,我们能够轻松地发现问题的根源。在 #opensuse-kde 上分享您的专业知识。
开发者支持
openSUSE 的各个办公室有很多 KDE 用户,他们有时会遇到问题。我们不能杀死他们,所以我们不妨帮助他们。
整合一切
我们在此页面的目标是使执行常规任务尽可能高效,从而为进行令人惊叹的新工作留下尽可能多的时间。我们定义了以下理想品质来实现这一目标。
意识
即使我们在不同地点工作,了解彼此的工作进展也有帮助。我们建议每周发送一封邮件,总结我们在上述标题下的活动。
公平性
以便所有团队成员都能参与到有趣的工作中。
响应速度
这对于花时间报告问题和付费购买产品的用户来说是公平的。
优化
你开发的能够快速完成任务的技巧和脚本值得分享。