Skip to content
Go to file
This branch is 92 commits ahead of rcrowley:master.


IRC channel Build Status

A modern take on the Debian archive.

This repository has been forked (in the traditional sense of the word) from Richard Crowley's freight repository. A fork had become necessary because the main project was not actively maintained and serious issues had started to crop up. While fixes and improvements were available in various freight GitHub forks, they were not merged to the main project. This fork and the associated GitHub organization, freight-team, attempts to fix these issues.


Install Freight and create a minimal configuration in /usr/local/etc/freight.conf or /etc/freight.conf as appropriate containing the name of your GPG key:


Add packages to particular distros:

freight add foobar_1.2.3-1_all.deb apt/squeeze apt/lucid apt/natty

Build the cache of all the files needed to be accepted as a Debian archive:

freight cache

If your system has GnuPG 2.x make sure that a gpg-agent is running and that you have installed a pinentry package (e.g. pinentry-curses) that suits your needs. On freight 0.3.11 and older you may also need to set the GPG_TTY environment variable like this:

export GPG_TTY=$(tty)

Serve /var/cache/freight via your favorite web server and install it as an APT source:

echo "deb $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/example.list
sudo wget -O /etc/apt/trusted.gpg.d/example.gpg
sudo apt-get update
sudo apt-get -y install foobar

Make sure your webserver is configured to follow symlinks inside of the hosted directory.


From source

git clone git://
cd freight && make && sudo make install

From a Debian archive

wget -O -|sudo apt-key add -
echo "deb $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/freight.list
sudo apt-get update
sudo apt-get -y install freight

From a custom-made Debian package

You need build-essential package installed. Clone the freight repository, build a package and install it:

git clone git://
cd freight && dpkg-buildpackage -uc -us -b
sudo dpkg -i ../freight_<version>-<build>_all.deb

From Fedora/EPEL repositories

EL users must first configure EPEL.

yum -y install freight


There's also French documentation assembled by Valérian Beaudoin.



Freight is BSD-licensed

Static analysis and code style

Shellcheck and shfmt are used to ensure consistency, please see the Travis configuration for the actual tests.

Test suite

The Freight test suite can be executed by running make check from any git checkout of this repository. git and GnuPG are required for most tests, and extended tests require apt.

Contributions should include a new test case where possible by extending one or more of the test/*.bats files.


A modern take on the Debian archive.




No packages published
You can’t perform that action at this time.