[FZH] 致微菜:SPEC 仓库

Liang Suilong liangsuilong at gmail.com
Tue Jul 19 14:59:42 UTC 2011


在 2011-7-19 下午9:11,"microcai" <microcai at fedoraproject.org>写道:
>
> 在 2011年7月19日 下午7:58,Liang Suilong <liangsuilong at gmail.com> 写道:
> > 本来这个帖子我应该昨天就写的,但是找不到电脑,在手机上写太长了不方便,所以黑兄就迫不及待地写了出来。有这个想法的原因是怕微菜同学把 Fedora
> > ”和平演变“成 Gentoo,当然以上仅仅是一个玩笑。细想一下真的有这个需求。
>
> Genoo 多好啊 ...
>
>

你失准了,打错字。

> >
> > 第一点,得说一说 Fedora 和 RPM Fusion 的政策,他们都不太允许有争议和分发困难的软件进入源。这会导致 Fedora
> > 安装闭源软件会有不方便的地方。比如安装 Flash Player 和 Sun JDK 就比较麻烦了。
> >
> > 第二点,即使一个新软件符合政策,也需要等待至少两周的时间进行从 Review 到推送到 updates
> > 的流程,而更新一个已经入源的软件包也需要一周的时间。这种效率在当前我觉得会有点儿慢,再加上 Packager
的个人因素,用户等待更新的时间随时会增加。
>
> 所以 Fedora 不好。

新软件入源的流程都是超慢的啦,每个发行版都要走一大段流程确保软件的靠谱度,这没啥好说的。问题就在于 Fedora
就只有那么一个靠谱的获取软件的方案。所以我们才需要这么一个 yum-build 的想法。

>
>
> >
> > 第三点,Fedora 没有 Ubuntu 的 PPA 服务,即使有,习惯了 Koji 即时开始编译打包我也没有耐性在 Launchpad
> > 上排队。Fedora People Repo 只是一个临时措施。况且如果 Fedora 搞 PPA,同样会受制于 Fedora 的政策。
> >
> > 所以我跟黑日白月兄萌发出一个在 Fedora 实现类似 apt-build 和 yaourt 的 yum-build 想法,构建一个类似 AUR
> > 的东西。详细的内容黑日白月兄已经在邮件中说了,我在补充一些吧。
> >
> > 1. 关于 SPEC 仓库,我觉得可以按照 Fedora 官方的 Git 仓库
> > http://pkgs.fedoraproject.org/gitweb/ 管理 SPEC
> > 和补丁。把生成元信息的工作放回用户本地。这样子我觉得更加方便开发者,Git 应该很多人都会用吧。而且不用担心 Fedora
> > 官方不支持不给我们服务器资源。大不了我们就放到 github (假如 Google Code 突然大发慈悲支持 Git
> > 也可以,最近这个传言很多。)或者自己弄个 VPS 搞个 Git 服务器也行。用 Git 同步仓库的内容也很快。而且用 Git 应该跟 pkgdb
> > 结合也很方便。
> >
> > 2. 在 rpmbuild 编译打包好一个 rpm 包以后,把 RPM 包和 SRPM 包放到一个指定的目录,借助
yum-plugin-local
> > 生成一个本地 RPM 源,为的是比对 Git 仓库的元信息,如果版本号一致就不再重新编译打包,可以直接用回之前的软件包。
> >
> > 3. 配合 ccache,为的是节省编译的时间,节能减排的任务还是很繁重滴...
> >
> > 先说这么多,细节的东西以后在项目启动的时候慢慢再讨论。如果有兴趣的朋友也可以加入到这个主题中。
> >
> > 顺手把这份邮件 cc 给 yum-axelget 的后续改进者 Ray Chen 大哥的邮箱。
>
> 倒是可以让 yum 使用  emerge 作为后端。

你这不是更折腾吗。。

需要 yum-build 的原因是可以更方便的重复使用编译的软件包,不脱离 rpm 和 yum 的体系。而且在开发的时候可以借用 yum
的代码,减少重做轮子的风险。

要不这个议题留在周五的 IRC 会议上讨论吧,我只能手机上 IRC 了 链接会不靠谱。

>
> >
> >
> > Fedora && Debian User, former Ubuntu User
> > My Page: http://www.liangsuilong.info
> > Fedora Project Contributor -- Packager && Ambassador
> > https://fedoraproject.org/wiki/User:Liangsuilong
> >
> >
> > 2011/7/19 Tommy He <lovenemesis at fedoraproject.org>
> >
> >> 致微菜
> >>
> >> 看到你在 emerge-rpm 方面的进展值得鼓舞,下面这个 SPEC Repo 的权当另一个挑战。
> >>
> >> 一开始,可以尝试下以下命令组合:
> >>
> >> yum-builddep a.spec && spectool -g a.spec && rpmbuild -ba a.spec
> >>
> >> a.spec 为任意 spec 文件。
> >>
> >> 如果 SPEC 文件描述无误,那么以上命令组合将完成从下载源代码包,检查并安装编译依赖条件,最后生成 rpm 和 srpm 的过程。
> >>
> >> 经过和 liangsuilong 的讨论,这种方式和 gentoo 基于 portage 的源代码分发方式十分类似,并且:
> >> 1. 不破坏现有的 RPM 体系结构
> >> 2. 只要修改 SPEC 文件,可以轻松实现远程或本地定制化补丁的整合。
> >> 3. 无需走 Fedora 仓库的审核过程,及时响应新软件及鸡血补丁
> >>
> >> 那么怎样让它更像 Portage 呢?liangsuilong 和我的想法的是实现一个 SPEC 仓库,该仓库应该具有如下功能:
> >> 服务器端:
> >> 1. 存储 SPEC 文件
> >> 2. 元信息抓取工具,可以从 SPEC 中抓取基本的信息,包括应用了哪些补丁等,放置到单独一文件中以备查询
> >> 客户端:
> >> 1. 可以从服务器端获取、缓存并更新 SPEC 文件
> >> 2. 可以读取服务器端的元数据,可以显示并依据规则查询基本信息
> >> 3. 将 yum-builddep a.spec && spectool -g a.spec && rpmbuild -ba a.spec
> >> 封装到一起,可以实现类 apt-build 或 portage 的语法。
> >>
> >> 就这些了,不知道微菜承受的起不?
> >>
> >> --
> >> Take a Deep Breath out of Windows
> >>
> >> https://fedoraproject.org/wiki/User:Lovenemesis
> >> _______________________________________________
> >> Chinese mailing list
> >> Chinese at lists.fedoraproject.org
> >> https://admin.fedoraproject.org/mailman/listinfo/chinese
> >>
> > _______________________________________________
> > Chinese mailing list
> > Chinese at lists.fedoraproject.org
> > https://admin.fedoraproject.org/mailman/listinfo/chinese
> >
> _______________________________________________
> Chinese mailing list
> Chinese at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/chinese


More information about the Chinese mailing list