原文来自姐妹站:suse.ws。不强求,但请尽力至原文评论。
这个都市传说最早开始于 2008 年的 GSoc 项目,当时的项目主页描述的架构是这样的:
* 移植 Archlinux 的打包工具到 RPM
* 一个 perl 模块,可被 OBS 的主后端调用
* 一个编译脚本
* UI 上的整合
后来那个 GSoc 学生病了。于是就不了了之了。根据最后的片纸记录,当时的支持情况是这样的:
* Arch 编译模块可以解析 PKGBUILD,提取依赖,从 pkg.tar.?z 解析 PKGINFO
* 获取源的元数据和软件包信息的助手脚本
* 设置 Arch 编译环境
* 编译脚本
后来这一传说反复穿梭于 openSUSE 邮件列表中,记得在 IKDE 群中我很早就说过一句,但是大家让我找证据,我又忘了 Adrian 哪里说的了。于是月初问过一次,得到的热心人答复是:
完成度已经很高啦。现在缺的就是 Publisher 中的源创建步骤。
于是众人纷纷表示 233。不能创建源就表示完全没有编译依赖,相当于没有么。
记得当时我又提出一点是 Arch 的社区服务器不行,根据 OBS 镜像的官方数据,OBS 每月的流量是 10T。这个流量我估计除了 Debian 别的任何社区发行版都不可能承受。目前 OBS 支持非 SuSE 系发行版的方法是缓存它们的 ISO,也就是 release 当天的 ISO。而 Archlinux 很明显没有这样一个 basis。而随用随取的方法会给社区发行版的服务器造成天量流量和服务器 I/O 和负载。
当时记得大家做的结论是要么 SuSE 给 Arch 出个镜像,要么即使 Fedora 的 Update 源支持的那天,Arch 也很难支持。
今天这个问题得到的 OBS 管理员 Adrian 的官方答复:
背景是在一个聊 Unity on openSUSE 的帖子里,这个不止是 Nelson Marques 在搞,之前他玩剩了 GNOME:Ayanata 也被 Damian Ivanov 和 Xiao-Long Chen (中国人。但我不认识。也是折腾帝。) 接管了,陈小龙完成了 Unity 在 openSUSE 和 Archlinux 上的移植,但完成度尚未披露,Damian 问 Adrian Arch Backend 的支持情况,Adrian 答复说:
* Fedora Updates 源不添加的原因是因为它不是静态的,而 OBS 的按需下载功能还没做好,也就是说如果加上了,Adrian 要去手动同步,他不想找事;
* Arch Backend 已经推送到了 build.opensuse.org,已经全部完成,但是只是实验性的,所以还没官方发布。
于是折腾帝 Damian 就去试了一下:
目前存在的问题是:
* 不支持 Depends 运行依赖,只支持 MakeDepends 编译依赖 (被迅速的修复了)
* 不支持 PKGBUILD 中直接从源代码存放地下载源代码。这个功能永远不会支持。因为编译环境是一个没有网络连接的 VM。目前的解决办法是使用 OBS 服务去下载(这个随便问个像我这样的 OBS 野生大大就知道怎么玩了)。后期准备加个 parser,来转换 PKGBUILD 中的下载地址为服务。
* 不支持 Arch:community 源,因为那个源跟 OBS 本身一样变动太快。但你可以在 OBS 上编译里面的 PKGBUILD。后期发布时可能会选择导入该源到 OBS。
* 版本旧。当然现在不是很旧。由于按需下载功能目前还没有,是手动导入的相对稳定的 Arch 源,所以可能后期会慢慢变旧。不想旧就去开发按需下载吧程序员们。
测试软件包在此:
home:damianator:branches:GNOME:Ayatana
OBS 源代码在此:
https://github.com/openSUSE/open-build-service
Marguerite
9 FEEDBACKS