이 패치를 적용하는 방법

이 패치를 적용하는 방법

일부 시스템에서 발생하는 세그먼트 오류를 ​​수정하는 perl 모듈 net::ssh2에 대한 패치 수정 사항이 있습니다.

위치는 다음과 같습니다: https://rt.cpan.org/Public/Bug/Display.html?id=36614

패치를 다운받았는데 어떻게 적용하는지 모르겠습니다. 이전에 설치한 모듈을 제거하고 빌드 폴더로 이동하여 실행했습니다.

패치 ssh2.xs < p1

패치가 반전되었는지 물었습니다. 잘 모르겠어서 "예"를 눌렀습니다. IT는 패치가 성공적이었다고 말했고 그다음에는 정상이라고 말했습니다. 모듈을 설치합니다. 패치가 작동하지 않는 것 같거나 패치된 버전을 올바르게 옮기고 있습니다. 여전히 세그폴트가 발생하고 모두가 이것이 문제를 해결한다고 말하기 때문에 이런 느낌이 듭니다.

답변1

올바른 패치 호출은 다음과 같습니다.

patch -p1 < net-ssh2-0.18-perl5.10.patch

SSH2.xs 파일과 동일한 디렉터리에서 이 작업을 수행했습니다.

답변2

Gnu 패치 매뉴얼 페이지에서 직접 발췌:

   -p<num>  or  --strip=num
      Strip the smallest prefix containing num leading slashes from each file name found in the patch file.  A sequence of  one  or  more  adjacent
      slashes  is  counted  as  a single slash.  This controls how file names found in the patch file are treated, in case you keep your files in a
      different directory than the person who sent out the patch.  For example, supposing the file name in the patch file was

         /u/howard/src/blurfl/blurfl.c

      setting -p0 gives the entire file name unmodified, -p1 gives

         u/howard/src/blurfl/blurfl.c

      without the leading slash, -p4 gives

         blurfl/blurfl.c

      and not specifying -p at all just gives you blurfl.c.  Whatever you end up with is looked for either in the current directory, or the  direc-
      tory specified by the -d option.

관련 정보