repology / repology-updater

Repology backend service to update repository and package data
https://repology.org
GNU General Public License v3.0
494 stars 173 forks source link

Add info on patches #53

Closed AMDmi3 closed 2 years ago

AMDmi3 commented 7 years ago

Some repos include patches, it would be nice to report them upstream.

alexws54tk commented 7 years ago

Some patches, like in Gentoo, is distro specific and need to correct build of package.

AMDmi3 commented 7 years ago

Yes, same with FreeBSD. I can't think of a way to sort this out automatically, but this still is a useful info. A bit heavy to retrieve though.

alexws54tk commented 7 years ago

There is a sentence simply to specify existence of patches for a packet. And there can be as we will invent … (=

AMDmi3 commented 7 years ago

What I've meant is that while the information on patches is easily retrievable for e.g. Gentoo (as we already have the whole repository and all we need is to look into files/ for each package), for other repos it's not that trivial - for instance, we only retrieve single INDEX file for FreeBSD now, but in order to discover patches we'll have to get whole ports repository and parse it as well. Even more complex for other repos. It may be done gradually though.

alexws54tk commented 7 years ago

we need is to look into files/ for each package

We also need to look into Manifest file and in .ebuild. In Manifest listed ALL files for package. In .ebuild patches maybe listed in ${PATCHES}, *`${EPATCH_}** and **${SRC_URI}`** variables and still somewhere.

AMDmi3 commented 7 years ago

We also need to look into Manifest file

Why? It just lists checksums.

and in .ebuild

Yes, but it looks to be more complex. For example, app-emacs/teco, uses ${ELISP_PATCHES}, in which it references other variable.

alexws54tk commented 7 years ago

Emacs, this separate, it is written on Lisp therefore plugins to it so collect, mostly. This that still a some magic to rake .eclasses from /path/to/portage/tree/eclasses folder which use .ebuilds from «inherit … keyword».

AMDmi3 commented 2 years ago

This is supported by package-specific links