Package repositories

Package repositories are available for Debian Linux and for FreeBSD/PC-BSD. They have pre-built binary packages of several softwares. This is how to configure your computer to use these repositories.

FreeBSD and PC-BSD

Note: No softwares are currently available as pre-built binaries for anything other than the AMD64 architecture. If it becomes possible to build for multiple architectures (I am not made of money.) the repository layout and URLs might change.

Only the new pkg from version 10 is supported. Make sure that it is up-to-date, too. pkgng version 1.0 used a quite different format for package manifests.

You can view the contents of this repository via GOPHER or via FTP in EPLF. (Note that most WWW browsers are either not very good at or outright incapable of FTP.)

Point pkg at the repository:

Create a file named /usr/local/etc/pkg/repos/JdeBP.conf, with contents as follows:

JdeBP {
	url: "http://freebsd.repository.jdebp.info./",
	pubkey: "/usr/local/etc/pkg/keys/JdeBP.pub",
	signature_type: "pubkey",
	enabled: true
}

Provide pkg with the public key:

# install -d /usr/local/etc/pkg/keys
# fetch -o "/usr/local/etc/pkg/keys/JdeBP.pub" "http://freebsd.repository.JdeBP.info./package_signing_key.pub"

No that dot is not a mistake; it is preventing search path spoofing from making it easy for someone else to supplant the repository server's domain name on your computer.

There is an HTTPS-accessible key server.

# install -d /usr/local/etc/pkg/keys
# fetch -o "/usr/local/etc/pkg/keys/JdeBP.pub" "https://jdebp.uk/Repository/freebsd/package_signing_key.pub"

Or you can download package_signing_key.pub to that directory from this page. Or you can download package_signing_key.pub to that directory via GOPHER.

Note that really one should fetch the public key from a different place to the repository itself, which you are not doing. That needs more WWW servers to be distinct file servers; which would cost a lot of money, just to host one very small file.

Update your package list:

# pkg update

NetBSD

Note: No softwares are currently available as pre-built binaries for anything other than the ARM64 architecture. If it becomes possible to build for multiple architectures (I am not made of money.) the repository layout and URLs might change.

You can view the contents of this repository via GOPHER or via FTP in EPLF. (Note that most WWW browsers are either not very good at or outright incapable of FTP.)

Point pkg at the repository:

Add a line to /usr/pkg/etc/pkg/repositories.conf, as follows:

http://netbsd.repository.jdebp.info./

Update your package list:

# pkgin update

Debian Linux

Note: No softwares are currently available as pre-built binaries for anything other than the AMD64 architecture. If it becomes possible to build for multiple architectures (I am not made of money.) the repository layout and URLs might change.

You can view the contents of this repository via GOPHER or via FTP in EPLF. (Note that most WWW browsers are either not very good at or outright incapable of FTP.)

Point APT at the repository:

Create a file named /etc/apt/sources.list.d/JdeBP.sources, with contents as follows:

Types: deb
URIs: http://debian.repository.jdebp.info./
Suites: stable
Components: main
Signed-By: /usr/share/keyrings/jdebp-debian-repository.gpg

This is the so-called "DEB822" format (closer to, but not quite as functional as, the YAML configuration files employed by pkgng on FreeBSD). In the older format it was:

deb [signed-by=/usr/share/keyrings/jdebp-debian-repository.gpg] http://debian.repository.jdebp.info./ stable main

On Debian 8 and earlier you do not have signed-by:

deb http://debian.repository.jdebp.info./ stable main

Tell APT about the public key:

On Debian 9 and later you download it into the same file under /usr/share/keyrings/ as you told APT with signed-by:

# curl "http://debian.repository.jdebp.info./repository_signing_key.pub" > /usr/share/keyrings/jdebp-debian-repository.gpg

No that dot is not a mistake; it is preventing search path spoofing from making it easy for someone else to supplant the repository server's domain name on your computer.

There is an HTTPS-accessible key server.

# curl "https://jdebp.uk/Repository/debian/repository_signing_key.pub" > /usr/share/keyrings/jdebp-debian-repository.gpg

Or you can download repository_signing_key.pub from this page. Or you can download repository_signing_key.pub to that directory via GOPHER. These are both the plain binary key file. There is an "ASCII armoured" repository_signing_key.pub.asc version, too.

Note that really one should fetch the public key from a different place to the repository itself, which you are not doing. That needs more WWW servers to be distinct file servers; which would cost a lot of money, just to host one very small file.

On Debian 8 and earlier you have to add the key to the global APT keyring, which has the unfortunate side-effect of making it a valid signing key for all package repositories that your machine is configured to use, rather than just this repository:

# curl "http://debian.repository.JdeBP.info./repository_signing_key.pub.asc" | apt-key add -

Update your package list:

You can do this with apt-get, synaptic, or aptitude. See their manuals for how. Here is the latter:

# aptitude update

OpenBSD

This is not provided yet.


© Copyright 2016,2017,2025 Jonathan de Boyne Pollard. "Moral" rights asserted.
Permission is hereby granted to copy and to distribute this WWW page in its original, unmodified form as long as its last modification datestamp information is preserved.