Not all software is available in Debian's repositories, not even in Unstable or Experimental.
Some software creators provide downloads of
.debs, and some host their own
apt repositories. Extrepo exists to help in the latter case. It's a tool for managing
these external repositories, without the need for unsigned shell scripts or copy-pasting
commands to your terminal.
Installation and configuration
You can install Extrepo from apt (
apt install extrepo).
By default only repositories with software meeting the Debian Free Software Guidelines (DFSG)
licensing requirements can be used and searched. To change that, in
uncomment the lines with
contrib (for DFSG-free software that has non-DFSG-free dependencies),
non-free (for non-DFSG-free packages).
You can get a list of all external repositories Extrepo knows about with
and you can search for a regular expression by passing in a third argument. It's a long list,
so if you don't need all the details for all repositories, you can pipe it through grep
| grep '^Found'). If the repository you want is on the list, great! You can
enable it with
extrepo enable repository-name (ran as root). Similarly, to disable
a previously enabled repository, use
extrepo disable repository-name. If a repository
stops working or some metadata about it changes, use
extrepo update repository-name.
But what if the external repository you're looking for isn't there? Well, you will have to
add it yourself. See, the data about repositories comes from the
extrepo-data git repository,
hosted on Debian's GitLab instance, Salsa. To add a repository
to Extrepo, you need an account there. Creating one will usually take you a day, since the admin
has to approve it. After you create an account, you will have to go to the git repository
page and fork it. Then
git clone your fork onto your machine and create a new file in
repos/debian named after your external repository. Copy over the contents from another
file in there, and looking at how other files are structured, edit the appropriate data.
There isn't a comprehensive guide on this, but some pattern recognition is enough not to screw up badly.