repology / repology-webapp

Repology web application
https://repology.org
GNU General Public License v3.0
200 stars 26 forks source link

Project dependencies badge #69

Open Komzpa opened 5 years ago

Komzpa commented 5 years ago

Hello.

In PostGIS we are fighting a packaging issue when distributions upgrade PostGIS version but forget to upgrade or build the dependencies, rendering significant amount of improvement unavailable to end users.

Badges allowed us to fit the whole issue into one screen. Thanks! https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS

There are problems with this approach:

Can this be done as a single badge, or is there a better way to solve it?

AMDmi3 commented 5 years ago

Hey Darafei!

Well, some projects already compose matrices out of small version badges, see for example:

This would likely require you to write a script to generate table code in trac syntax, but it would work right away and it allows you to arrange the table in the most suitable way.

But yes, it seems like there's demand for the ready-to-use matrix badge. It should be not too hard to do.

AMDmi3 commented 5 years ago

So, how does this look like?

PostGIS and dependencies packaging status

luzpaz commented 5 years ago

That looks awesome!

AMDmi3 commented 5 years ago

This still needs some polish, see repology/repology-updater#894. The quirky part is how to limit repositories to display. The example above only shows repos which have ALL requested packages (require_all=1 param). Other options are to specify list of repositories manually (repos= param, list of repology internal names):

PostGIS and dependencies packaging status

or to show repositories which have ANY of requested packages (the default):

PostGIS and dependencies packaging status

Komzpa commented 5 years ago

Awesome look.

Would be good to somehow let CentOS 6 sink to the end of it. Something like ORDER BY number_of_green_items desc, distro_name may be able to take care of that.

AMDmi3 commented 5 years ago

I've edited the comment above. There's possibility to specify list of repositories manually, and I plan to allow more automatic filtering by packages presence, e.g. an ability to specify mandatory packages (e.g. to only show repos which package PostGIS, regardless of dependency status). Can play with sorting too. Detailed usecases are welcome. Do you specifically need a list of all repos with sorting by freshness?

AMDmi3 commented 5 years ago

Showcase

Pidgin

Based on https://d.pidgin.im/wiki/Dependencies/3.0.0

Pidgin dependencies packaging status

Smartmontools

Based on https://www.smartmontools.org/wiki/Packages

Smartmontools packaging status

0 A.D.

Based on http://s06eye.co.uk/0ad/linuxDeps/ (may be too large for GitHub to display)

0 A.D. dependencies packaging status

Repology

(may be too large for GitHub to display)

Repology dependencies packaging status

Komzpa commented 5 years ago

I want a page that's aimed at these users:

Komzpa commented 5 years ago

Tried embedding badge into trac. "," in the url are eaten up by the parser. %2C passed though.

Live on our version page, thanks! https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS#Packagingstatus

luzpaz commented 5 years ago

@AMDmi3 how do i test one of these matrix badges ?