Commit Graph

48 Commits

Author SHA1 Message Date
Christoph Reiter
f2ed76293f Rename pkgmeta to pkgextra
So things are consistent
2023-09-17 18:59:12 +02:00
Christoph Reiter
f1459923ca base packages: pull the "base" package description from the SRCINFO
When parsing the SRCINFO we only get out the sub packages and the
package fields override the base fields, but the base description
has some vlaue on its own, as it is a description for all contained
packages.

Store the base description away and when fetching the description
for the pacman DB package we look up the description from the SRCINFO
base package if possible.

The onyl downside here is that they come from different sources, so
might be out of sync, but still better then before I guess.
2023-08-18 06:55:38 +02:00
Christoph Reiter
03f3583d2b Only compare to the main external version when showing the update note
Since we now have a concept of main and fallback versions we shouldn't
compare the repo version to all versions, but ignore the fallback ones
if there are others.
2023-07-22 18:34:30 +02:00
Christoph Reiter
0149efb907 pkgmeta: add multiple URL fields
This allows us to specifiy multiple URLs for each project in addition
to the homepage that is defined by the PKGBUILD.

This is similar to what Python packages can do, which then gets
exposed on pypi. But while they allow free form text we specify
a fixed set with a specific purpose, so we can pontentially re-use them
in the future, and also to make it more clear what we expect them to
point to.
2023-07-22 18:15:48 +02:00
Christoph Reiter
b5a6db9025 Split the pkgmeta code into its own file 2023-07-22 17:43:47 +02:00
Christoph Reiter
7bd958cca3 Link to pypi if we know the pypi name 2023-07-02 14:45:22 +02:00
Christoph Reiter
75872f30e3 fetch: don't download the db including the package files
there really is no need to, we only need the version really.
2023-05-21 21:05:46 +02:00
Christoph Reiter
78a636b3c8 Always prefer Arch versions over AUR and Cygwin
AUR contains dev versions we don't care about and cywin
sometimes uses a different versioning scheme.

Only if there is no matching Arch package consider the other ones
2023-05-12 21:35:11 +02:00
Christoph Reiter
37bf16b7d3 oops
fixes arch versions not being updated
2023-04-25 09:41:13 +02:00
Christoph Reiter
5569252cee Generalize external references and handle AUR separately
Remove all cygwin/arch specific code from the core models to make
it easier to add more references.
2023-04-11 20:02:55 +02:00
Christoph Reiter
6b244070f8 Merge data structures for cygwin/arch infos 2023-04-11 19:33:08 +02:00
Christoph Reiter
99b6fa73a0 ExtInfo: add an explicit label for the URLs 2023-04-11 19:14:10 +02:00
Christoph Reiter
3ee1d07e63 pkgmeta: allow None in references
to mean the package doesn't exist there
2023-04-09 17:30:33 +02:00
Christoph Reiter
8137b0468f Update the etag when the sourceinfos change
missed this somehow. this leads to stale caches in case only
the srcinfos have changed since the last non-cache visit.
2023-01-12 20:44:14 +01:00
Christoph Reiter
4a65e2d54b Be more explicit about showing virtual packages
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")
2023-01-06 07:59:29 +01:00
Christoph Reiter
9c609e66d4 queue: don't use the srcpkg to display information
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.
2023-01-05 19:24:05 +01:00
Christoph Reiter
9c6be6c7e3 Switch to new mapping format
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")
2022-12-29 13:53:29 +01:00
Christoph Reiter
0aaa362d5a Remove skipped packages
With multiple sources, including cygwin, this doesn't make much sense.
We can mark some packages as internal in the future.
2022-12-29 06:49:39 +01:00
Christoph Reiter
acb1a0c397 remove unused skipped mapping
it now uses "null" to indicate that the external source shouldn't
be mapped
2022-12-29 06:39:06 +01:00
Christoph Reiter
256514bc41 Less guessing with the arch name mapping
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.
2022-12-29 06:05:39 +01:00
Christoph Reiter
498a10897f Use the new repo package prefix in more places
instead of special casing based on repo and package names
2022-12-28 17:37:05 +01:00
Christoph Reiter
7b09145e9a Handle the new build status format
Changed in https://github.com/msys2/msys2-autobuild/commit/307799fd271fdfeeffec30c8
2022-12-27 16:19:21 +01:00
Christoph Reiter
7b399e56bc Show base groups instead of groups for base packages 2022-12-26 16:57:02 +01:00
Christoph Reiter
e0b0ae48da Add a base group collection
This is conceptionally similar to a pkgbase, but for groups.
Something like this doesn't really exist on the PKGBUILD level,
but end users can't really work with pkgbase with pacman either,
so for them that doesn't matter.

It still gives the end user the same structure as with packages,
there is a base thing that has multiple instances for each environment,
and searching might be a bit easier.

The UX could be improved, but the basics are there at least.

Fixes #47
2022-12-26 12:00:45 +01:00
Christoph Reiter
e8eaa08e31 Use the new issue template for the bug report link 2022-09-05 07:45:21 +02:00
Christoph Reiter
1ec7244b13 Rename arch_mapping to external_mapping
we might extend it with cygwin mappings in the future
2022-08-01 07:16:43 +02:00
Christoph Reiter
ec9760f6d4 Extract the upstream versions at parsing time
It was a mix of everything right now, make sure we only work
with upstream versions after parsing.
2022-07-31 08:59:22 +02:00
Christoph Reiter
08e58bb9b8 Don't error out on packages without a license
They would fail to show with a 500
2022-04-17 22:12:35 +02:00
Christoph Reiter
1e7b8167aa Add links for spdx licenses
Do some very basic parsing of spdx expressions and add links
to the respective license pages.

Multiple licenses in a package are combined with "OR".
2022-01-15 18:42:09 +01:00
Christoph Reiter
bd6fd47cc9 Use mirror.msys2.org for direct download URLs 2021-07-02 11:16:23 +02:00
Christoph Reiter
aca608d697 Fix detection of mingw repos
The code assumed it always started with "mingw"
2021-05-23 19:57:47 +02:00
Christoph Reiter
f83dec1783 api: mark builds as new if their result isn't in the repo yet 2021-05-14 11:44:38 +02:00
Christoph Reiter
331cda1534 Support multiple URLs for the build status 2021-05-01 16:19:10 +02:00
Naveen M K
54d8fe06ac Add search API 2021-04-30 06:50:31 +02:00
Christoph Reiter
f483296e7a arch versions: prefer the main package name over split packages
This fixes gtk3 getting matched with gtk4 because they share
a split package name.
2021-01-23 11:02:31 +01:00
Christoph Reiter
00ec82e7a2 queue: add a build status column 2021-01-22 19:52:15 +01:00
Christoph Reiter
ab1ab27afa Fix srcinfo parsing
It didn't take into account that split packages can re-define
their dependencies, leading to wrong and missing dependencies.
2021-01-15 13:21:43 +01:00
Christoph Reiter
c7ee6eb2bb Don't hide VCS packages
Treat them like all other packages. They used to cause various problems
by hitting edge cases, but this should all be fixed now.
2020-10-01 19:15:20 +02:00
Christoph Reiter
44937b5d4f Return 503 during the startup phase
So we never give invalid results because we haven't fetched everything
at least once.

Fixes #29
2020-08-18 20:43:34 +02:00
Christoph Reiter
8d9b696783 Switch to the new srcinfo source and format
We now generate them directly in the repo.

Other changes to the format:
* Use ISO dates
* Include the target repo
2020-08-17 20:50:19 +02:00
Christoph Reiter
98572b281b Show the last packager 2020-07-26 19:48:19 +02:00
Christoph Reiter
6bb6f45fad Some more typing 2020-07-11 12:47:06 +02:00
Christoph Reiter
8c8597234a Refactor dependency container types 2020-07-11 12:32:46 +02:00
Christoph Reiter
0e57b832e5 Add some API for getting the packages to build
This is just a first draft.
2020-07-10 09:45:49 +02:00
Christoph Reiter
998144f7c4 Show all the package info also on the (binary) package page 2020-07-05 18:47:50 +02:00
Christoph Reiter
5bc5948bf3 packages: show who signed the package and when
Fixes #23
2020-07-04 10:41:00 +02:00
Christoph Reiter
6c73a84575 Store all filenames as one string to save memory
This saves 60MB
2020-05-27 09:33:41 +02:00
Christoph Reiter
0bb4b0e659 Split app up into multiple modules
It's time..
2020-05-24 10:16:38 +02:00