Debian Repository
There is a CSClub Debian repository on sodium-benzoate.
Step 0: Create a GPG key
Use "gpg --gen-key" or something like that.
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.
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.
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 may need to run a command resembling "debsign -k04067B0B foo.changes". 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