안에이전 질문PKGBUILD
, 설치 바이너리 패키지 작성 방법을 묻고 있습니다 .deb
. 해결책은 내용을 추출 .deb
하고 데이터를 archlinux 패키지 fakeroot 에 복사하는 것 입니다 "${pkgdir}/"
.
즉 , 디렉터리에 저장된 바이너리를 .deb
포함하는 경우 이 패키지를 설치하는 프로세스는 다음과 같습니다 .data.tar.gz
usr/lib
PKGBUILD
package()
{
cd $srcdir
tar -xvzf data.tar.gz
install -dm755 "${pkgdir}/usr/lib"
cp -r -f "${srcdir}/usr/lib" "${pkgdir}/"
}
그런데 이렇게 하면 패키지는 성공적으로 설치되지만 바이너리 파일(파이썬으로 작성된)을 열 수 없습니다. 이런 방식으로 설치된 바이너리를 실행하면 다음 오류가 반환됩니다.
자체 [실행 파일 경로] 또는 파일 [실행 파일 경로].pkg를 열 수 없습니다.
반면에 PKGBUILD
잘못된 방식으로 작성하면, 즉 다음과 같은 과정에서 바이너리를 시스템 루트에 직접 복사합니다 package()
.
cp -r -f "${srcdir}/usr/lib "/"
이 프로그램은 매우 잘 작동합니다.
내가 놓친 것이 있나요?
여기패키지입니다.
답변1
https://github.com/pyinstaller/pyinstaller/issues/2357
귀하의 경우 이는 바이너리 제거로 인한 것일 수 있습니다(여기에 링크된 "사전 링크" 티켓 참조). 곧 pyinstaller 3.2.1에서 수정될 수 있습니다.