별도의 빌드 환경에서 *.deb 패키지를 빌드하는 중에 오류가 발생했습니다.

별도의 빌드 환경에서 *.deb 패키지를 빌드하는 중에 오류가 발생했습니다.

chroot에 *.deb 패키지를 빌드하려고 합니다. 첫 번째 패키지인 bash를 빌드하는 동안 어려움에 부딪혔습니다. 패키지를 빌드하기 위해 debootstrap과 chroot를 사용합니다.

  • Debootstrap을 설치했습니다: sudo debootstrap stable /stable-chroothttp://deb.debian.org/debian/;

  • 필요한 패키지를 설치합니다: apt -y install wget dpkg-dev devscripts dh-make locales;

  • 로캘 설정을 구성합니다.

  • /etc/apt/source.list 구성 - deb-src 추가http://deb.debian.org/debian불스아이 메이저

  • 빌드할 소스 코드 다운로드 - apt source bash(또는 데비안 웹사이트에서 wget 사용)

  • 빌드 종속성 설치 - apt build-dep bash

  • 마지막으로 build -debuild -b (dpkg-buildpackage도 시도)

결과적으로 bash 패키지를 빌드할 때 다음 오류가 발생합니다.

mkdir -p stamps : # #327477을 참조하세요. HAVE_DEV_STDIN을 정의해야 합니다. (test -d /dev/fd && test -r /dev/stdin < /dev/null)
|| (test -d /proc/self/fd && test - r /dev/stdin < /dev/null) make: *** [debian/rules:102: before-build] 오류 1 dpkg-buildpackage: 오류: debian/rules build 하위 프로세스가 종료 상태 2를 반환했습니다.

온라인에서 찾으려고 노력했지만 성공하지 못했으며 이 오류의 성격을 스스로 이해할 만큼 지식이 부족합니다. 빌드 환경에서 뭔가를 조정해야 하거나 추가 패키지가 필요한지 알려주십시오.

답변1

bash 빌드에는 유효한 /procand 가 필요 /dev하므로 입력하기 전에 chroot에 바인드 마운트해야 합니다.

pbuildersbuild이 모든 작업을 수동으로 수행하는 것보다 스크립트 또는 스크립트와 같은 도구를 사용하여 이 모든 작업을 처리하는 것이 더 쉬울 수 있습니다 . 시작하려면 pbuilder설치하고 실행하십시오.

sudo pbuilder create

pdebuild그런 다음 대신 실행하십시오 debuild.

관련 정보