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을 다운로드하고 처리할 수도 있지만, 관심이 있다면 살펴보도록 하겠습니다.

관련 정보