SetupDeveloperEnvironment
|
Size: 3204
Comment:
|
Size: 2527
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| * Set up launchpad account * Set up developer system * Set up testing system |
<<Include(UbuntuStudio/Navigation/Header)>> |
| Line 5: | Line 3: |
| == Create GPG Key == | = Set Up A Basic Developer Environment = |
| Line 7: | Line 5: |
| "GPG stands for GNU Privacy Guard and it implements the OpenPGP standard which allows you to sign and encrypt messages and files. This is useful for a number of purposes. In our case it is important that you can sign files with your key so they can be identified as something that you worked on. If you upload a source package to Launchpad, it will only accept the package if it can absolutely determine who uploaded the package." | ||<tablestyle="float:right; font-size: 0.9em; background:#F1F1ED;margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(2)>>|| |
| Line 9: | Line 7: |
| '''Command to create a gpg key in a terminal''' | == Setup Launchpad Account == First thing you need to do is set up a [[http://launchpad.net|launchpad]] account. We do most of our planning, tasks management, and team management on launchpad. Some launchpad teams have special privileges. The link for creating an account is: https://login.launchpad.net/+new_account To use launchpad fully, you'll need a GPG key, which is your virtual ID, and to handle private sources on launchpad you'll need a SSH key (which is sort of like an actual key to a lock). == Setup a GPG Key == GPG Stands for [[http://gnupg.org/| Gnu Privacy Guard]]. Initially, you are required to have a GPG key in order to sign the launchpad Code of Conduct. As a developer you will be using the GPG key to sign things like changes to Ubuntu source packages. People will know you make the change from your gpg key signature. This key is your virtual identity, so be careful with it! First, make sure you have installed gnupg |
| Line 12: | Line 24: |
| gpg --gen-key | $ sudo apt-get install gnupg |
| Line 15: | Line 27: |
| '''Press ''Enter'' to select ''(default)'':''' | === Creating the GPG key in a terminal === To create a GPG key, use this command in a terminal: |
| Line 17: | Line 32: |
| Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) |
$ gpg --gen-key |
| Line 24: | Line 35: |
| '''Press ''Enter'' to select ''(2048)'':''' | Follow the instructions carefully. Choosing the default options is fine. Make sure to type in your '''real name''' and the '''email''' you want to have associated with your key. Choose a secure passphrase. If you loose the passphrase, there is no way to retrieve it. '''Publish your key''' Once you are done, you will need to publish your key to a server in order for it to be usable. First, you need to find out what your public ID is. To see all the GPG keys in your system, do: |
| Line 26: | Line 42: |
| What keysize do you want? (2048) | $ gpg --list-keys |
| Line 29: | Line 45: |
| '''Press ''Enter'' to select ''(0)'':''' {{{ Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) }}} '''Answer ''y'' for Yes:''' {{{ Is this correct? (y/N) }}} '''Type your real name here:''' |
In this example, the public ID is '''F06EFAE2''' |
| Line 48: | Line 48: |
| You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name: Kaj Ailomaa }}} '''Type your email adress:''' {{{ Email address: zequence@mousike.me }}} '''Add a comment for you to keep track of this gpg key:''' {{{ Comment: Debian/Ubuntu signing key }}} '''Answer ''O'' to accept:''' {{{ You selected this USER-ID: "Kaj Ailomaa (Debian/Ubuntu package signing key) <zequence@mousike.me>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? }}} '''Create a password which will be used each time you sign with this key:''' {{{ Enter passphrase: <longandcomplexpassword> }}} '''The result will look something like this:''' {{{ gpg: key F06EFAE2 marked as ultimately trusted public and secret key created and signed. gpg: checking the trustdb gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 2u |
|
| Line 87: | Line 49: |
| Key fingerprint = 85A3 E041 0A36 8A7C 9EDA 06C9 1473 559D F06E FAE2 | |
| Line 92: | Line 53: |
| '''Next, you need to upload the public part of your key to a keyserver so the world can identify messages and files as yours. To do so, enter:''' ''(KEY ID in my case is F06EFAE2 as seen above)'' | Now, publish your GPG key using your public ID: |
| Line 94: | Line 56: |
| gpg --send-keys <KEY ID> | $ gpg --send-keys <KEY ID> |
| Line 97: | Line 59: |
| '''It may take up to one hour before the key is published and ready to be used''' | It may take up to an hour before your key is published and ready to be used. There are alternative key servers to publish to, which may be quicker. |
| Line 99: | Line 61: |
| [[http://developer.ubuntu.com/packaging/html/getting-set-up.html#create-your-gpg-key|GPG Reference at developer.ubuntu.com]] | ''Read more about [[https://help.ubuntu.com/community/GnuPrivacyGuardHowto|GPG]] at the Ubuntu Community Wiki.'' |
| Line 101: | Line 63: |
| == Create SSH Key == == Setup Launchpad Account == == Setup Developer System == == Setup Testing Environment == |
<<Include(UbuntuStudio/CreateSSHKey, 'Create a SSH Key', 2)>> |
Set Up A Basic Developer Environment
Setup Launchpad Account
First thing you need to do is set up a launchpad account. We do most of our planning, tasks management, and team management on launchpad. Some launchpad teams have special privileges. The link for creating an account is: https://login.launchpad.net/+new_account
To use launchpad fully, you'll need a GPG key, which is your virtual ID, and to handle private sources on launchpad you'll need a SSH key (which is sort of like an actual key to a lock).
Setup a GPG Key
GPG Stands for Gnu Privacy Guard.
Initially, you are required to have a GPG key in order to sign the launchpad Code of Conduct. As a developer you will be using the GPG key to sign things like changes to Ubuntu source packages. People will know you make the change from your gpg key signature.
This key is your virtual identity, so be careful with it!
First, make sure you have installed gnupg
$ sudo apt-get install gnupg
Creating the GPG key in a terminal
To create a GPG key, use this command in a terminal:
$ gpg --gen-key
Follow the instructions carefully. Choosing the default options is fine. Make sure to type in your real name and the email you want to have associated with your key. Choose a secure passphrase. If you loose the passphrase, there is no way to retrieve it.
Publish your key
Once you are done, you will need to publish your key to a server in order for it to be usable. First, you need to find out what your public ID is. To see all the GPG keys in your system, do:
$ gpg --list-keys
In this example, the public ID is F06EFAE2
pub 2048R/F06EFAE2 2012-11-12 uid Kaj Ailomaa (Debian/Ubuntu signing key) <zequence@mousike.me> sub 2048R/140030E5 2012-11-12
Now, publish your GPG key using your public ID:
$ gpg --send-keys <KEY ID>
It may take up to an hour before your key is published and ready to be used. There are alternative key servers to publish to, which may be quicker.
Read more about GPG at the Ubuntu Community Wiki.
Create a SSH Key
SSH stands for Secure Shell. It's a method for connecting to remote places.
As a developer, you will need a SSH client in combination with a SSH key in order upload changes to Ubuntu source.
First, make sure you have install the SSH client:
$ sudo apt-get install openssh-client
Creating the SSH Key in a Terminal
To create a SSH key in a terminal:
$ ssh-keygen -t rsa
Read more about SSH at the Ubuntu Community Wiki
UbuntuStudio/SetupDeveloperEnvironment (last edited 2015-11-09 12:16:45 by h-141-65)


