* 这几天正好可以重构ybuild,备忘一下计划中的改进:
1、数据库迁移到sqlite,这里就有大段代码要重构。
2、重新设计package opt,提供更丰富的命令行接口和api接口。
3、实现嵌入spec脚本和spec模板库接口以及常用模板,做到名副其实的specin:
比如这样的specin文件:
<?perl
use Ybuild::Specin::Autopackage;
my $apkg=new Ybuild::Specin::Autopackage(
name => "chmsee",
tarball => "http://blah/blah/blah/",
files => [
'%{_bindir}/chmsee',
'%{_datadir}/chmsee',
#blah blah blah
],
);
$apkg->write();
?>
4、精致程序的输入输出
5、分离rpmstree开发模式相关的部分作为单独的模块。其目的定位为:并行维护
多个相关但是平行的ybuild portage(NOTE:和下面的yortages不同)。而不把
rpmstree作为ybuild的一部分。
6、文档。
7、(不确定)移植gentoo的sandbox功能,让编译过程更安全。
* 另外,将做一个新的模块:yortages。yortages就是ybuild portages的缩写,
这里的portages是复数。和rpmstree的目的不同,rpmstree是维护一组相关但是平
行的portage,比如FC-4,FC-5,FC-6的。yortages维护一组相关甚至有重叠的
ybuild portages,比如:
* fedora core yportage ,yes,转换和同步(同步很重要,完全的fork是不可能
有人维护的)官方cvs rpms模块到ybuild rpmstree也在计划之列。
* fedora extras yportage
* fedora cn yportage,fedora-cn yportage计划完全覆盖freshrpms等的其他第
三方仓库。
这三个yportage甚至可以有重复。如何管理呢?
计划将用git的方式。
这样,想象这样的图景,一个正常安装FC6的用户在安装yortages和fedora-cn
yortages后,如果对官方的包有不满意和想打补丁的地方,则只需修改yortages中
相关的包的spec文件等,然后ybuild build就可以覆盖官方的包。如果是永久覆
盖,则可设置包的状态为mask,如果是下次还要合并官方的spec更新,则设置为其
他我还没想好名字的标志(……)
* 自己给自己加油——我十分讨厌zhllg,一定要让他闭嘴。
--
http://hellwolf.cublog.cn
gpg --keyserver pgp.mit.edu --recv-key 0x6B174C6F
And furthermore, my bowling average is unimpeachable!!!