저는 간단한 데비안 패키지를 만들려고 했고, 루트 사용자로 다음 단계를 수행했습니다:
먼저 업스트림 tarball을 다운로드한 후 다음을 수행했습니다.
$ mv hithere-1.0.tar.gz hithere_1.0.orig.tar.gz
그 다음에:
$ tar xf hithere_1.0.orig.tar.gz
이후:
$ cd hithere-1.0
$ dch --create -v 1.0-1 --package hithere
$ cd debian/
$ rm *.ex *.EX
그런 다음 "제어 파일"과 "저작권 파일"을 편집했습니다.
$ nano control
$ nano copyright
$ cd ..
$ debuild -S
마지막 명령 후에 다음 오류가 생성되었습니다.
root@mehrnaz-MS-A934:/home/fabdollahei/hithere-1.0# debuild -S dpkg-buildpackage -rfakeroot -d -us -uc -S
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package hithere
dpkg-buildpackage: source version 1.0-1
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by root <[email protected]>
dpkg-source --before-build hithere-1.0
dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15: block lacks the 'Package' field
dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255
dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15: block lacks the 'Package' field
dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -d -us -uc -S failed
그 치명적인 오류를 어떻게 제거합니까?
답변1
메시지에는 dpkg-buildpackage
명령이 실패했다는 메시지만 표시됩니다. 메시지를 읽으면 문제가 있는 부분을 즉시 알 수 있습니다.
dpkg-source: error: syntax error in hithere-1.0/debian/control at line 15:
block lacks the 'Package' field
dpkg-buildpackage: error: dpkg-source --before-build hithere-1.0 gave error exit status 255
해당 문제를 해결하면(나중에 나타날 수 있는 다른 문제도 있을 수 있음) 제대로 작동할 것입니다.
답변2
dpkg-buildpackage -rfakeroot -d -uc -us -S failed
수단;
dpkg-buildpackage
실행된 명령의 이름입니다. dpkg-buildpackage는 데비안 패키지 또는 '.debs'를 빌드하기 위한 도구입니다.-rfakeroot
명령의 첫 번째 인수이며 dpkg-buildpackage에 루트 권한이 있는 것처럼 작동하도록 dpkg-buildpackage에 지시합니다. 매뉴얼 페이지에서; "dpkg-buildpackage가 빌드 프로세스의 일부를 루트로 실행해야 하는 경우 실행하는 명령 앞에 "(이 경우에는 fakeroot)를 붙입니다. (사용하지 마십시오su
).- 플래그
-d
는 "빌드 종속성 및 충돌을 확인하지 않음"을 의미합니다. -uc
-us
변경 사항 파일이나 소스 코드에 각각 서명하지 않는다는 뜻입니다 .-S
소스 패키지를 빌드한다는 의미입니다. 데비안 패키지는 두 가지 유형으로 제공됩니다. 바이너리와 소스. 바이너리는 소스 패키지에서 빌드됩니다.- "실패"는 명령이 실패했음을 의미하지만 이미 알고 계셨던 것 같습니다. :-)