To download these packages using Debian-based package/dependency management
tools, add the following lines to your
(or to the configuration dialogue in your chosen tools):
deb http://packages.boddie.org.uk/ lenny paul deb-src http://packages.boddie.org.uk/ lenny paul
You may then need to run the following command, or you can import my key
information first and then return to run this command (using
or as root):
New and updated packages should become available. Be warned that these could compete with packages obtained through the standard repositories, even though I try to prevent such things from occurring.
My signing key can be imported into your system as follows:
apt-key add paul.asc
Generally, you should try and verify such keys and not just trust those you find on the Internet. I exported this key as follows:
gpg -a --export 9F308B3C > paul.asc
First, I had to set up a build environment for package building under Debian
Lenny (the current stable version), not the distribution I am actually using
sudo or as root):
pbuilder create --distribution lenny --mirror http://ftp.no.debian.org/debian/
(Here, I choose a local mirror.)
Then, taking Shed Skin as an example, I exported the package code from Subversion into a separate directory:
svn export . ../shedskin-snapshot-20100114
I then added suitable packaging files to the distribution.
In the exported code directory, I then ran the build process in the build environment (sandbox) created above.
pdebuild --auto-debsign --debsign-k 9F308B3C
9F308B3C is taken from
gpg --list-keys and
refers to the key I sign the packages with.)
Hopefully, the binary package then emerges in the
/var/cache/pbuilder/result/ directory, while some other related
files appear in the parent directory.
The structure of this repository was built locally and looks like this:
dists dists/lenny dists/lenny/paul dists/lenny/paul/binary-i386 dists/lenny/paul/source
The binary package created above is copied into the repository as follows, along with a changelog for the binary package:
cp /var/cache/pbuilder/result/shedskin_0.3-1_all.deb dists/lenny/paul/binary-i386/ cp /var/cache/pbuilder/result/shedskin_0.3-1_i386.changes dists/lenny/paul/binary-i386/
The source files are copied from their location as follows:
cp /var/cache/pbuilder/result/shedskin_0.3-1.dsc dists/lenny/paul/source/ cp /var/cache/pbuilder/result/shedskin_0.3-1.tar.gz dists/lenny/paul/source/
And from the parent directory of the build directory:
cp shedskin_0.3-1_source.changes dists/lenny/paul/source/
To make sure that the repository is usable, a number of activities need to be performed:
I found that thanks to the efforts of others, the following script could be used to do this work:
rm dists/lenny/Release* apt-ftparchive packages dists/lenny/paul/binary-i386/ > dists/lenny/paul/binary-i386/Packages gzip -9c dists/lenny/paul/binary-i386/Packages > dists/lenny/paul/binary-i386/Packages.gz apt-ftparchive sources dists/lenny/paul/source/ > dists/lenny/paul/source/Sources gzip -9c dists/lenny/paul/source/Sources > dists/lenny/paul/source/Sources.gz apt-ftparchive release dists/lenny \ -o APT::FTPArchive::Release::Origin="Paul Boddie" \ -o APT::FTPArchive::Release::Codename="lenny" \ -o APT::FTPArchive::Release::Architecture="all" \ > Release mv Release dists/lenny/ gpg -a -b --sign -o dists/lenny/Release.gpg dists/lenny/Release
Finally, the files are uploaded to the public site.