컴파일된 패키지의 경로는 어디에 있나요?

컴파일된 패키지의 경로는 어디에 있나요?

데비안의 소스에서 컴파일된 패키지 경로는 어디에 있나요?

예를 들어:

git clone git://github.com/lightspark/lightspark.git
cd lightspark
dpkg-buildpackage
[...long output...]
dpkg-buildpackage: full upload; Debian-native package (full source is included)

그러면 패키지가 성공적으로 컴파일되는데 패키지(.deb)와 소스코드 패키지는 어디에 있나요?

답변1

생성된 바이너리와 소스 코드 패키지는 최상위 소스 디렉터리보다 한 수준 위의 디렉터리에 기록됩니다. 귀하의 경우 최상위 소스 디렉토리는 lightspark위의 디렉토리에 있습니다 lightspark. 그러나 광범위한 데비안 패키징 문서를 살펴보면 이를 쉽게 발견할 수 있습니다. 이것데비안 새 유지관리자 가이드, 예를 들어.

힌트. 소스 코드를 복사할 때 각 소스 패키지마다 별도의 디렉터리를 만들고 소스 코드를 하위 디렉터리에 배치합니다. 예를 들어

/usr/local/src/lightspark$ git clone git://github.com/lightspark/lightspark.git

생성된 Debian 패키지는 /usr/local/src/lightspark.

답변2

무언가에 대한 문서를 어디서 찾을 수 있는지 모르거나 프로세스가 어떤 파일에서 작업 중인지 알고 싶다면 Linux에서 매우 유용한 도구가 있습니다 ( straceSolaris를 사용하는 경우 truss와 동일한 방식으로 사용할 수 있음). 메시지는 stderr에 기록되며 이를 파일로 캡처할 수 있습니다.

$ strace -f dpkg-buildpackage 2> ../output

그런 다음 ../output 파일에서 다음 항목을 확인하십시오.

[pid  6545] creat("../lightspark_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3
[pid  6552] creat("../lightspark-common_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3
[pid  6559] creat("../browser-plugin-lightspark_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3
[pid  6566] creat("../lightspark-dbg_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3

생성되는 파일을 표시합니다. "공개" 통화를 찾을 수도 있습니다.

$ grep "\.deb\"" ../output | grep "open" | grep -v ENOENT
...
[pid  6591] open("../lightspark_0.7.2-0ubuntu1~ppa1_amd64.deb", O_RDONLY) = 3
...

관련 정보