최신 버전 설치용 패키지를 만들고 싶습니다.pgn-추출. pgn-extract.tgz
아카이브를 다운로드 하고 압축을 풀었습니다. 하지만 저는 패키지 구축 개념에 대한 경험이 없기 때문에 더 이상 생각할 수 없습니다.
답변1
이 문제를 해결하는 가장 쉬운 방법("가장 쉬운" 가치에 대해)은 기존pgn-extract
패키지그것을 기본으로 사용하십시오.
현재 소스를 다운로드하세요:
wget ftp://ftp.cs.kent.ac.uk/pub/djb/pgn-extract/pgn-extract.tgz
그것을 추출하십시오 :
tar xf pgn-extract.tgz
버전 번호를 확인합니다.
grep Version pgn-extract/index.html
(“17-38”을 얻었으므로 다음 지침에서 이를 사용하겠습니다. 최신 버전이 있는 경우 “17”과 “38”을 적절하게 바꾸십시오.)
데비안 빌드 도구가 예상하는 ".orig" tarball에 tarball을 연결합니다:
ln -s pgn-extract.tgz pgn-extract_17.38.orig.tar.gz
소스 패키지를 다운로드하고 추출합니다.
apt-get source pgn-extract
기존
debian
디렉터리를 소스 디렉터리에 복사합니다pgn-extract
.cd pgn-extract cp -a ../pgn-extract-17.21/debian .
귀하의 버전에 대한 변경 로그 항목을 추가하십시오.
dch -v 17.38-0.1 "New upstream release."
새 패키지를 빌드하십시오. 여기에 오류가 발생하면 적절하게 포장을 수정하고 다시 시도하십시오.
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
이 문제를 해결하기 위해 다음과 같이 진행했습니다.
패치를 강제 적용합니다.
export QUILT_PATCHES="debian/patches" quilt push -f
거부된 항목을 확인
Makefile.rej
하고 편집기를 사용하여 수동으로 적용합니다. 현재 버전의 에서는pgn-extract
다음을 의미합니다.줄을 찾아보세요
# AIX 3.2 Users might like these alternatives
그 말 바로 위의 줄을 찾으세요
CC=gcc
그 위에서 이라는 줄을 삭제
-O3
하고\
이전 줄의 끝 부분을 로 바꾸면$(CPPFLAGS)
전체 줄이 다음과 같이 끝납니다.-I/usr/local/lib/ansi-include -std=c99 $(CPPFLAGS)
패치를 새로 고칩니다.
quilt refresh
빌드를 다시 실행하세요.
추출된 데비안 소스 패키지에서 시작하여 uscan
최신 tarball을 다운로드하고 처리하는 데 사용할 수도 있지만 관심이 있다면 조사해 보겠습니다.