20 comments

[ 4.0 ms ] story [ 49.2 ms ] thread
First I saw that it's written in Perl. Then I realized that the last release was 11 years ago and that the repository domains are hardcoded in the one-file script.
(comment deleted)
Latest release: May 19, 2015

Abandoned, but forkable (since FOSS), and a decent idea.

Probably nowadays this gets done in Node, parsing the package search websites. Preferably, this would be done via an API though.

This would pair nicely with distrobox or Bedrock Linux:)
This kind of busy work should suit an AI agent:

Go and find me all the repolists and package/software metadata for any distro and OS ever released. Write the results to a local SQLite. Incrementally update, but don't hammer the sources to death. Provide a web UI and CLI.

I've been working on a GUI task manager for Linux and I've been wanting to put a "Funding" or ownership meta data next to the process or process group in the view so people can know where the upstream code lives, how to support the project, and what organizational unit "owns" that process.

So I actually vibe coded a script that does this against a sqlite db I've been considering to bundle with my task manager so it can know this stuff on the fly.

But yea this is a key missing component in Linux user space. Windows let's you encode organizational stuff into an exe but on Linux binaries don't really have that.

It already exists, the appstream spec can associate binaries with metadata.
You can usually get info about the upstream from the package metadata, e.g. on Debian:

  $ apt info whohas
  ...
  Homepage: http://www.philippwesche.org/200811/whohas/intro.html
  ...
The distribution model on Linux (generally speaking) is different from Windows, though, so I don't think it makes sense to view processes as fully "owned" by the upstream in the same way as on Windows. Instead of letting each individual organization directly have administrator access to rummage around on our machines and install packages, this is mostly delegated to the Linux distribution, which may customize the packages. (And of course the user has the right to customize the program as well, assuming it's FOSS, so ultimately the user is the owner of their own processes.)
Shame Homebrew for Linux is getting no love from any of the tools / lists mentioned here.

Since switching to that and flatpak my distro choice is "what sticks closest to the upstream of [my preferred DE]"

Who has?

Nixpkgs has. :)

Nowadays the only search like this I need to run is

  nix-locate -r 'bin/foo$'
It would be nice to have a CLI alternative to Repology, though.
....

     function repology() {
         curl -L --user-agent 'hackernews' \
             "http://repology.org/api/v1/project/$@"
    }
Oh nice, I just implemented something like this for installing from any package manager uv-style https://abxpkg.archivebox.io/, but I haven't added a "search" command yet, I should add that!
Interesting, I've been wanting something like this. My main deal though is updates: how is that handled? Would love some kind of auto-update with a review/notification mechanism.
"Just gimme thething, I don't care where from" is a great way to get supply chain vulns
(comment deleted)
I made this in under 100 lines bash and it supports Arch, RHEL-based, Debian-based, Alpine and OpenSuse. But the problem is that some distros just have rubbish native search of package files.

And of course my tool searches their native package manager, not their online services, API, package repos. That's a completely different approach.