Builds can be performed on dixie.torproject.org.
Uploads must be go to palmeri.torproject.org.
Preliminary setup
In ~/.ssh/config
:
Host dixie.torproject.org
ProxyCommand ssh -4 perdulce.torproject.org -W %h:%p
In ~/.dput.cf
:
[tor]
login = *
fqdn = palmeri.torproject.org
method = scp
incoming = /srv/deb.torproject.org/incoming
Currently available distributions
- Debian:
lenny-backport
experimental-lenny-backport
squeeze-backport
experimental-squeeze-backport
wheezy-backport
experimental-wheezy-backport
unstable
experimental
- Ubuntu:
hardy-backport
lucid-backport
experimental-lucid-backport
natty-backport
experimental-natty-backport
oneiric-backport
experimental-oneiric-backport
precise-backport
experimental-precise-backport
quantal-backport
experimental-quantal-backport
raring-backport
experimental-raring-backport
Create source packages
Source packages must be created for the right distributions.
Helper scripts:
Build packages
Upload source packages to dixie
:
dcmd rsync -v *.dsc dixie.torproject.org:
Build arch any packages:
ssh dixie.torproject.org
for i in *.dsc; do ~weasel/bin/sbuild-stuff $i && linux32 ~weasel/bin/sbuild-stuff --binary-only $i || break; done
Or build arch all packages:
ssh dixie.torproject.org
for i in *.dsc; do ~weasel/bin/sbuild-stuff $i || break; done
Packages with dependencies in deb.torproject.org
must be built using
$suite-debtpo-$arch-sbuild
, e.g. by running:
DIST=wheezy-debtpo ~weasel/bin/sbuild-stuff $DSC
Retrieve build results:
rsync -v $(ssh dixie.torproject.org dcmd '*.changes' | sed -e 's/^/dixie.torproject.org:/') .
Upload first package with source
Pick the first changes file and stick the source in:
changestool $CHANGES_FILE includeallsources
Sign it:
debsign $CHANGES_FILE
Upload:
dput tor $CHANGES_FILE
Start a first dinstall
:
ssh -t palmeri.torproject.org sudo -u tordeb /srv/deb.torproject.org/bin/dinstall
Move changes file out of the way:
dcmd mv $CHANGES_FILE archives/
Upload other builds
Sign the remaining changes files:
debsign *.changes
Upload them:
dput tor *.changes
Run dinstall
:
ssh -t palmeri.torproject.org sudo -u tordeb /srv/deb.torproject.org/bin/dinstall
Archive remaining build products:
dcmd mv *.changes archives/
Uploading admin packages
There is a separate Debian archive, on db.torproject.org
, which can
be used to upload packages specifically designed to run on
torproject.org
infrastructure. The following .dput.cf
should allow
you to upload built packages to the server, provided you have the
required accesses:
[tpo-admin]
fqdn = db.torproject.org
incoming = /srv/db.torproject.org/ftp-archive/archive/pool/tpo-all/
method = sftp
post_upload_command = ssh root@db.torproject.org make -C /srv/db.torproject.org/ftp-archive
This might require fixing some permissions. Do a chmod g+w
on the
broken directories if this happens. See also ticket 34371 for
plans to turn this into a properly managed Debian archive.