pgn-extract 패키지 생성

pgn-extract 패키지 생성

최신 버전 설치용 패키지를 만들고 싶습니다.pgn-추출. pgn-extract.tgz아카이브를 다운로드 하고 압축을 풀었습니다. 하지만 저는 패키지 구축 개념에 대한 경험이 없기 때문에 더 이상 생각할 수 없습니다.

답변1

이 문제를 해결하는 가장 쉬운 방법("가장 쉬운" 가치에 대해)은 기존pgn-extract패키지그것을 기본으로 사용하십시오.

  1. 현재 소스를 다운로드하세요:

    wget ftp://ftp.cs.kent.ac.uk/pub/djb/pgn-extract/pgn-extract.tgz
    
  2. 그것을 추출하십시오 :

    tar xf pgn-extract.tgz
    
  3. 버전 번호를 확인합니다.

    grep Version pgn-extract/index.html
    

    (“17-38”을 얻었으므로 다음 지침에서 이를 사용하겠습니다. 최신 버전이 있는 경우 “17”과 “38”을 적절하게 바꾸십시오.)

  4. 데비안 빌드 도구가 예상하는 ".orig" tarball에 tarball을 연결합니다:

    ln -s pgn-extract.tgz pgn-extract_17.38.orig.tar.gz
    
  5. 소스 패키지를 다운로드하고 추출합니다.

    apt-get source pgn-extract
    
  6. 기존 debian디렉터리를 소스 디렉터리에 복사합니다 pgn-extract.

    cd pgn-extract
    cp -a ../pgn-extract-17.21/debian .
    
  7. 귀하의 버전에 대한 변경 로그 항목을 추가하십시오.

    dch -v 17.38-0.1 "New upstream release."
    
  8. 새 패키지를 빌드하십시오. 여기에 오류가 발생하면 적절하게 포장을 수정하고 다시 시도하십시오.

    dpkg-buildpackage -us -uc
    

내 경우에는 makefile.patch; 이는 빌드 시작 시 코드를 패치하는 동안 오류로 나타났습니다.

dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building pgn-extract using existing ./pgn-extract_17.38.orig.tar.gz
patching file Makefile
Hunk #1 FAILED at 37.
Hunk #2 succeeded at 48 (offset 1 line).
1 out of 2 hunks FAILED
dpkg-source: info: the patch has fuzz which is not allowed, or is malformed
dpkg-source: info: if patch 'makefile.patch' is correctly applied by quilt, use 'quilt refresh' to update it
dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -E -b -B .pc/makefile.patch/ --reject-file=- < pgn-extract.orig.ltAFev/debian/patches/makefile.patch gave error exit status 1
dpkg-buildpackage: error: dpkg-source -b pgn-extract gave error exit status 2

이 문제를 해결하기 위해 다음과 같이 진행했습니다.

  1. 패치를 강제 적용합니다.

    export QUILT_PATCHES="debian/patches"
    quilt push -f
    
  2. 거부된 항목을 확인 Makefile.rej하고 편집기를 사용하여 수동으로 적용합니다. 현재 버전의 에서는 pgn-extract다음을 의미합니다.

    1. 줄을 찾아보세요# AIX 3.2 Users might like these alternatives

    2. 그 말 바로 위의 줄을 찾으세요CC=gcc

    3. 그 위에서 이라는 줄을 삭제 -O3하고 \이전 줄의 끝 부분을 로 바꾸면 $(CPPFLAGS)전체 줄이 다음과 같이 끝납니다.

             -I/usr/local/lib/ansi-include -std=c99 $(CPPFLAGS)
      
  3. 패치를 새로 고칩니다.

    quilt refresh
    
  4. 빌드를 다시 실행하세요.

추출된 데비안 소스 패키지에서 시작하여 uscan최신 tarball을 다운로드하고 처리하는 데 사용할 수도 있지만 관심이 있다면 조사해 보겠습니다.

관련 정보