…and its actually a pretty neat idea!
Now admittedly, I encountered extrepo when one of the repos being added to a Docker container build I care about was being unreliable, but that caused me to dig into what it is and how it works and I quite like the idea.
The basic idea is that there are people out there who publish packages for Debian, either as hilarious curl scripts which you’re meant to pipe into a root shell, or as just .deb files which you download and manually install. Instead of being terrible though, what if there was a tool which knew how to provide apt repository configurations for those things? Then, apt would do the right things when the packages changed and so forth. Those configurations could come from a central source which you could also trust to provide the GPG keys that signed those packages. Neat yeah?
So that’s extrepo. First off we need to install it:
sudo apt-get install extrepo
You then discover extrepo repositories mostly with searches, although an empty search will give you everything:
extrepo search | egrep "^Found" | sed -e 's/^Found //' -e 's/:$//'
There is a lot in this list. Highlights include things like: brave, mariadb, hashicorp things; kubernetes; proxmox; gitlab; ceph; unfi; and many many more. You can then enable a repo to add it to your local apt configuration:
extrepo enable openstack_epoxy
This creates a file in /etc/apt/sources.d like this:
# cat /etc/apt/sources.list.d/extrepo_openstack_epoxy.sources
Suites: bookworm-epoxy-backports bookworm-epoxy-backports-nochange
Architectures: amd64 arm64
Uris: http://osbpo.debian.net/debian
Types: deb deb-src
Components: main
Signed-By: /var/lib/extrepo/keys/openstack_epoxy.asc
Nicely, you can also override the URL for the repo, for example if you have a local mirror:
# extrepo enable openstack_epoxy \
--mirror http://mirror-osbpo.home.stillhq.com/debian
Configuration enabled.
root@test:/home/debian# cat /etc/apt/sources.list.d/extrepo_openstack_epoxy.sources
Suites: bookworm-epoxy-backports bookworm-epoxy-backports-nochange
Architectures: amd64 arm64
Uris: http://mirror-osbpo.home.stillhq.com/debian
Types: deb deb-src
Components: main
Signed-By: /var/lib/extrepo/keys/openstack_epoxy.asc
Enabled: yes
So anyway, extrepo is cool. That is all.