aptly: Add new repository configuration format
The new configuration format splits aptly repositories and OBS projects into two separate hashmaps, while still allowing to override settings on per-project level:
my $apertis_aptly_server = {
"url" => "https://...",
"token" => "...",
};
our $aptly_targets = {
"apertis" => {
"server" => $apertis_aptly_server
"gpg-key" => $aptly_gpgkey,
"prefix" => "apertis",
}
};
our $aptly_projects = {
"apertis:v2025:target" => {
"default" => {
"target" => "apertis",
"distribution" => "v2025",
"component" => "target",
}
},
"apertis:v2025:development" => {
"default" => {
"target" => "apertis",
"distribution" => "v2025",
"component" => "development",
}
},
"apertis:v2025:sdk" => {
"default" => {
"target" => "apertis",
"distribution" => "v2025",
"gpg-key" => "...",
"component" => "sdk",
},
"rebuild" => {
"distribution" => "v2025",
"component" => "sdk",
"gpg-key" => "...",
"prefix" => "apertis",
"aptly-server" => {
"url" => "https://rebuilds.apertis.org",
"token" => "tokentoken",
},
},
},
"apertis:v2025:foo" => {
"default" => {
"distribution" => "v2025",
"component" => "sdk",
"prefix" => "foo",
"gpg-key" => "...",
"aptly-server" => {
"url" => "https://aptly.example.org/debian",
"token" => "toktok",
},
}
},
};
The old-style configuration is still accepted for the time being, subject to be removed in future.