いくつかのパッケージがあります。それらA.deb
をB.deb
と呼びましょうC.deb
。各パッケージには、対応するソースパッケージA.dsc
とA.tar.gz
、B.dsc
およびB.tar.gz
、C.dsc
およびがありC.tar.gz
ます。パッケージは互いに依存します:C.deb
依存しB.deb
、B.deb
依存しますA.deb
を変更した場合A.deb
、再構築する必要がありB.deb
ます。そうしないと機能しません。同じことがのために行くB.deb
とC.deb
。このプロセスを自動化する方法はありますか?多分私のためにそれをするツールまたはスクリプトはありますか?そうでない場合、どうすれば自分で自動化できますか?
また、私のパッケージはありません。
2
「C.debはB.debに依存し、B.debはA.debに依存する」と言っているので、バイナリパッケージを参照していると思いますか?また、Aの外部ライブラリに対するBのコンパイルを参照していますか?もしそうなら、Aの開発者がそのようなライブラリのインターフェースを変更しなかったことを考えると、パッケージを再構築する必要はないはずです(したがって、これはBのマンテナーではなく、Aのマンテナーに任されています。 ;あなたがそれらすべての開発者である場合は、単にそのインターフェースからA不可知論の実装を可能な限り維持するだけで、互換性が最大限に保証されます)。
—
kos
Linuxではこのレベルでの作業はしていませんが、それ
—
Joe
make
が発明された理由だと思います。makefileには、何が変更されたかに基づいて、何を再コンパイルまたは再構築する必要があるかを決定するルールが含まれています。
@xiaodongjie-あなたは親愛なる質問を持つ親愛なる人物です-あなたはすでにbashとbashスクリプトを知っていますか?--->このようにして、switch-caseループを含む小さなスクリプトを記述し、エレベータービルドのように、パッケージについて何をするかをさまざまなケースに組み込むことができます。私のスクリプトはありません。あなたは私たちのように頭がいいです-笑ってください。-もちろん、このスクリプトはデーモンのように設定できます(自動的に動作します)。
—
dschinn1001 2015
@Joeが言った:を使用し
—
RalphRönnquist15年
make
、あなたが言ったように、@ xiaodongjie、makeターゲットは、パッケージ間の依存関係が宣言された結果のパッケージであり、各ターゲットに関連付けられているアクションは、パッケージを作成するコマンドです。 。インストールmake-doc
して入力info make
し、すべてについて読んでください。
ビルドプロセスのエイリアスの作成についてはどうですか?
—
Wilhelm Erasmus