rebuild-debian-csv: Do proper sorting

This commit is contained in:
Johan Gunnarsson 2023-07-27 13:53:35 +02:00
parent 559316ff5d
commit bb0e3b9d3a
3 changed files with 13 additions and 5 deletions

View File

@ -1,6 +1,4 @@
OS,Dist,Arch,Name,Exp
debian,experimental,armhf,"Debian experimental (""rc-buggy"")",True
debian,experimental,arm64,"Debian experimental (""rc-buggy"")",True
debian,bullseye,armhf,"Debian oldstable/11.7 (""bullseye"")",False
debian,bullseye,arm64,"Debian oldstable/11.7 (""bullseye"")",False
debian,bookworm,armhf,"Debian stable/12.1 (""bookworm"")",False
@ -9,6 +7,8 @@ debian,trixie,armhf,"Debian testing (""trixie"")",False
debian,trixie,arm64,"Debian testing (""trixie"")",False
debian,sid,armhf,"Debian unstable (""sid"")",False
debian,sid,arm64,"Debian unstable (""sid"")",False
debian,experimental,armhf,"Debian experimental (""rc-buggy"")",True
debian,experimental,arm64,"Debian experimental (""rc-buggy"")",True
ubuntu,focal,armhf,"Ubuntu 20.04 LTS (""focal"")",False
ubuntu,focal,arm64,"Ubuntu 20.04 LTS (""focal"")",False
ubuntu,jammy,armhf,"Ubuntu 22.04 LTS (""jammy"")",False

1 OS Dist Arch Name Exp
debian experimental armhf Debian experimental ("rc-buggy") True
debian experimental arm64 Debian experimental ("rc-buggy") True
2 debian bullseye armhf Debian oldstable/11.7 ("bullseye") False
3 debian bullseye arm64 Debian oldstable/11.7 ("bullseye") False
4 debian bookworm armhf Debian stable/12.1 ("bookworm") False
7 debian trixie arm64 Debian testing ("trixie") False
8 debian sid armhf Debian unstable ("sid") False
9 debian sid arm64 Debian unstable ("sid") False
10 debian experimental armhf Debian experimental ("rc-buggy") True
11 debian experimental arm64 Debian experimental ("rc-buggy") True
12 ubuntu focal armhf Ubuntu 20.04 LTS ("focal") False
13 ubuntu focal arm64 Ubuntu 20.04 LTS ("focal") False
14 ubuntu jammy armhf Ubuntu 22.04 LTS ("jammy") False

View File

@ -1,6 +1,4 @@
OS,Dist,Arch,Name,Exp
debian,experimental,i386,"Debian experimental (""rc-buggy"")",True
debian,experimental,amd64,"Debian experimental (""rc-buggy"")",True
debian,bullseye,i386,"Debian oldstable/11.7 (""bullseye"")",False
debian,bullseye,amd64,"Debian oldstable/11.7 (""bullseye"")",False
debian,bookworm,i386,"Debian stable/12.1 (""bookworm"")",False
@ -9,6 +7,8 @@ debian,trixie,i386,"Debian testing (""trixie"")",False
debian,trixie,amd64,"Debian testing (""trixie"")",False
debian,sid,i386,"Debian unstable (""sid"")",False
debian,sid,amd64,"Debian unstable (""sid"")",False
debian,experimental,i386,"Debian experimental (""rc-buggy"")",True
debian,experimental,amd64,"Debian experimental (""rc-buggy"")",True
ubuntu,focal,i386,"Ubuntu 20.04 LTS (""focal"")",False
ubuntu,focal,amd64,"Ubuntu 20.04 LTS (""focal"")",False
ubuntu,jammy,i386,"Ubuntu 22.04 LTS (""jammy"")",False

1 OS Dist Arch Name Exp
debian experimental i386 Debian experimental ("rc-buggy") True
debian experimental amd64 Debian experimental ("rc-buggy") True
2 debian bullseye i386 Debian oldstable/11.7 ("bullseye") False
3 debian bullseye amd64 Debian oldstable/11.7 ("bullseye") False
4 debian bookworm i386 Debian stable/12.1 ("bookworm") False
7 debian trixie amd64 Debian testing ("trixie") False
8 debian sid i386 Debian unstable ("sid") False
9 debian sid amd64 Debian unstable ("sid") False
10 debian experimental i386 Debian experimental ("rc-buggy") True
11 debian experimental amd64 Debian experimental ("rc-buggy") True
12 ubuntu focal i386 Ubuntu 20.04 LTS ("focal") False
13 ubuntu focal amd64 Ubuntu 20.04 LTS ("focal") False
14 ubuntu jammy i386 Ubuntu 22.04 LTS ("jammy") False

View File

@ -32,6 +32,14 @@ class Release:
self.codename = params.get("Codename")
self.architectures = params.get("Architectures", "").split(" ")
SUITE_TO_VERSION = {
"testing": "96",
"unstable": "97",
"experimental": "98",
}
self.sortkey = self.label + \
(self.version or SUITE_TO_VERSION.get(self.suite, "99"))
def __repr__(self):
name = self.label
if self.version and self.suite and self.suite != self.codename:
@ -51,7 +59,7 @@ class Release:
return repr(self) == repr(other)
def __lt__(self, other):
return repr(self) < repr(other)
return self.sortkey < other.sortkey
def __hash__(self):
return hash(repr(self))