Создать пакет APK из существующих файлов


3

У меня есть несколько файлов в нескольких каталогах, и я хотел бы создать из них пакет APK и опубликовать его в частном репозитории. Для dpkg-deb+ apt-ftparchiveна Debian / Ubuntu или для rpmbuild+ createrepoна RHEL / Fedora такая задача является легкой задачей. Но abuildя не знаю, как поступить.

Похоже, что Abuild требует, чтобы все исходники загружались из апстрима, создавались локально, упаковывались в fakeroot, включая различные двоичные разборы, оценку содержимого для подпакета на основе пути и различные другие автоматические задачи, которые, безусловно, потрясающие, но совершенно ненужные для моего варианта использования. , Более того, abuild также требует, чтобы сами файлы APKBUILD хранились в репозитории git.

Я прочитал статьи на Alpine Wiki RG. упаковка и ссылка на APKBUILD, и я также покопался в https://git.alpinelinux.org/cgit/abuild/tree/abuild.in , пытаясь выяснить, что именно происходит, когда пакет собирается, и я придумал следующие шаги:

# 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

Это производит более или менее то, что я ожидаю, но подход неверен на многих уровнях, поэтому должен быть какой-то лучший способ.

Как я могу создать пакет APK из существующего набора файлов без каких-либо изменений (зачистки, исправления символических ссылок), внесенных в исходные файлы, и желательно также без git?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.