Debian Repository

From CSCWiki
Jump to: navigation, search

There is a CSClub Debian repository on potassium-benzoate.

Step 0: Create a GPG key

Use "gpg --gen-key" or something like that. Skip this if you already have one.

Step 1: Add to Uploaders

The /srv/debian/conf/uploaders file on mirror contains the list of people who can upload. Add your GPG key id to this file. Use "gpg --list-secret-keys" to find out the key ID. You also need to import your key into the mirror's gpg homedir as follows:

gpg --export $KEYID | sudo env GNUPGHOME=/srv/debian/gpg gpg --import

You only need to do this step once.

Step 2: Get the source code

To get the source code of a debian package you can use "apt-get source packagename". You can also download the requisite files from the web; the easy way is to run the dget command on the path to the .dsc file. For example:

dget http://ppa.launchpad.net/daltenty/boxes/ubuntu/pool/main/b/bullet/bullet_2.77+svn2218-1.dsc

Step 2.5: Make changes

If necessary, you can haxor the source code now. If you make changes run something like

EMAIL=you@csclub.uwaterloo.ca NAME="Your Name" dch -i

And optionally write some notes about the changes. This step is needed to increment the version number; if the version number is not greater than the one available from ubuntu the packages will NOT be installed. Furthermore you cannot upload the same version number twice.

Step 3: Build the package

Just type "debuild -k04067B0B" in the debian directory. Replace the hex number with your key ID. If there are dependencies missing, you may be able to install them using "apt-get build-dep packagename". If not, then install them some other way.

Step 4: Upload the package

Building will create a .changes file in the parent directory. If the file failed to properly sign (e.g. you typed your password wrong 3 times) you cam reattempt signing by running "debsign -k04067B0B foo.changes" (and changing the hex number to your key ID). Once signed, you can upload.

To add a newly built package type the following after building:

dupload packages.changes

Step 5: Update the Repository

Log into mirror and type "sudo rrr-incoming". This is supposed to happen once every few minutes however it is always faster to run it manually.

Step 6: Install the package

Just install the package with apt-get as normal. Don't forget to run "apt-get update" first.

Configuring Machines

The /etc/apt/sources.list entry is:

deb http://debian.csclub.uwaterloo.ca/ [distribution] main
deb-src http://debian.csclub.uwaterloo.ca/ [distribution] main