In einer früheren Frage habe ich gefragt, wie man PKGBUILD
ein Binärpaket schreibt , um es zu installieren .deb
. Die Lösung bestand darin, den Inhalt von zu extrahieren .deb
und die Daten in das Archlinux - Paket fakeroot, zu kopieren "${pkgdir}/"
.
Das heißt, wenn die .deb
Datei ein data.tar.gz
mit den in einem usr/lib
Verzeichnis gespeicherten Binärdateien enthält , ist der Installationsprozess für dieses Paket (In the PKGBUILD
):
package()
{
cd $srcdir
tar -xvzf data.tar.gz
install -dm755 "${pkgdir}/usr/lib"
cp -r -f "${srcdir}/usr/lib" "${pkgdir}/"
}
Wenn ich das mache, wird das Paket erfolgreich installiert, aber ich kann die Binärdateien nicht öffnen (geschrieben in Python). Wenn ich eine auf diese Weise installierte Binärdatei ausführe, wird der folgende Fehler zurückgegeben:
Selbst [Pfad zur ausführbaren Datei] oder Datei [Pfad zur ausführbaren Datei] .pkg kann nicht geöffnet werden
Wenn ich dagegen PKGBUILD
falsch schreibe , werden die Binärdateien während der folgenden Vorgänge direkt in das Systemstammverzeichnis kopiert package()
:
cp -r -f "${srcdir}/usr/lib "/"
Die Programme funktionieren einwandfrei.
Fehlt mir etwas?
Hier ist das Paket.