使用gentoo,如何将-9999 ebuild粘贴到特定的svn修订版本?

作为django-9999 ebuild的例子,为了匹配开发者的环境,我需要从trunk中签出R12120。 由于包pipe理的原因,手动安装Django不是一个选项。 但是,1.2 beta版本中也没有ebuild portage。

所以我做了以下几点:

ESVN_OPTIONS="-r12120" emerge -1a django 

其中安装了svn所需的修订。 但是这样做很麻烦。 有没有一些方法来定义这个静态每个ebuild,例如像这样的:

 DJANGO_SVN_REV="12120" 

make.conf 。 这在我眼中会更清洁。

因为下一次我需要重新编译django,所以我需要记住:“哦,我希望这个坚持一个特定的修订”,接下来的问题将是“错误,f&!#$?%,又是什么?

去这里最好的方法是什么?

记住:

  • 没有包pipe理者的知识手动安装软件包是没有select的
  • 解决手动emergevariables前缀是没有select的
  • 设置一个/etc/portage/package.env是一种可行的方式( 如这里所描述的 ),但是对我来说这似乎是非常不受支持和不友善的,因此不可取
  • 修改make.conf将是一个方法
  • 保持ebuild覆盖将是一个选项

我并不完全反对使用package.env 。 如果你理解并在你的环境中logging它,那么在ebuild钩子上应用细微的变化,同时仍然跟踪稳定的ebuild,这是一个有用的方法。

我不认为这是一个适当的方法来修正一个-9999 ebuild虽然 – 根据“最小的原则”。 make.conf也不是修复软件包版本的显而易见的地方。

一个更清洁的方法将是与外行推出自己的ebuild。 如果你把它命名为django-1.2_pre12120那么它应该是更明显的是它在做什么,并且一旦Django 1.2被释放并在Portage中稳定,就给你一个简单的退出path。