Ubuntu snap プラグイン 'autotools' のデフォルトの 'make install' は snapcraft でビルド中にスキップされます

Ubuntu snap プラグイン 'autotools' のデフォルトの 'make install' は snapcraft でビルド中にスキップされます

私はプロジェクト用のスナップ パッケージを作成しています。コンパイルのみを行いたいライブラリがあります。つまり、/configure && make のみで、/configure && make && make install は行いません。

Ubuntu snap でドキュメントを検索したところ、次のものを見つけました:https://snapcraft.io/docs/reference/plugins/autotools

ここでも検索されました:https://github.com/search?o=desc&q=filename%3Asnapcraft.yaml+%22plugin%3A+autotools%22+&s=indexed&type=Code&utf8=%E2%9C%93

しかし、make install 部分をスキップする方法は見つかりませんでした。誰かその方法を提案してくれませんか? 汚いやり方としては、make install の後にシェル スクリプトを 1 つ追加して、make install で生成されたファイルを再帰的に削除し、アプリケーション コードのコンパイルに進むという方法があります。しかし、これをうまく行うためのハッピー パスがあるはずです。したがって、snapcraft を実行して snap パッケージをビルドするときに、この make install をスキップする方法があれば教えてください。

答え1

インストール段階で行われる処理をinstall:、空白のままにしておくことで上書きすることができます。つまり、空白行をエコーするだけで、スキップしていることを示すことができます。あるいは、Makefileにいいえインストールスタンザを使用すると、必要な操作をすべてインストールスタンザで実行できます。例:

parts:
  foo:
    source: .
    plugin: autotools
    install: |
      cp -a somebinary $SNAPCRAFT_PART_INSTALL/bin
      cp -a somesupportfiles $SNAPCRAFT_PART_INSTALL/foo

これは、シェルcpコマンドを使用してインストールを実行します。

関連情報