`
agile_boy
  • 浏览: 556793 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

emerge 小计

阅读更多
   emerge和ebuild是Gentoo的包管理核心,其中emerge是ebuild的更高层次的应用。
   多数情况下,一般是不需要自己打patch,可是有时候,当前版本系统确实有bug,或者想在本地版本中,给软件增加一些小功能,在这样的情况下,是不得不自己来处理一下了。在Gentoo中,这称之为:Local Portage Overlay
  
  1. 在/etc/make.conf增加
    引用
    PORTDIR_OVERLAY="/usr/local/portage"
  2. 在/usr/local/portage创建跟原来软件相同的分类和名字,比如
    引用
    mkdir -p /usr/local/portage/x11-drivers/nvidia-drivers
  3. 获取ebuild文件,比如从/usr/portage中获取
  4. 修改ebuild文件,参考Ebuild Writing
  5. 执行digest
    引用
    ebuild nvidia-drivers-100.14.11.ebuild digest
  6. emerge nvidia-drivers,或者指定特定版本:emerge =nvidia-drivers-100.14.11

  以上是自己定制emerge的基本步骤。我碰到的其他问题,在此也简单罗列一下:
  • 关于自动打patch的问题,比如打算在src_prepare过程中执行epatch,那么需要EAPI=2
  • 关于patch文件的生成,可以用diff -u oldfile newfile来生成,很方便
  • [2010-7-18 updated]被关键字屏蔽(masked)的处理,在/etc/portage/package.keywords增加相应的package就好了,比如
    引用
    echo "dev-db/mongodb" >>/etc/portage/package.keywords
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics