3 Packaging Requirements
Walter Lapchynski edited this page 4 weeks ago

Purpose of this document

This is meant to provide all the requirements necessary to follow the Packaging Tutorial.

Requirements

  1. Software
    1. sudo apt install ssh git devscripts debhelper tar quilt
  2. Configuration
    1. Uncomment the deb-src lines in /etc/apt/sources.list so apt build-dep works correctly. They should be duplicates of the normal deb lines except they begin with deb-src. With newer versions using deb822 sources, just add deb-src to the Types line.
    2. So you get credit where credit's due:
      1. For git:
        1. git config --global user.name "your full name"
        2. git config --global user.email "your email address"
      2. For Debian tools:
        1. Add the following to $HOME/.bashrc:
          1. export DEBFULLNAME="your full name"
          2. export DEBEMAIL="your email address"
          3. export EMAIL="your email address"
        2. Reload your configuration for it to take effect immediately: source $HOME/.bashrc
  3. Set up ssh:
    1. Create a key
      1. Easy way
        1. ssh-keygen
        2. Accept the default name ($HOME/.ssh/id_rsa)
        3. Enter a password ≥ 5 characters
      2. Hard way
        1. ssh-keygen -C some-identifying-info -t ed25519 # more secure and supported by Launchpad; alternately use -t rsa -b 4096
        2. Select a unique name e.g. $HOME/.ssh/gitea # allows you to have more than one key
        3. Pick an even better password!
        4. Edit $HOME/.ssh/config to include
          1. Host git.lubuntu.me
          2. IdentityFile ~/.ssh/gitea
    2. Add ssh key to Gitea:
      1. Go to Settings
      2. Click on "SSH/GPG Keys"
      3. Click on "Add Key" just above the "Manage SSH Keys" section
      4. Give your key a name (anything works) and then copy and paste the //public// key from the step above
      5. Click on "Add Key" below the "Content" section where you added your key
  4. $HOME/.quiltrc from packaging guide

Extras

  1. gpg setup
    1. Get the software: sudo apt install gpg
    2. Make a new key: gpg --full-generate-key
    3. Select an RSA and RSA pair
    4. Select 4096 bits for key size
    5. Select expiration date, or none (note you can always move the date out farther)
    6. Verify and accept
    7. Enter your real name
    8. Enter your email address
    9. A comment is not necessary
    10. Give it a good password
    11. It takes a while to gain enough entropy to finish the creation. Open a new terminal and find / 2>/dev/null and that should help it along
    12. Add DEBSIGN_KEYID=your-key-id to ~/.devscripts. your-key-id should be equivalent to gpg --list-keys --with-colons your-email-above | grep -m 1 fpr | awk -F: '{print $10}'
  2. bzr setup
    1. Get the software: sudo apt install bzr
    2. Create a Launchpad account if you don't have one already.
    3. Create an ssh key or reuse one (see above), ed25519 is now supported for Launchpad.
    4. Upload your key to Launchpad.
    5. Set your identification: bzr whoami "Your Name your@emailaddress.org"
    6. Login to Launchpad: bzr launchpad-login your-launchpad-username
    7. Edit $HOME/.ssh/config to include
      1. Host bazaar.launchpad.net git.launchpad.net
      2. Useryour-launchpad-username
    8. Add IdentityFile /path/to/ssh/key if you use a non-default key.
  3. ssh agent with keychain
    1. Get the software: sudo apt install keychain
    2. Added the following to the end of your $HOME/.bashrc:
      • keychain path-to-private-ssh-key-1 path-to-private-key-2 … path-to-private-key-n
      • . ~/.keychain/`uname -n`-sh
    3. Every time you login, you will be asked for all of your passwords and then they will be held in memory.