Building a package from source -- 1908
Building packages on Debian 10 is not yet supported. You must use Debian 9 to build packages.
This article describes the general procedure for building DANOS packages from source. Packages must be built on a Debian host that corresponds to the version of Debian for the given DANOS release. The initial 1908 release is based on Debian 9 so you will need a Debian 9 environment of some kind to get started. The particular flavor of Debian environment is up to you, VM, container, chroot, etc.
These instructions have been automated using a Docker based environment in the following tool GitHub - jsouthworth/danos-buildpackage: Use containers to build DANOS packages. If you have Docker installed this tool may be run from the root of a package directory to build the package. It supports advanced build modes such as building against other local packages that have previously been built. Binaries for Linux (.elf), macOS (.mach-o), and Windows 10 (.exe) are available in the Releases tab for the tool.
Instructions
Setup a Debian environment for development with the “devscripts” package installed.
Add the Debian repos and signing keys for the given DANOS Release
Example
$ sudo tee /etc/apt/sources.list.d/danos.list << EOF deb http://s3-us-west-1.amazonaws.com/repos.danosproject.org/standard/ 1908 main deb http://s3-us-west-1.amazonaws.com/repos.danosproject.org/bootstrap/ 1908 main EOF $ wget -q -O- https://s3-us-west-1.amazonaws.com/repos.danosproject.org/Release.key | sudo apt-key add -
Use ‘apt-get update’ to update the package cache
Example
$ sudo apt-get update
Install the following necessary build packages
Example
$ sudo apt install lintian-profile-vyatta base-files-vyatta
Clone the package source
Example
Install the build dependencies for the package you will be working on using the mk-build-deps script
Example
Build the package using the Debian build tools
Example
Note that you may see lintian warnings (W:) or non-fatal errors (E:). Before assuming your build has failed, check whether any ‘.deb’ files have been created / updated in the parent directory.
Make your changes to the source
Rebuild the package using the Debian build tools again
Related articles
'