Home Wiki > openSUSE:Evergreen
Sign up | Login

openSUSE:Evergreen

tagline: 来自openSUSE

Template:04

此页面描述的是代号为 Evergreen 的社区项目,该项目持续维护 Novell 已不再提供维护的 openSUSE 版本。

是什么

Everygreen 是个社区主导的对已失去维护期限的 openSUSE 仍然提供维护服务的项目。

当前支持的版本是openSUSE 13.1 .

由于这是一个新鲜的尝试,所以并没有详细计划应支持哪些版本。项目希望提供尽可能多的支持。支持期间也是如此。

支持的版本

目前只支持 openSUSE 13.1.

曾被支持过的版本可以在以下列表找到。

Distribution Status Support start Support end Maintainer notes
openSUSE 11.1 不活跃 wrosenauer 讨论 - 贡献 维护已经彻底停止。
openSUSE 11.2 不活跃 May 12th 2011 November 30th 2013 lijews 讨论 - 贡献 2013年12月起不再有常规更新。
openSUSE 11.4 不活跃 November 5th 2012 July 2015 wrosenauer 讨论 - 贡献 lijews 讨论 - 贡献 仍接受更新。
openSUSE 13.1 活跃 January 2016 November 2016 wrosenauer 讨论 - 贡献

如何使用

从13.1开始,用户不需做任何事即可使用evergreen,更新将直接推送至常规的源。
sudo zypper ar --refresh -r http://download.opensuse.org/evergreen/11.1/openSUSE:Evergreen:11.1.repo
只需将 11.1 替换为 11.2 即可用于 11.2 版本。
  • 创建文件 /etc/zypp/vendors.d/evergreen,填以以下内容:
[main]
vendors = openSUSE Evergreen,suse,opensuse

您可以以命令行方式达成以上目的。复制以下代码并执行:

cat > /tmp/tmp.evergreen << EOF
[main]
vendors = openSUSE Evergreen,suse,opensuse
EOF
sudo mkdir /etc/zypp/vendors.d
sudo cp /tmp/tmp.evergreen /etc/zypp/vendors.d/evergreen
  • 然后,您可以使用命令 sudo zypper up 来获取更新。

很不幸的是 YaST 的在线更新模块无法使用,由于我们目前还没有办法提供所需的补丁。

  • 补充上述的更新供应源的有 ftp5.gwdg.de 上的 distribution 供应源:
ftp://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.1/repo/oss/
ftp://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.1/repo/non-oss/
ftp://ftp5.gwdg.de/pub/opensuse/discontinued/source/distribution/11.1/repo/oss/
ftp://ftp5.gwdg.de/pub/opensuse/discontinued/update/11.1/
只需将 11.1 替换为 11.2 即可用于 11.2 版本。
  • 11.1 的 Full Packman 供应源于 2011 年二月也已存档于 GWDG:
ftp://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/packman-11.1
  • 幸而 Packman 团队还提供着 Evergreen 11.1 的 Essentials 供应源,例如:
http://packman.mirrors.skynet.be/pub/packman/suse/Evergreen_11.1/
只需将 11.1 替换为 11.2 即可用于 11.2 版本。
  • 可以通过以下命令添加到 zypp 中:
zypper ar URL PRETTYNAME
  • 移除 download.opensuse.org 的旧的 distribution 供应源:
zypper rr NAME
  • 您也可以通过 YaST 控制您所订阅的供应源。

供应源持续打包而且处于标准位置。以上的存档的 Packman 供应源只为非 Essentials 供应源里的软件包所需要。

联系

通常是通过 evergreen 邮件列表进行联系。

项目的带头开发者,也是 11.1 版本的责任人,是 Wolfgang Rosenauer

Stefan Lijewski 是 11.2 版本的带头人。

团队成员有:

更新策略

更新策略尚未就绪,不过通常是与官方的 openSUSE 维护策略对齐的。

包装信息

  • 如果您想更新一个软件包,osc 将会是您的最好的朋友。以下是步骤:
osc bco openSUSE:Evergreen:11.1:Test PACKAGE_TO_BE_UPDATED
  • 更新源码包以显示必要的安全性补丁
  • 软件包的发布标签应该遵循一定的格式:$MAJOR.<RELEASE$MINOR>。$MAJOR 指主要版本号,一般应保持不变,$MINOR 次版本号,通常应在原来之上加上 1。若软件包的版本较高,发布标签里 $MAJOR 应为 0 而 $MINOR 应为 1。

例如,当您 branch 的是基础版本时,若当前的是 5.<RELEASE2>,则您应发布为 5.<RELEASE3>;若您是全版本更新,则应为 0.<RELEASE1>。

  • 更新变更文件,从您的目录复制变更清单:
osc vc PACKAGE_NAME.changes 
  • 本地编译软件包:
osc build --clean --no-verify PACKAGE_NAME.spec
  • 添加删除本地文件:
osc ar
  • 将您的变更提交到 Build Service:
osc ci
  • 确认软件包是在 OBS 编译的,而且位于软件包目录 osc submitpac 之内。这里是 openSUSE:Evergreen:11.1:Test:
osc submitpac

内核打包流程

截止目前,Evergreen 11.1 使用的 SLE11-SP1 的内核,而 Evergreen 11.2 的维护者也在评估相同的做法。

我的做法是在我的主项目下创建一个子项目,命名为 Evergreen-11.1,然后做一份 SLE11-SP1 的内核源码包的备份。

我是使用 WEBUI 创建子项目的。

要编译 SLE11-SP1 的内核,您需要新版本的 kbuild,Everygreen 自带的通常都太旧。我从 openSUSE:11.3:Update:Test 移植了一个过来,作为我的编译器。这些也是使用 WEBUI 来做的。

然后,从命令行开始:

login=JohnDoe
 
osc copypac Kernel:SLE11-SP1 kernel-source home:$login:Evergreen-11.1
 
for p in kernel-{default,desktop,pae,xen,vanilla,syms}; do
  osc linkpac -C copy home:$login:Evergreen-11.1 kernel-source home:$login:Evergreen-11.1 $p
done

要记住不要改变上面的软件包的名字。虽然 osc copypac 可以在当您想同步 SLE11-SP1 内核之时随时运行,不过流程只需执行一次便可得到链接。

而且,上面的默认的自动重编译会消耗 OBS 许多资源。建议您在做一个完全的自动编译之前先通过 WEBUI 关掉编译。

一旦您在正确的目录里有了内核源码包,您就可以复制一份到本地了:

osc co home:$login:Evergreen-11.1 kernel-source
cd home:$login:Evergreen-11.1/kernel-source

现在您可以做一个本地的特别内核编译测试,例如:

osc build --clean --no-verify kernel-desktop.spec

注意,在内核源码项目中会有一些 specfile。其在 OBS 里的执行像是受到其所在的项目名字的限制。所以不要在上流改变软件包的名字是很重要的。

编译内核需要一段时间,所以请不要着急。

SLE11-SP1 OBS 上的内核通常都要比正式发布的 SLE11-SP1 的内核新。最新的补丁无法得到 Novell 团队的全面的质量检测。

补丁通过 resolve.conf 文件控制,所以在编译内核之时可以通过修改该文件以控制应用哪些补丁。

更新状态

一份包括修复或改进的软件包的当前更新状态概览列于 Evergreen 11.1Evergreen 11.2 之上。

外部链接