Poudriere: ローカルに構築するのではなく、依存関係をフェッチしてみてください

作成日 2015年05月31日  ·  21コメント  ·  ソース: freebsd/poudriere

変更をコミットする前にポートをテストするにはコストがかかります。 したがって、デフォルト以外のオプションを使用して、いくつかのポートのオーバーレイを構築しています。

  • /headは動きの速いターゲットであり、 ports -uは多くの場合古いものになります
  • Tier1サポートは、 4 * 2 = 8プラットフォームの組み合わせで構成されます
  • redports.org(CI)は、1年前にダウンした後もまだ利用できません
  • リポジトリレイアウトはまだNO_ARCHNO_OSRELNO_OPSYSサポートしていません
  • 一部のポートは、構築するために多くのメモリ/時間/ディスクアクティビティを必要とする場合があります

幸い、pkg.freebsd.orgはすでにすぐに使えるパッケージを提供しています。 利用してみませんか? 警告:その時点でのローカルポートツリーとリモートスナップショットがあまり分岐していない場合にのみ役立ちます。

Performance

最も参考になるコメント

Poudriereにはまだ実装されていませんが、次のリリース後に予定されています。

全てのコメント21件

はい、これは必要な機能です。 私はそれを「パッケージシード」と呼んでいます。 pkg.freebsd.orgビルドスクリプトは実際にこれを実行するため、ビルドごとに異なるシステムでビルドできます。 それは永遠にTODOLISTに載っていますが、Poudriereにはまだ実装されていません。

また、最近、poudriereを積極的に使用してパッケージをビルドし始めました。オプションが変更されたパッケージの一部である場合は、 -f pkg-list.txtに対して同様の機能が必要であり、ローカルでビルドし、デフォルトのオプションを使用してアップストリームリポジトリをフェッチします。

これはすでにブランチに実装されていますか?テストを手伝いたいと思います。

Poudriereにはまだ実装されていませんが、次のリリース後に予定されています。

こんにちは、 @ bdreweryこのパッチのアップデートはありますか? このパッチをどのように改良できるかについてのフィードバックが本当に必要です。 ヒントをいただければ幸いです。 どうもありがとう。

申し訳ありませんが、最近とても忙しいです。 今後数週間で調べてみます。

新しい情報はありますか? ありがとう!

これは非常に優れた機能です。 3.3.99.20190311に更新しましたが、pkgシードのオプションが表示されませんでした。 この機能に関するニュースはありますか?

それまでの間、私はこれを行うためにいくつかのハックな方法を使用しています: https

さて、ビルドするにはGCC9.xとClang8.0の両方が必要なpoudriere testportを試してみてください。
私がそれをテストする必要があった最後の時間は約1日かかりました。

@bdreweryこの機能をすぐに見たいと思っていますか?

インクリメンタルビルドや分散サポートの構築を減らすなど、他の場所に焦点を当てているため、そうは思われません。

この問題の更新はありますか? 何かお手伝いできることはありますか?

別の「私も」ごめんなさい。 特別なフラグを選択したので、使用しているポートをいくつか作成するのが好きです。 Mesaらのようなもの。 ただし、特定のLLVMバージョンが必要です。まあ、私はそれを自分で構築する必要はありません。 ですから、いくつかの選択されたポートがそれらを決して構築せず、代わりにそれらをフェッチするようにpoudriereに伝えることができれば素晴らしいでしょう。

そうでなければ、私の実行は次のようになります:

[freebsd:12:x86:64-default] [2020-06-22_09h45m06s] [parallel_build:] Queued: 1616 Built: 97   Failed: 0    Skipped: 0    Ignored: 0    Tobuild: 1519  Time: 02:21:47
        [01]: devel/llvm80              | llvm80-8.0.1_3            build           (01:50:32 / 01:51:56)
        [02]: devel/llvm90              | llvm90-9.0.1_1            build           (01:50:59 / 01:52:03)
        [03]: lang/gcc9                 | gcc9-9.3.0_1              build           (01:51:28 / 01:51:54)

その無意味な解約を避けたい。 ありがとう!

@uqs聞こえます。 また、その特定の問題を解決する別の方法があると思います。それは、必要なフラグを使用して公式パッケージをビルドすることです。 変更するフラグの詳細を教えてください。

ここにもう一人の私も。 つまり、Pythonでdns / unboundポートが必要ですが、基礎となるすべての依存関係を構築する必要はありません。

+1

+1

この機能またはフックを使用して同じことを実現する方法に関するいくつかのドキュメントは素晴らしいでしょう!

797はこれをカバーします

797は統合されていますが、これを思ったほど役に立たないようにする落とし穴がたくさんあります。 たとえば、llvmや他のすべての大きなものはまだビルドされています。 おそらくそれを修正するには#822が必要になるでしょう。

このページは役に立ちましたか?
0 / 5 - 0 評価