LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: waterloo2005

无法编译media-libs/libdc1394-1.2.2

[复制链接]
发表于 2011-4-15 09:20:37 | 显示全部楼层
Post by darrenlee;2134973
你把patch直接放到 /etc/portage/patches/分类/包-版本/***.patch
重新编译对应版本的包,patch自动会打上
这是最简单的打patch的方法

For instance,
/etc/portage/patches/kde-base/pykde4-4.5.4/pykde4-typedefs-fix.patch
学了一招。
请问overlay中有没有类似的功能?
回复 支持 反对

使用道具 举报

发表于 2011-4-15 09:55:31 | 显示全部楼层
/etc/portage/patches里的patch只有在ebuild里面有epatch_user这句时才起作用,如果没有的话patch是不会自动打上的。建议安装app-portage/portage-bashrc-ng,把patch放到配置文件中指定的位置,即可自动打上。这个即使ebuild里没有epatch_user这句,也起作用。注意这个ebuild在gechi和roslin overlay中都有的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-15 11:13:01 | 显示全部楼层
我没有/etc/portage/patches这个目录。需要mkdir吗?
回复 支持 反对

使用道具 举报

发表于 2011-4-15 13:59:08 | 显示全部楼层
不是portage自带功能的话,那参考这个也不错
http://forums.gentoo.org/viewtopic-t-339019.html
回复 支持 反对

使用道具 举报

发表于 2011-4-15 14:00:29 | 显示全部楼层
Post by pheyx;2135115
/etc/portage/patches里的patch只有在ebuild里面有epatch_user这句时才起作用,如果没有的话patch是不会自动打上的。建议安装app-portage/portage-bashrc-ng,把patch放到配置文件中指定的位置,即可自动打上。这个即使ebuild里没有epatch_user这句,也起作用。注意这个ebuild在gechi和roslin overlay中都有的。


You are right.Ebuilds do need epatch_user to apply user patch.I hate being wrong.:yun::yun::yun:

我查了一下有关portage开发文档,对于没有epatch_user 的ebuild,可以这样hook一下
以app-text/pinfo为例 ,
1.把patch放到/etc/portage/patches/app-text/pinfo-0.6.10-r2/ 里
2.建立/etc/portage/env/app-text/pinfo 文件,内容如下

  1. #!/bin/sh

  2. post_src_prepare(){
  3.          epatch_user
  4. }
复制代码
这样就可以自动patch了,不必改ebuild,:cool::cool:

btw,有关/etc/portage/env 和 patch 中的目录命名方法可参见 man portage
回复 支持 反对

使用道具 举报

发表于 2011-4-15 20:35:12 | 显示全部楼层
emerge -av1 =sys-kernel/linux-headers-2.6.36.1
回复 支持 反对

使用道具 举报

发表于 2011-4-15 21:01:09 | 显示全部楼层
学习了…………
回复 支持 反对

使用道具 举报

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

本版积分规则

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