-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement endpoints based on original package name #66
Comments
For the record, MacPorts guys want this feature as well. With that demand it should be implemented ASAP. |
Also I believe I've seen Repology package badges used globally on some Debian toolsite (somewhere around https://portfolio.debian.net?) - need to find that place, ensure that these badges link to repology projects by Debian package name (which would produce broken links in many cases), find Debian contact and make them switch to this feature as soon as it's implemented. |
See repology/repology-updater#944 for fresh ideas on this. In short, we may have multiple names (general, binary, source, each if appicable) to reference package/project from the outside, and these may be part of the URL. |
FTR, the Debian infrastructure currently only links to the Repology per-maintainer pages. For example my Debian portfolio and DDPO pages both link to my Repology maintainer page. I want to add three Repology items to the Debian package tracker (for package maintainers) pages:
The best option for the second two items is for Repology to offer a redirect from the debian_unstable source package name to the Repology metapackage pages. Later on we might also want to add similar links on the user-facing packages site. |
Let's put problems aside for now, as these need and will undergo a severe refactoring related to the way they are updated. Regarding the package specific urls there are four unresolved issues before we can start implementing it, that is why @pabs3 PR was lingering for months
To not block this for much more time, I propose partial solutions for most of these issues, namely:
The only task left (and it does not really block the development of this feature) is thus to decide on url scheme. IMO we should build upon a consistent mapping between project-related urls and package-related urls, e.g. |
I suggest using 307 for redirects instead, since 301 means moved
permanently and the mapping between a distro package and a Repology
project could change over time. In any case, I definitely think we want
redirects and not rel=canonical.
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
I had intended for this feature to not be restricted to Debian, it
would definitely be useful for other distros to link to Repology. As
long as the URL design accommodates that I'll be happy as the
corresponding database changes can happen at a later stage.
I had previously preferred /repository/<repo>/package/<package>/subpage
but now I can see that your /project-by-*-in/<repo>/<package>/subpage
proposal is a better name for this feature. For the badge URLs we can
use /badge-by-*-in/ as a prefix.
I'm not very good with databases, so I'm going to have to leave any
database changes needed with you.
I think one remaining question is if the current database would ever
map a distro source/binary package name to multiple Repology project
names and what to do when that occurs. I guess the code could just
return a HTML table with links to each of the Repology projects.
…--
bye,
pabs
https://wiki.debian.org/PaulWise
|
Does Repology create corresponding metapackage/project names for all packages in Debian? If not then an additional API is needed so that the Debian tracker can show the Repology version link only for Debian source packages that are listed on Repology. |
Repology parses all Debian source packages and maps them into projects which names does not necessarily match the package names. |
It is completely untested but I've prepared a branch using the new URL scheme: |
This is now deployed in experimental mode. There are still inconsistencies in how different kinds of names are used so not all repositories are supported yet, for now it's only deb family. Feel free to submit urgent requests for additional repositories. |
Excellent, thanks for that!
I noticed a couple of things:
The binname support doesn't work for libc6 & debian_testing.
The per-distro-per-distro-package problems pages are missing.
…--
bye,
pabs
https://wiki.debian.org/PaulWise
|
As expected, we don't parse binary packages from debian.
There are no per-package problem pages. |
There are no per-package problem pages.
Ah, but there were in my version of the changes.
Should I re-implement the per-package problem pages feature?
…--
bye,
pabs
https://wiki.debian.org/PaulWise
|
Based on the website linking to this issue, I will ask here despite it already being closed. Could you please consider adding the CentOS repositories to |
Done |
Hi @AMDmi3 would be possible to add support for Scoop repository in |
@xfournet done. Assuming Scoop only contains binary packages. |
@AMDmi3 can we add Guix support for this tool? |
@ryanprior can do, but I'm puzzled whether guix package names can be considered source package names, binary package names, both or neither. |
I'll test it tonight! |
@AMDmi3 I wanted to try out a badge link for That doesn't work for me, it says "cannot find project." esbuild's repology project versions page is here and shows a package in Guix, but the link is broken. It omits the package name and only includes the version. Guix package: https://guix.gnu.org/packages/esbuild-0.7.16/ I tried a few other packages to make sure it's not just isolated to that one, and these show the same issue:
UpdateI did make some progress: by changing from This URL: Update 2I keep reading and messing more and eventually found exactly what I want. So having found that I'm pleased! The issue with links to Guix packages mentioned above is still outstanding, but it seems unrelated to this tool so I opened #152 for that. The landing page for the tool could use some better documentation and explanation of how to use it - that's something I can take a stab at if you'd welcome a contribution. Thank you! |
That's likely not what you're looking for as this badge uses Repology project name which is not guaranteed to match package name in guix, that's what the project-by tool is intended to cope with. That's how it's done: It gives you the following link template:
This would be very welcome. The thing is that I, as developer, am unable to view it from the perspective of user without repology inner workings knowledge and thus to write a proper documentation. Besides, I'm not a native English speaker. |
Do you mind adding support for Adélie to |
@sroracle Done! |
@AMDmi3 Would you be able to add support for Homebrew to the |
@nandahkrishna done |
@AMDmi3 could you add support for Homebrew Casks too? |
@vineethnara done |
Hey @AMDmi3, do you think support for Chocolatey could be added? ✌ Does this mean that there needs to be something done first somewhere else? Would be great to see Chocolatey added to project-by if possible 🙂 |
Well the reason for adding support by-request was to sort out package naming taxonomy. I'm still confused with it. Do you think that chocolatey packages classify as binary packages, we could switch chocolatey to binnames, otherwise we could go on with generic name. |
For some context:
I'm not really sure what side-effects/consequences this might have. I guess for my use-case this would be great - but I can't really tell in general 🤷♂️ So if there are no cons I would love to see Chocolatey classified as binnames and white-listed for project-by. ✌ |
So what do you think - can we classify chocolatey packages as binary packages and enable them on the project-by endpoint? ✌ |
I'm still thinking. It'd be the best to solve this ambiguity once and for all and enable the endpoint for all repositories. |
Not sure if this closed ticket is the right place for it, but I would like to see Amazon Linux 2 added to Project by package name. Thanks! |
@gzmarstone done |
Big request for adding AUR to project-by! |
@tedtramonte done |
@malmor chocolatey finally done |
There's demand to refer to Repology data only having original package name (and repository name likely). See #61 for instance. An URL schema should be invented to support this. We need this for at least project pages
/project/<projname>/*
(plus corresponding API endpoints) and badges:<link rel=canonical>
devel/py-Jinja2
and (multiple) package namespy27-Jinja2
,py36-Jinja2
,py37-Jinja2
. May need to implement origin/uniquename field first (Track package lifetimes through keynames repology-updater#527).love
package may refer tolove
,love05
,love06
etc. projects (however these should go away as soon as we improve branches support (Introduce metapackage flavors/branches repology-updater#170).Project URL variants:
/project-by-package/<repo>/<pkgname>/subpage
(note the pkgname may contain slashes; also it's not apparent that repository name is used)/repository/<repo>/package/<package>/subpage
/project?repo=<reponame>&package=<pkgname>
(always redirect)/project/<pkgname|projname>/subpage
which automatically resolves unambiguous cases, shows disambiguation page if there are multiple choices and may be refined to lower number of variants (to 1)/project/<pkgname>/subpage?repository=<reponame>
Badges variants:
The text was updated successfully, but these errors were encountered: