나는 luajit
Debian sid에서 소스 코드 패키지를 가져왔습니다. apt source luajit
동일한 명령을 사용하여 패키지의 압축을 풀 때 다음 메시지를 보았습니다.
dpkg-source: info: applying 0002-Enable-debugging-symbols-in-the-build.patch
패치가 자동으로 적용되도록 요청하는 것은 아니지만 이 패치의 기능을 검토한 후 되돌리고 싶습니다.
소스 패키지의 압축이 풀린 디렉터리에서 명령 what-patch
응답은 입니다 quilt
. 먼저 이 작업을 수행한 이후 sid에서 quilt(v0.66)를 설치한 후 cd ./debian/patches
다음을 수행해 보았습니다.
quilt diff -P ./0002-Enable-debugging-symbols-in-the-build.patch
그러나 업스트림 코드에서 패치가 수행해야 하는 작업에 대해 더 명확하게 이해한 Quilt는 다음과 같이 이상하게 반응했습니다.
Patch ./0002-Enable-debugging-symbols-in-the-build.patch is not in series
./series
그래서 파일 을 살펴보니 cat ./series
다음 줄이 명확하게 표시되었습니다.
0002-Enable-debugging-symbols-in-the-build.patch
언급된 다른 패치는 7개입니다(이전 1개, 이후 6개). 그렇다면 무엇이 빠졌나요? 나는 가서 man quilt
명령을 읽었 diff
으며 다음과 같이 말했습니다.
지정된 패치의 최상위 또는 지정된 파일에 대한 차이점을 생성합니다. 파일을 지정하지 않으면 수정된 모든 파일이 포함됩니다.
그리고 이 -P
스위치는 다음을 수행할 수 있습니다.
지정된 패치에 대한 차이점을 만듭니다. (기본값은 상단 패치입니다.)
나는 이전에 이런 일을 해본 적이 없고 맨페이지 + 데비안 위키의 튜토리얼에서 이보다 조금 더 나아갔기 때문에 퀼트에 어떤 문제가 있는지 알 수 없는 것 같습니다.
답변1
명령 끝에 quilt diff
's 와 the가 약간 혼동된 것으로 나타났습니다 . -P
분명히 패치 파일 이름 앞의 접두사는 사용 시 퀼트의 해상도를 깨뜨리거나 단순히 필요하지 않습니다. 따라서 올바른 구문은 다음과 같습니다.[file ...]
quilt diff
./
./series
-P
-P
./
quilt diff -P ./0002-Enable-debugging-symbols-in-the-build.patch
예:
quilt diff -P 0002-Enable-debugging-symbols-in-the-build.patch
이제 예상되는 차이가 표시됩니다.