Page MenuHomeLubuntu Development

Packaging Requirements
Updated 355 Days AgoPublic

Purpose of this document

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


  1. Software
    1. sudo apt install ssh git php-curl php-cli devscripts debhelper tar quilt
    2. Follow "Installing Arcanist" here.
  2. Configuration
    1. Uncomment the deb-src lines in /etc/apt/sources.list so apt build-dep works correctly.
    2. So you get credit where credit's due:
      1. For git:
        1. git config --global "your full name"
        2. git config --global "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
        2. Select a unique name e.g. $HOME/.ssh/phab # allows you to have more than one key
        3. Pick an even better password!
        4. Edit $HOME/.ssh/config to include
          1. Host
          2. IdentityFile ~/.ssh/phab
    2. Add ssh key to Phab:
      1. Go to Settings
      2. Click on "Personal Account Settings"
      3. Click on "SSH Public Keys" under "Authentication" on the left side
      4. Click SSH Key ActionsUpload Public Key
      5. Give your key a name (anything works) and then copy and paste the public key from the step above
  4. $HOME/.quiltrc from packaging guide
  5. Final Arcanist tweaks:
    1. arc set-config phabricator.uri ""
    2. arc install-certificate


  1. 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.
  2. 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}'
  3. 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 instructions).
    4. Upload your key to Launchpad.
    5. Set your identification: bzr whoami "Your Name <>"
    6. Login to Launchpad: bzr launchpad-login your-launchpad-username
Last Author
Last Edited
Jan 28 2020, 1:12 AM

Event Timeline

wxl edited the content of this document. (Show Details)
wxl edited the content of this document. (Show Details)
wxl edited the content of this document. (Show Details)
wxl edited the content of this document. (Show Details)
wxl edited the content of this document. (Show Details)