LinuxSir.cn,穿越时空的Linuxsir!

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

内核相关软件的自行编译以及注入中的问题

[复制链接]
发表于 2011-8-15 07:52:44 | 显示全部楼层 |阅读模式
1、想安装dazuko,发现与内核版本相关,
目前只支持2.6.36,但机器上的内核已是3.0.1。
能不能不管内核版本直接编译安装?

2、自行(编译)安装的软件注入的时候,在portage中的分支怎么写?
是随意的吗?还会有一定的要求?
发表于 2011-8-15 08:23:32 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-8-15 08:32:45 | 显示全部楼层

  • 由于想尝试小红伞(avira),但是,有些模块需要dazuko,
    诚如兄台所言,avira不能用了。

  • 就是要make install软件,好像portage的文档中提到了package.provide的用法,
    不知道怎么用?

    至于local-overlay,倒是在机器里做了一些设置,可是自己几乎没有修改过ebuild(比较懒,很少自己给ebuild打补丁)。
回复 支持 反对

使用道具 举报

发表于 2011-8-15 11:56:15 | 显示全部楼层
Post by easior lars;2146687

就是要make install软件,好像portage的文档中提到了package.provide的用法,
不知道怎么用?

至于local-overlay,倒是在机器里做了一些设置,可是自己几乎没有修改过ebuild(比较懒,很少自己给ebuild打补丁)。


用root身份make install后将“包名-版本号”加入/etc/portage/profile/package.provided中,例如手动make install gcc 4.6.2后:
  1. sys-devel/gcc-4.6.2
复制代码


不过这样的缺陷是删除很麻烦,后患无穷啊...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-8-15 12:03:51 | 显示全部楼层
Post by RichardGv;2146703
用root身份make install后将“包名-版本号”加入/etc/portage/profile/package.provided中,例如手动make install gcc 4.6.2后:
  1. sys-devel/gcc-4.6.2
复制代码


不过这样的缺陷是删除很麻烦,后患无穷啊...


疑问是怎么才能知道一个包到底属于哪个类别,
例如gcc是怎么先验地划归sys-devel?

make install的包删除不是可以用make uninstall嘛,
为什么说后患无穷?
回复 支持 反对

使用道具 举报

发表于 2011-8-15 13:51:31 | 显示全部楼层
Post by easior lars;2146704
疑问是怎么才能知道一个包到底属于哪个类别,
例如gcc是怎么先验地划归sys-devel?

make install的包删除不是可以用make uninstall嘛,
为什么说后患无穷?

gcc归于sys-devel是因为Portage tree的maintainers认为gcc应该归于这类...(其实Portage tree中有些包的归类是相当诡异的,例如python为什么不在dev-python/而在dev-lang/中呢...)Portage tree外的一个包,可能在不同的overlay中分类不同。总之,如果Portage tree中有相同的包,按照Portage tree的分类为好,否则可参考GPO中他人overlay中同名包的分类,或自己根据分类的英文原意自选。

呃,其实如果您需要的包不在Portage tree中,一般就不会有其他包对该包产生依赖,不加入package.provided也无伤大雅。

有些软件提供了make uninstall的规则,有些没有提供,小心驶得万年船啊....

而且其实一般的ebuild也相当好写,核心只有一行emake而已... http://devmanual.gentoo.org/quickstart/index.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-8-16 10:07:01 | 显示全部楼层
Post by RichardGv;2146718

其实一般的ebuild也相当好写,核心只有一行emake而已... http://devmanual.gentoo.org/quickstart/index.html



假如说一个包直接发布的是二进制版,能用ebuild吗?
感觉econf、emake很神奇,
./configure的一堆配置选项不知道怎么选的?
回复 支持 反对

使用道具 举报

发表于 2011-8-16 14:24:54 | 显示全部楼层
Post by easior lars;2146756
假如说一个包直接发布的是二进制版,能用ebuild吗?
感觉econf、emake很神奇,
./configure的一堆配置选项不知道怎么选的?


一般如果:
  1. ./configure --OPTS --enable-USE1 --with-USE2
复制代码
的话就弄个:
  1. econf --OPTS $(use_enable USE1) $(use_with USE2)
复制代码

在 src_configure() {}里。

很主观直接。

如果只是需要:
  1. ./configure
  2. make
  3. make install
复制代码

的基本上填些基本资料就好了。
回复 支持 反对

使用道具 举报

发表于 2011-8-16 17:37:47 | 显示全部楼层
Post by easior lars;2146756
假如说一个包直接发布的是二进制版,能用ebuild吗?

当然支持,否则adobe-flash、opera、sun-jdk、libreoffice-bin以及media-fonts/下诸君均要欲哭无泪了。

Portage支持tarball、deb、rpm、zip等诸般包格式的解开(当然,由于ebuild本身是bash script,理论上可以支持任何包格式的解开),而且默认的src_unpack足以解开很多软件包,具体方法可参见:
http://devmanual.gentoo.org/ebui ... c_unpack/index.html
回复 支持 反对

使用道具 举报

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

本版积分规则

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