最难的是用cvs下载emacs的代码。 由于必须通过代理服务器上国际网,因此必须为cvs配置代理
cvs 1.12.6以后的版本增加了对web proxy的支持。
用法如下:
:pserver;proxy=www.myproxy.net;proxyport=8000:
但是cvs并不像wget那样支持http_proxy环境变量。也没有提供类似的环境变量。因此唯一的方法就是更改ebuild文件。
经过一下午的分析,特别是分析emacs的ebuild文件和 /usr/portage/eclass/cvs.eclass 文件,得知软件安装过程中的几个重要的函数
如:
src_unpack
cvs_src_unpack(定义在/usr/portage/eclass/cvs.eclass 文件中)
cvs_fetch(定义在/usr/portage/eclass/cvs.eclass 文件中)
这几个函数,特别是cvs_fetch函数在软件安装过程中很重要
通过查看cvs_fecth的源代码可以知道如果修改,使得用cvs下载时能使用代理服务器
另外: 如果修改ebuild文件后需要 ebuild xxxxx.ebuild digest