Erstellen Sie ein APK-Paket aus vorhandenen Dateien

466
Disassembler

Ich habe eine Reihe von Dateien in mehreren Verzeichnissen und möchte daraus ein APK-Paket erstellen und in einem privaten Repository veröffentlichen. Für dpkg-deb+ apt-ftparchiveunter Debian / Ubuntu oder für rpmbuild+ createrepounter RHEL / Fedora ist diese Aufgabe ein Kinderspiel. Aber abuildich habe keine Ahnung, wie ich vorgehen soll.

Abuild scheint zu verlangen, dass alle Quellen von Upstream heruntergeladen, lokal erstellt und in einem Fakeroot-Paket verpackt werden, einschließlich verschiedener binärer Stripping-Methoden, pfadbasierter Schätzung des Inhalts für Unterpakete und verschiedener anderer automatischer Aufgaben, die definitiv großartig sind, aber für meinen Anwendungsfall völlig unnötig sind . Darüber hinaus scheint es bei uuild auch erforderlich zu sein, dass die APKBUILD-Dateien selbst in einem git-Repository gespeichert werden.

Ich habe die Artikel auf Alpine Wiki rg gelesen. Verpackung und APKBUILD-Referenz und ich habe auch in https://git.alpinelinux.org/cgit/abuild/tree/abuild.in herumgesucht und versucht herauszufinden, was genau passiert, wenn ein Paket erstellt wird und ich dazu kam die folgenden schritte:

# Create mock git repo to satisfy prepare_metafiles when it asks about commit hash cd /my-build-root git init  git add APKBUILD  git commit -m "mock repo"  # bindmount the directories into $pkgdir so it looks like they were built locally mkdir /my-build-root/pkgname/pkg/pkgname mount --bind /real-location-of-my-files /my-build-root/pkgname/pkg/pkgname  # Run the minimum needed abuild functions abuild prepare_metafiles create_apks index 

Dies führt mehr oder weniger zu dem, was ich erwarte, aber der Ansatz ist auf so vielen Ebenen falsch, dass es einen besseren Weg geben muss.

Wie kann ich ein APK-Paket aus einem vorhandenen Dateisatz erstellen, ohne dass Änderungen (Entfernen, Symlink-Fixierung) an den Quelldateien vorgenommen werden und vorzugsweise auch ohne Git?

1

0 Antworten auf die Frage