LinuxSir.cn,穿越时空的Linuxsir!

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

如何利用g-ctan更新所有由CTAN提供的包?

[复制链接]
发表于 2011-11-23 10:42:58 | 显示全部楼层 |阅读模式
安装g-ctan之后,直接执行 g-ctan -a 无法更新,
好像没有比较Portage中的TeXLive包与g-ctan提供的包的版本。

接着想通过结合 g-ctan -l 和 g-ctan -e <package name> 来更新所有g-ctan提供的包,于是执行 g-ctan -e `g-ctan -l`,发现只更新了g-ctan -l所列的第一个包。

请问如何实现我想要的功能?

另外,能不能改进g-ctan的包依赖分析?这个问题源自于下面:
更新xecjk(g-ctan -e xecjk)之后,由于xecjk中应用了l3kernel等包,
但portage中的TeXLive以及g-ctan没有作相应的更新,导致TeX文本编译过程错误
  1. l.1017 \dim_gset_eq:NN
  2.                        \g_xecjk_exspace_dim \c_zero_dim
  3. ?
复制代码
这表明g-ctan没有做任何的包分析。

不知道g-ctan的作者有没有类似的考虑。
 楼主| 发表于 2011-11-26 09:36:48 | 显示全部楼层
快要沉了,再来顶一顶。

还是在描述一下我的需求,感觉只是个bash的问题。
目标:利用g-ctan来安装所有CTAN提供的更新包。
初读了一下g-ctan的脚本,大概了解到的情况是:
g-ctan -g  只能获得CTAN中更新包的数据库信息,而不是包的ebuild;
g-ctan -l   能给出CTAN中更新包的数据库信息的列表,以less方式给出;
g-ctan -c  <package> 能创建CTAN中指定的更新包的ebuild;
g-ctan -e  <package> 能够安装指定更新包;
g-ctan -u  <package> 能够更新已由g-ctan安装的指定更新包;
g-ctan -a  能够更新已由g-ctan安装的所有更新包;

明显地,上述命令中的没有一条能够实现我的目标。主要问题在于g-ctan不能像layman那样一次性创建CTAN中所有更新包的ebuild。

所要解决的问题:能否利用g-ctan -c 和g-ctan -l以及某些bash命令实现一次性创建CTAN中所有更新包的ebuild?
回复 支持 反对

使用道具 举报

发表于 2012-1-20 22:27:23 | 显示全部楼层
顶一下,我发现g-ctan不能安装新宏包,具体来说:

g-ctan -l 中看不见cprotect

g-ctan -e cprotect就失败

逻辑上说是通的,但实际上应该有cprotect宏包的。好像g-ctan -a 不起作用。、、

我的g-ctan安装过程如 http://www.linuxsir.cn/bbs/thread382265.html 所示
回复 支持 反对

使用道具 举报

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

本版积分规则

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