로컬 사용자 정의 패키지에 대한 Debian 패키지의 버전 번호

로컬 사용자 정의 패키지에 대한 Debian 패키지의 버전 번호

특정 Go 프로그램을 빌드하고 패키징하고 싶습니다. Ubuntu 18.04와 Debian 9.5(실제로 PVE 5.2)에서 제공되는 해당 프로그램의 패키지 버전은 업스트림에서 얻은 버전에 비해 상당히 오래되었습니다.

내 빌드에 대한 종속성을 올바르게 가져오는 것은 문제가 아니었고 데비안 패키지를 빌드하는 것도 문제가 아니었습니다(거기서 수행했습니다).

내가 알아야 할 것은 내 패키지에 버전을 할당하는 방법입니다. 이 버전은 다른 사람에게 릴리스되지 않습니다.~해야 한다패키지 관리자가 내 패키지보다 최신 버전을 출시하면 해당 패키지가 설치되고 내 패키지가 교체됩니다(이러한 경우 중 하나가 Ubuntu의 패키지일 수 있음 do-release-upgrade).

빌드 비교( )를 중단하지 않고 이런 방식으로 패키지에 "태그"를 지정할 수 있는 방법이 있나요 dpkg --compare-versions?

백포트는 일반적으로 패키지 이름(또는 버전입니까?)에 포함된다는 것을 알고 있지만 bpo이러한 "태그"의 전체 목록을 찾기가 어렵기 때문에 이를 달성하고 충돌을 피할 수 있는 방법이 이미 있을 것이라고 생각했습니다. 따라서 주요 목표는 얻을 수 있는 최신 버전을 얻으면서 규칙을 고수하는 것입니다.

답변1

새로운 업스트림 버전을 패키징하고 있으므로 다음 형식의 버전을 권장합니다.

1.0-0~c0000022l+1

1.0은 업스트림 버전입니다. 여기서의 아이디어는 다음과 같습니다.

  • 0은 공식 Debian 패키지보다 낮은 버전입니다. 예를 들어 Debian보다 최신 업스트림 버전을 제공하는 Ubuntu 패키지에 사용됩니다( 0ubuntu여기서 볼 수 있음).
  • ~ 어쨌든 버전이 -0 개정판보다 낮은지 확인합니다(참조데비안 정책더 알아보기);
  • c0000022l은 개정판을 자신의 개정판으로 표시하는 데 사용되는 특정 접미사입니다( bpo백포트, deb데비안 안정 업데이트와 유사...).
  • 향후 업데이트를 위한 포장 공간을 제공해주셔서 +1해 주세요.

이후에 패키징 수정 사항만 포함된 업데이트 패키지를 제공해야 하는 경우 +1을 받게 됩니다. 최신 업스트림 버전을 패키징하는 경우 업스트림 버전을 적절하게 올리고 +1부터 다시 시작할 수 있습니다.

동일한 업스트림 또는 최신 업스트림이 "공식적으로" 패키지되면 로컬 버전에 대한 유효한 업그레이드 후보가 됩니다. Ubuntu 패키지인 경우 1.0-0ubuntu...는 1.0-0~ 다음에 정렬됩니다. Debian 패키지이므로 1.0-1은 1.0-0 다음으로 순위가 매겨집니다.

관련 정보