![Ubuntu Snap-Plugin „Autotools“ – Standardmäßig wird „make install“ beim Erstellen mit Snapcraft übersprungen](https://rvso.com/image/1000926/Ubuntu%20Snap-Plugin%20%E2%80%9EAutotools%E2%80%9C%20%E2%80%93%20Standardm%C3%A4%C3%9Fig%20wird%20%E2%80%9Emake%20install%E2%80%9C%20beim%20Erstellen%20mit%20Snapcraft%20%C3%BCbersprungen.png)
Ich erstelle ein Snap-Paket für mein Projekt. Ich habe eine Bibliothek, die ich nur kompilieren möchte. Also nur /configure && make, nicht: /configure && make && make install
Als ich in Ubuntu Snap nach der Dokumentation dazu gesucht habe, fand ich:https://snapcraft.io/docs/reference/plugins/autotools
Auch hier gesucht:https://github.com/search?o=desc&q=filename%3Asnapcraft.yaml+%22plugin%3A+autotools%22+&s=indexed&type=Code&utf8=%E2%9C%93
Aber ich konnte nichts finden, um den Make-Install-Teil zu überspringen. Kann mir jemand sagen, wie das geht? Eine schmutzige Methode wäre, nach dem Make-Install ein Shell-Skript hinzuzufügen, um die von Make-Install generierten Dateien rekursiv zu löschen und dann mit der Kompilierung des Anwendungscodes fortzufahren. Aber ich denke, es sollte einen einfachen Weg geben, dies auf einfache Weise zu tun. Lassen Sie mich also bitte wissen, ob es eine Möglichkeit gibt, dieses Make-Install zu überspringen, wenn ich Snapcraft ausführe, um das Snap-Paket zu erstellen.
Antwort1
Sie können das, was in der Installationsphase gemacht wird, mit einer install:
Strophe überschreiben, die Sie leer lassen können, oder so, dass nichts als eine leere Zeile ausgegeben wird, die anzeigt, dass Sie das überspringen. Alternativ, wenn das Makefile hatNEINinstall-Strophe, dann können Sie die install-Strophe verwenden, um alles zu tun, was erforderlich ist, z. B.
parts:
foo:
source: .
plugin: autotools
install: |
cp -a somebinary $SNAPCRAFT_PART_INSTALL/bin
cp -a somesupportfiles $SNAPCRAFT_PART_INSTALL/foo
cp
Für die Installation wird einfach der Shell-Befehl verwendet .