LinuxSir.cn,穿越时空的Linuxsir!

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

[求助]gentoo安装texlive宏包

[复制链接]
发表于 2012-1-20 10:46:00 | 显示全部楼层 |阅读模式
我折腾模板的心得,也发在了ctex论坛上了,请指正是否正确:

qingkuan发了一个线性代数的模板
http://bbs.ctex.org/viewthread.p ... page%3D1&page=1

折腾了一下,折腾结果如 http://bbs.ctex.org/viewthread.p ... page%3D1&page=1
最后结论是宏包不够新(可怜的我是2012年1月17日更新的stable版的texlive2011  ^_^)
由于我是emerge的texlive,所以texlive自身的宏包管理器不能使用,所以又折腾了如何更新宏包,现在把折腾结果汇报,请指正:

以下步骤需要root用户权限
第一步,修改配置
修改/etc/make.conf文件
  1. PORTDIR_OVERLAY="/usr/portage/local/myebuilds /var/lib/g-ctan"
  2. #根据具体情况修改,关键是最后要加/var/lib/g-ctan
复制代码
在/etc/portage/package.keywords目录下添加g-ctan文件,文件内容
  1. app-portage/g-ctan ~amd64
复制代码


第二步,安装g-ctan
  1. mkdir /var/lib/g-ctan
  2. emerge -av g-ctan
  3. emerge -av less #这是我机器没有,但g-ctan -l时需要的
复制代码


第三步,验证安装是否成功
  1. # g-ctan -a #更新包
  2. * Updating all ebuilds created by g-CTAN ...
  3. * Downloading package database ...
  4. * Creating local file name database ... (this can take a while)
  5. ls: cannot access /var/lib/g-ctan/g-ctan: No such file or directory #这个错误好像没有关系
  6. * The following packages were updated:
  7. * The following packages were already up to date:
  8. * The following packages are not in the package database anymore:
复制代码
  1. # g-ctan -l #查看已经有的包,一定要有less命令,否者会报错
  2. #出现类似下面的宏包,则说明正常
  3. Asana-Math
  4. FAQ-en
  5. achemso
  6. adjustbox
  7. alterqcm
  8. amiri
  9. amscls
  10. amsmath
  11. amsrefs
  12. animate
  13. antiqua
  14. aomart
  15. ascelike
  16. authoraftertitle
复制代码


第四步,更新宏包,如更新xecjk
  1. # g-ctan -e xecjk
  2. * Creating ebuild for g-ctan/xecjk ...

  3. sed: can't read : No such file or directory
  4. >>> Creating Manifest for /var/lib/g-ctan/g-ctan/xecjk

  5. * Installing g-ctan/xecjk-23994 ...

  6. These are the packages that would be merged, in order:

  7. Calculating dependencies... done!
  8. [ebuild  N     ] g-ctan/xecjk-23994  USE="-doc -source" 0 kB [1]

  9. Total: 1 package (1 new), Size of downloads: 0 kB
  10. Portage tree and overlays:
  11. [0] /usr/portage
  12. [1] /var/lib/g-ctan

  13. Would you like to merge these packages? [Yes/No] y
复制代码
成功!

现在发现一个问题,g-ctan只能更新已经安装的宏包。比如,我现在要安装一个新的cprotect宏包,结果悲剧了
g-ctan -e cprotect
不成功
发表于 2012-1-20 19:40:26 | 显示全部楼层
g-ctan 用起来就是个包管理器?
前几天试着装装texlive,感觉它吧linux发行版的什么打包更新依赖全都干了~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-20 22:05:09 | 显示全部楼层
楼上兄弟,你的问题我也不清楚,抱歉!

对自己的问题,自己弄了一个应急的方法:

第一步:在root用户下,
  1. cd /var/cache/g-ctan
  2. grep -C 1 "^category Package" texlive.tlpdb | awk '{print $2}' | sed -e "s/Package//" -e '/^[ ]*$/d' > package.names
  3. #生成自己的package.names
  4. cd /usr/bin
复制代码
第二步:编辑g-ctan文件(这是脚本文件)
  1. create_ebuild() {
  2.     check_availability
  3.     if [[ "$?" == "30" ]]
  4.     then
  5.         failure "${PN} is not known to me.  Either get a new package database or correct the package name.  This error can happen for valid package names if there has been no upda$
  6.         exit 30
  7.     fi
  8.     message "Creating ebuild for g-ctan/${PN} ..."
  9.     set_up
  10.     fetch_package
  11.     # check_version #屏蔽这句话
  12.     G_SRC_URI="${CTANURL}/archive/${PN}.tar.xz -> ${PN}-${PV}.tar.xz"
  13.     add_USE_flags
  14.     prepare_ebuild
  15. }
复制代码
第三步:然后执行
  1. g-ctan -e cprotect
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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