LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 786|回复: 6

Why portage need process.spawn ?

[复制链接]
发表于 2009-2-19 17:41:46 | 显示全部楼层 |阅读模式
Portage does '--sync' action with
  1. ...
  2. exitcode = portage.process.spawn(mycommand, **spawn_kwargs)
  3. ...
复制代码


/usr/lib/portage/pym/_emerge/__ini__.py, line 12219
# portage-2.1.6.7

Why not just does with

  1. exitcode = os.system(mycommand)
复制代码

?
发表于 2009-2-19 19:01:17 | 显示全部楼层
wrong place, ask in gentoo-portage-dev mailing list
回复 支持 反对

使用道具 举报

发表于 2009-2-19 19:26:00 | 显示全部楼层
没阅读过 portage 源码
胡乱根据名字猜测

很明显 portage.process.spawn 不是原来 python standard library 里标准的 os.spawn* 家族
有可能是封装的 python spawn* 家族,也有可能封装的是 subprocess.Popen,也有可能是其他
无论如何
开发者们都不會乱起名字
那么这个 spawn 应该和 C-RT 或者 python standard library 里的类似
主要区别应该一样:
system 通过 shell 执行 mycommand
spawn 没有调用 shell 这个步骤
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-21 18:44:44 | 显示全部楼层
wrong place, ask in gentoo-portage-dev mailing list

估计是问题太白痴,英文论坛上没有回复,邮件列表也没有……

按照我的想法,作者应该是想通过自封装的 spawn 完成比较复杂的工作,但是,我看了 rsync action 的实现,觉得用 spawn 似乎是用牛刀了……
回复 支持 反对

使用道具 举报

发表于 2009-2-21 20:11:24 | 显示全部楼层
LZ最近好像在研究portage,有没有什么新得分享一下,我最近学习python,等入门了也想看看portage代码,以前看过一回头晕晕的,等python熟悉后加上对portage机制再熟一点后应该情况会好很多,忘了还有重要一点bash 脚本
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-22 11:02:22 | 显示全部楼层
不敢说“研究”,只能说学习。

有个事情很有趣的是,我在做那样东西的过程中,无意中做了许多和 Gentoo 相关的工作:
翻译官方文档;
[thread=343792]翻译 portage 核心相关手册页[/thread];
[thread=338986]编写中文应用脚本[/thread];
……
回复 支持 反对

使用道具 举报

发表于 2009-2-22 14:31:56 | 显示全部楼层
Post by flyinflash;1950947

gnome-do 其实可以用 py + gtk 重写,比方说,新手想安装一个软件包,他只要
alt + space <安装 xxx>/<an'zhuan xxx>/<az xxx>/<a xxx> <RET>
那么gentoo-do下面就会自动打开一个终端,显示相应的命令,对比前面应试是
sudo emerge -av xxx
……

猜一下
你在做一個增强版的 gnome-do
不仅仅是 app launcher,还具有搜索文件的功能和一些高级点的命令的能力,比如你举例的安装命令,效果有点类似在 ubuntu 的终端下打入某个没被安装的命令,shell 会建议说 apt-get install xxx

我有类似的想法
用 pyGTK 写一個类 gnome-do
实在不喜欢单单为了 gnome-do 编译 mono
而且 gnome-do 目前不支持非 en 的 locale

目前已安装软件的模糊匹配和搜索已经接近完成了
完成了 PATH 的 parse
正在加上 .desktop 文件的读取和合并
没有使用 quick silver 的 string ranking 算法
不過我实在是时间很少...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表