古い ebuild を削除せずに Gentoo Linux で `emerge --sync` を実行する方法は?

古い ebuild を削除せずに Gentoo Linux で `emerge --sync` を実行する方法は?

使用するとemerge --sync古い .ebuild ファイルが削除されます。古いファイルを失わずに新しい .ebuild を取得するにはどうすればよいでしょうか?

答え1

これを行う 1 つの方法は、削除関連のオプションを除いて、デフォルトの portage rsync オプションを上書きすることです。現在、私の環境では、デフォルトのオプションは/usr/lib/portage/pym/_emerge/actions.py2039 行目からハードコードされています。

「--force」と「--delete」を除けば、

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --whole-file --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

今後/etc/make.conf、ファイルやディレクトリは削除されないようにする。

編集:通常は、どれでも同期先の Portage ツリー内のこのような ebuild。

特定の ebuild を保持したい場合、典型的なシナリオは 2 つあります。

  • 保持しておきたい古い ebuild を使用しています。
  • 自分で ebuild を作成したか、どこかで ebuild を見つけて、それを同期先の Portage ツリーに追加しました。

どちらの場合も、最善の解決策はこれらの ebuild をローカル オーバーレイにコピーすることです。また、それらが依存している ebuild もコピーする必要があるかもしれません。簡単なローカル オーバーレイを作成する方法は次のとおりです。http://forums.gentoo.org/viewtopic-t-827407.html

関連情報