여러 디렉토리에 많은 파일이 있으며 APK 패키지를 만들어 개인 저장소에 게시하고 싶습니다. 들어 dpkg-deb
+ apt-ftparchive
데비안 / 우분투 나에 대한 rpmbuild
+ createrepo
RHEL / 페도라, 이러한 작업은 케이크 한 조각이다. 그러나와 함께 abuild
진행하는 방법을 모릅니다.
Abuild는 모든 소스를 업스트림에서 다운로드하고 로컬로 빌드하며 다양한 바이너리 스트리핑, 서브 패키징을위한 경로 기반 컨텐츠 평가 및 기타 다양한 자동 작업을 포함하여 가짜 루트로 패키지해야합니다. . 또한 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
이것은 내가 기대하는 것을 다소 생성하지만, 접근 방식은 너무 많은 수준에서 잘못되어 더 나은 방법이 있어야합니다.
소스 파일에 대한 변경 (스트리핑, 심볼릭 링크 수정)없이 git없이 기존 파일 세트에서 APK 패키지를 어떻게 만들 수 있습니까?