LinuxSir.cn,穿越时空的Linuxsir!

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

想写一个auctex cvs的ebuild!

[复制链接]
发表于 2012-1-13 15:04:43 | 显示全部楼层 |阅读模式
想用一下auctex的开发功能,
但没有搜到auctex cvs的ebuild,
所以想动手写一个。

粗略看了一下ebuild(5)的手册,想求高手指点一下。

1、有没有用CVS源码包的ebuild可供参考?

2、制作ebuild之前,先需要尝试 .configure /make/make install吗?

3、为了避免破坏工作系统,不装虚拟机的话,怎么做试验?
发表于 2012-1-13 18:41:51 | 显示全部楼层

  • 怎么去看man ebuild了... 应该看Gentoo Development Guide才对嘛。这里是在ebuild中使用cvs源码的详解,包括几个例子:
    http://devmanual.gentoo.org/ebui ... -sources/index.html
    (咳咳,这不是我第一次给您Gentoo Development Guide的链接吧。如果我没记错的话这是第三次了。常言道,再一再二...咳咳咳咳...)
  • Portage默认开了sandbox,禁止ebuild在临时目录之外写入,再加上collison-protect,基本上安装ebuild不会破坏系统,即便是坏掉的ebuild。(ebuild中的pkg_*函数可能不受sandbox限制而直接用root身份执行,因此须特别注意。)
  • 其实真正可能破坏系统的是直接make... 所以直接ebuild上手就好。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-13 19:27:57 | 显示全部楼层
Post by RichardGv;2158651
  • 怎么去看man ebuild了... 应该看Gentoo Development Guide才对嘛。这里是在ebuild中使用cvs源码的详解,包括几个例子:
    http://devmanual.gentoo.org/ebui ... -sources/index.html
    (咳咳,这不是我第一次给您Gentoo Development Guide的链接吧。如果我没记错的话这是第三次了。常言道,再一再二...咳咳咳咳...)


再次表示感谢。
没看网络文档,主要是想省一些上网费,
结果就是目前的网络时断时续。
所以想看本地文档。
其实ebuild(5)挺基础的,比较适合我。

话说回来,想省钱,又想出成绩,非常不靠谱!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-28 20:24:59 | 显示全部楼层
Post by RichardGv;2158651
  • 怎么去看man ebuild了... 应该看Gentoo Development Guide才对嘛。这里是在ebuild中使用cvs源码的详解,包括几个例子:
    http://devmanual.gentoo.org/ebui ... -sources/index.html
    (咳咳,这不是我第一次给您Gentoo Development Guide的链接吧。如果我没记错的话这是第三次了。常言道,再一再二...咳咳咳咳...)
  • Portage默认开了sandbox,禁止ebuild在临时目录之外写入,再加上collison-protect,基本上安装ebuild不会破坏系统,即便是坏掉的ebuild。(ebuild中的pkg_*函数可能不受sandbox限制而直接用root身份执行,因此须特别注意。)
  • 其实真正可能破坏系统的是直接make... 所以直接ebuild上手就好。


看了一些ebuild的文档很茫然,eclass的确切定义找不到,例如
inherit cvs,但是,压根不知道cvs的eclass中到底有些什么?
其次,ebuild中的好多函数的确切行为也不知道?
甚至有些ebuild的编写者根本不用ebuild中预定义的函数,
直接写了一些bash的脚本就成了。

另外,好像现在的portage中没有用cvs的源码写的ebuild实例了?
google了一下,有个帖子说只需要按照http://devmanual.gentoo.org/ebuild-w...ces/index.html,
简单替换或者修改非cvs源码的ebuild,即可实现cvs源码的ebuild。
照做了之后,发现ebuild foo.ebuild digest会报错,非法ebuild!

请指点!
回复 支持 反对

使用道具 举报

发表于 2012-1-28 22:58:22 | 显示全部楼层
几个小时总算弄出一个可以用的ebuild...  编译成功了,但能不能使用不清楚。(我是Vim的粉丝呵... Emacs是今天才装上的。)

https://gist.github.com/1694535
(唔嗯,但愿Github没被屏蔽... 附件里也是这个ebuild。)

以app-emacs/auctex-11.86-r1的ebuild为蓝本,修改了一些地方。另外,Gentoo的那个cvs ebuild文档有很多问题,简直是坑人嘛...

Gentoo官方似乎相当讨厌cvs的9999 ebuild,因此Portage tree中缺乏cvs的ebuild,不过Portage tree中也没几个9999的ebuild ...: http://www.gentoo.org/proj/en/de ... p=1#doc_chap3_sect4

eclass的详细解释可以看这里,不过我个人认为还是直接看/usr/portage/eclass/*.eclass文件更方便,毕竟只是shell script嘛:http://devmanual.gentoo.org/eclass-reference/index.html

至于那一大滩牢骚... 我想如果您仔细阅读了Gentoo Development Guide我就不会看到它们了。

关于非法ebuild的问题... 现在快11点了,我没心情过问了...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-29 15:07:25 | 显示全部楼层
Post by RichardGv;2159243
几个小时总算弄出一个可以用的ebuild...  编译成功了,但能不能使用不清楚。(我是Vim的粉丝呵... Emacs是今天才装上的。)

https://gist.github.com/1694535
(唔嗯,但愿Github没被屏蔽... 附件里也是这个ebuild。)

以app-emacs/auctex-11.86-r1的ebuild为蓝本,修改了一些地方。另外,Gentoo的那个cvs ebuild文档有很多问题,简直是坑人嘛...

Gentoo官方似乎相当讨厌cvs的9999 ebuild,因此Portage tree中缺乏cvs的ebuild,不过Portage tree中也没几个9999的ebuild ...: http://www.gentoo.org/proj/en/de ... p=1#doc_chap3_sect4

eclass的详细解释可以看这里,不过我个人认为还是直接看/usr/portage/eclass/*.eclass文件更方便,毕竟只是shell script嘛:http://devmanual.gentoo.org/eclass-reference/index.html

至于那一大滩牢骚... 我想如果您仔细阅读了Gentoo Development Guide我就不会看到它们了。

关于非法ebuild的问题... 现在快11点了,我没心情过问了...


首先,无比的感谢和敬仰!
套用经典台词:对你的敬仰犹如滔滔江水。。。

其次,本人无比地弱,至今还没法领会ebuild的编写过程,
只能慢慢学些了!可惜年事渐高,精力越来越不能集中了!

最后,好像这个ebuild还有些问题!
倘若不启用 preview-latex,则编译通过;
但是启用preview-latex,则无法编译,详见附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2012-1-29 16:57:28 | 显示全部楼层
本人也一样的弱,不会用autotools,所以前一个ebuild写错了,没有给preview模块做autoconf...

咳咳,附件是是修正过的ebuild,src_prepare用了一个很丑的写法,因为我真的不知道正确的写法... 看来要成为真正的高手,我还要苦练十年... 上个帖子中的链接也修正过了。

另外,这个ebuild依赖原来/usr/portage/app-emacs/auctex/files中的几个文件,不过这个应该不用提醒了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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