Many popular software packages are often distributed as .deb packages, targeting Ubuntu primarily.
Often they are not available in the repos of others distros. Even if they are, sometimes the version tends to be behind upstream for some time. They may also only be available as "unofficial" packages through user repositories such as AUR, PPA or Gentoo overlays.
Examples for such packages are: Brave, Signal-Desktop, Element-Desktop, Spotify etc.
debfetcher simply identifies the latest version of a package in the corresponding apt repo, downloads it and then installs the binaries from the .deb.
debfetcher is intentionally dumb. It does not process post-install (or any other) scripts in the .deb, nor does it install any dependencies. It's not a package manager. What gets installed is controlled by the templates.
debfetcher verifies the repo signatures and .deb checksum (just like apt).
## Advantages
- You get the official build and don't have to rely on third-parties
- You don't have to wait for your distribution to make a version bump
But as said above, this is not my idea. Using the .deb even for distros not based on Debian is an approach taken by distris for propritary packages or packages where building from source is a significant maintenance load (i. e. electron-based apps). Overall, the idea is tested and not new.
of their dependencies. Also, in a typical Linux desktop installation chances are you already have all dependencies installed.
### Packages
Currently supported (= works for me) packages are in packages/.
### Templates
A template contains the repo URI, package name etc and specifies where to extract the binaries/libs contained in the .deb to. It may also install a .desktop file too.
If you don't need/want a system-wide installation of a package, debfetcher can be used to install a package in your local user profile. Therefore, debfetcher can be used without polluting your /.