In case a previous version obsoleted a package that might still stay
around and come first in setup.ini, so always take the newest version
in case there are multiple entries.
To make clear that this info depends on other packages, and since
those lists can be quite long it's best to have all the other package
information before it.
Up until now we would show a list of packages and providing
packages. That's confusing when you don't scroll down and not
really obvious.
Instead if it's a virtual package show a simple page listing
the providing packages.
And in case a package of that name exists, show the other packages
providing the same name inline ("Provided By")
Instead just use the srcinfo and the packages. In case a package moves between bases
it would look up the old srcpkg and display outdated names.
This is a leftover from when we had no srcinfo data.
In case a package that is to be built is also replaced we would take
the dependencies of the replacement instead of the real one.
While this usually never happens, as the resulting package will be removed
on upgrades, it is wrong to do so. Don't resolve the package like
pacman would and just use them as is instead
Both builders will upload the complete build status when they run,
but up until now we only read the one from the main autobuild repo.
This meant that if the arm runner was building something without
the main autobuild running the website wouldn't notice and always
show the out of date state until the next scheduled run.
This now loads both and takes the newest according to the last-modified header
send by github. To keep local caching working during development we
store the last-modified as the cache file mtime.
This adds the following things:
* the mapping data is now sourced from the package repositories
* cygwin mapping works too (for example see "msys2-runtime")
* packages can be marked internal so they are never linked
to arch or cygwin (for example see "base")
Instead of doing regex and using the extracted package name, just
use the real pkgbase everywhere. This might mean more mappings are needed,
but it's more clear what it changes.
The next step is to move the mapping into the packaging repos.