Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Setup a Debian environment for development with the “devscripts” package from buster-backports installed.

    1. Example

      Code Block
      languagebash
      $ apt-get -y install devscripts
  2. Add the Debian repos and signing keys for the given DANOS Release

    1. Example

      Code Block
      languagebash
      $ sudo tee /etc/apt/sources.list.d/danos.list << EOF
      deb http://repos.danosproject.org.s3-website-us-west-1.amazonaws.com/repo/ 2005 main
      EOF
      
      $ wget -q -O- https://s3-us-west-1.amazonaws.com/repos.danosproject.org/Release.key | sudo apt-key add -
  3. Use ‘apt-get update’ to update the package cache

    1. Example

      Code Block
      languagebash
      $ sudo apt-get update
  4. Configure require required package pinning prioritypriorities so that DANOS package are preferred over Debian packages

    1. Example

      Code Block
      $ sudo tee /etc/apt/preferences.d/998danos << EOF
      Package: *
      Pin: release o=DANOS
      Pin-Priority: 998
      EOF
  5. Install the following necessary build packages

    1. Example

      Code Block
      $ sudo apt install lintian-profile-vyatta base-files-vyatta
  6. Clone the package source

    1. Example

      Code Block
      languagebash
      $ git clone https://github.com/danos/configd
      $ cd configd
  7. Install the build dependencies for the package you will be working on using the mk-build-deps script

    1. Example

      Code Block
      languagebash
      $ sudo mk-build-deps --install --remove debian/control
  8. Build the package using the Debian build tools

    1. Example

      Code Block
      languagebash
      $ debuild -uc -us -i -b
    2. 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.

  9. Make your changes to the source

  10. Rebuild the package using the Debian build tools again

...