Soyuzness
Configure a PPA
- Create Launchpad account (utilities/make-lp-user)
- Run the keyserver (zeca) with bin/twistd --nodaemon --logfile - -y daemons/zeca.tac
- Add OpenPGP key
- Make sure you upload your key to localhost.
- Check email in root's mailbox, and activate key.
- Sign code of conduct.
- Create a PPA
- Ensure that the PPA is allowed to build on non-virtual builders.
Create a less ancient series
- Head over to https://launchpad.dev/ubuntu/+addseries, and create a recent series (eg. jaunty). Inherit from one of the other Ubuntu series.
- Copy packages and DASs with scripts/ftpmaster-tools/initialise-from-parent.py jaunty
Configure a buildd
- cd lib/canonical/buildd
- dpkg-buildpackage -b
- sudo dpkg -i ../launchpad-buildd_47_all.deb
- sudo adduser buildd
- Edit lib/canonical/buildd/example.chroot:
- Replace distroseries with something that still exists.
- Replace debootstraparchive and archiveroot with an archive mirror
- sudo -H -u buildd buildd-slave-chroot-tool --generate example.chroot
- scripts/ftpmaster-tools/manage-chroot.py -s jaunty -a i386 add -f chroot-ubuntu-jaunty-i386.tar.bz2
- Mark Bob the Builder as active (https://launchpad.dev/builders/bob/+admin)
Configure build pieces
- Set builddmaster.uploader in configs/development/launchpad-lazr.conf to something sane (scripts/process-upload.py -Mvv --context buildd)
- Set archivepublisher.base_url = http://some.ubuntu.mirror/ # Must omit the trailing 'ubuntu', this time.
Upload a source
- Run scripts/process-upload.py /var/tmp/poppy (creates hierarchy)
- Run poppy
- Upload package to localhost:2121.
- scripts/process-upload.py /var/tmp/poppy # Accept the source upload.
- scripts/publish-distro.py --ppa # Publish the source.
- Private archive builds will not be dispatched until their source is published.
Build it
- Start buildd-manager:
- bin/twistd --nodaemon --logfile - -y daemons/buildd-manager.tac
- Wait for build to finish.
- scripts/process-accepted.py --ppa ubuntu # Create publishings for the binaries.
- scripts/publish-distro.py --ppa # Publish the binaries.