deb 버전은 "git tag+git commit hash"입니다. = 내 apt 저장소에서 잘못된 버전을 다운로드했습니다.

deb 버전은 "git tag+git commit hash"입니다. = 내 apt 저장소에서 잘못된 버전을 다운로드했습니다.

내가 하나 만들었어스크립트프로그램 컴파일(박스 86), 매주 데비안 패키지로 패키징되어 내 디렉토리에 업로드됩니다.적절한 저장소(github에 호스팅됨)
각 패키지 버전에 대해 git 태그( 0.2.1예:)와 git 커밋 해시( 638b341예:)를 사용하고 이를 tag+sha1( 0.2.1+638b341예:)과 같이 배치합니다. 패키징을 위한 checkinstall이 -1마지막에 추가되므로 제 예에서는 버전이 0.2.1+638b341-1.

적절한 소스에 저장소를 추가한 후 apt가 잘못된 버전을 얻습니다. "epoch" 추가, 증가 -1, 이전에 숫자 추가, 각 버전마다 증가( ) 등 몇 가지 수정 사항을 시도했습니다 1-version. 그러나 그 중 어느 것도 작동하지 않습니다(또는 실용적이지 않습니다).

버전에 뭔가를 추가해야 한다고 확신하는데 무엇을 추가해야 할지 모르겠습니다.

도움을 주시면 감사하겠습니다.

답변1

다른 모든 조건이 동일하다면 apt더 높은 버전을 선호합니다. 해시는 시간이 지나도 증가하지 않으므로 릴리스에서 해시를 사용하면 표시되는 문제가 발생할 수 있습니다.

두 가지 일반적인 솔루션이 있습니다.해시 앞에 단조롭게 증가하는 숫자를 추가합니다., 또는다시 해시 값 앞에 날짜를 추가하십시오..

후자의 접근 방식을 취하면 오늘 완료된 빌드의 경우 필요에 따라 "thehash"를 대체하는 0.2.1+20210320.thehash-1이 됩니다. 더 나은 방법은 다음과 같습니다.

git log --date=format:%Y%m%d --pretty=0.0~git%cd.%h

버전 번호 생성이 지원됩니다.uscangit 저장소의 현재 헤더를 자동으로 업데이트하는 데 사용할 수 있습니다.

관련 정보