사양에 따라 숫자가 아닌 버전의 패키지를 빌드하기 위해 Fedora의 Copr 서비스를 사용하고 있습니다.패키징: 명명 지침.
이제 성공적으로 빌드된 두 개의 패키지가 있습니다.
종이 아이콘 테마 1.0-1.20151202git954bb77
종이 아이콘 테마 1.0-1.20151202gited30409
둘 중 첫 번째가 최신입니다.
dnf update
그런데 패키지를 만들다 보면종이 아이콘 테마-1.0-1.20151202gited30409이전 버전이 설치되어 있습니다. 만료된 캐시를 정리한 후 시도해 보았지만 결과는 동일했습니다.
내가 여기서 뭘 잘못하고 있는 걸까? 패키지 이름을 지정한 방식 때문인가요?
답변1
간단히 말해서, 그렇습니다. 패키지 이름 때문입니다.
보다 구체적으로 문제는 NVR 문자열, 즉 이름, 버전 및 릴리스와 관련이 있습니다. 정렬 알고리즘은 상당히 복잡하지만 버전-릴리스 값이 가장 높은 패키지를 찾고 해당 패키지를 최신 패키지로 간주합니다. 두 번째 패키지에 있는 패키지 릴리스 문자열의 마지막 부분이 첫 번째 패키지("ed30409">"954bb77")보다 높으므로 두 번째 패키지가 더 최신인 것으로 간주됩니다.
답변2
비교 알고리즘은 먼저 Epoch(대부분의 패키지에서 사용되지 않는 숨겨진 값)를 확인한 다음 버전, 릴리스를 확인합니다. 각각에서 문자 또는 숫자의 각 개별 부분이 개별적으로 비교됩니다. 이는 당신이 따랐던 계획이 잘 작동했다는 뜻입니다.스냅샷의 날짜가 다른 경우.
그러나 잘 읽어보면 "출시 후 패키지", 매번 "버전 번호 증가"를 증가시켜야 한다는 점에 유의하십시오.
종이 아이콘 테마-1.0-2.20151202git954bb77
종이 아이콘 테마-1.0-1.20151202gited30409
(변경된 "2"에 중점을 둡니다).
이 숫자는 1.0 이후 스냅샷을 찍을 때 계속 증가하며 버전 자체가 증가하면 다시 1로 재설정됩니다.