Diff for "Soyuz/HowToUseSoyuzLocally"

Not logged in - Log In / Register

Differences between revisions 2 and 3
Revision 2 as of 2009-11-05 12:33:24
Size: 4409
Editor: wgrant
Comment: Fix bad start-soyuz.sh URL.
Revision 3 as of 2009-11-05 12:36:16
Size: 4404
Editor: wgrant
Comment: Attach the scripts.
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
 * Grab and run http://williamgrant.id.au/f/1/2009/make-ubuntu-sane.py, to set up some Ubuntu series that still exist, along with some state such as permissions.
 * Grab and run http://williamgrant.id.au/f/1/2009/start-soyuz.sh, which will fire up all Soyuz services. This will eat lots of RAM.
 * Grab and run [[attachment:make-ubuntu-sane.py|make-ubuntu-sane.py]], to set up some Ubuntu series that still exist, along with some state such as permissions.
 * Grab and run [[attachment:start-soyuz.sh|start-soyuz.sh]], which will fire up all Soyuz services. This will eat lots of RAM.

Initial setup

  • Alter the following sections of the configuration (configs/development/launchpad-lazr.conf) as shown:

[archivepublisher]
root: /var/tmp/archive
base_url: http://archive.launchpad.dev/ # <- this

[builddmaster]
root: /var/tmp/builddmaster/
uploader: scripts/process-upload.py -Mvv --context buildd # <- and this
  • In /etc/hosts, point archive.launchpad.dev at 127.0.0.88 like the rest.

  • Add to /etc/apache2/site-available/local-launchpad:

 <VirtualHost 127.0.0.88:80>
  ServerName archive.launchpad.dev
  LogLevel debug
  DocumentRoot /var/tmp/archive
  <Directory /var/tmp/archive/>
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.0/255.0.0.0
   Options Indexes
  </Directory>
 </VirtualHost>
  • Grab and run make-ubuntu-sane.py, to set up some Ubuntu series that still exist, along with some state such as permissions.

  • Grab and run start-soyuz.sh, which will fire up all Soyuz services. This will eat lots of RAM.

Configure an account and PPA

  • make run

  • Create an account for yourself (utilities/make-lp-user USERNAME)

  • Log in with USERNAME@example.com:test.

  • Add your OpenPGP key
    • gpg --keyserver keyserver.launchpad.dev --send-keys DEADBEEF

    • Add it to your Launchpad account, as normal.
    • Check email in root's mailbox, and use it to activate the key.

  • Sign the code of conduct.
  • Create a PPA.

Set up the PPA

  • Log out.
  • Log in as admin@example.com:test.

  • Browse to the new PPA.
  • Click "Administer".
  • Ensure that the PPA is allowed to build on non-virtual builders.
  • Add an external dependency so you don't have to import the entire Ubuntu archive just for a PPA to work:

deb http://archive.ubuntu.com/ubuntu %(series) main restricted universe multiverse

Configure a buildd

  • cd lib/canonical/buildd

  • dpkg-buildpackage -b

  • sudo dpkg -i ../launchpad-buildd_50_all.deb

  • Make it work.
    • Add $SUDO cp /etc/resolv.conf /etc/hosts "$HOME/build-$BUILDID/chroot-autobuild/etc to the end of /usr/share/launchpad-buildd/slavebin/mount-chroot, so name resolution works.

    • Might need to add --umask=022 to twistd args in /etc/init.d/launchpad-buildd, or pkg-create-dbgsym fails obscurely.

    • (>= Karmic) Might need to alter "dpkg-source: extracting" output grepping in sbuild to "dpkg-source: info: extracting"

  • Get an Ubuntu buildd chroot.
  • scripts/ftpmaster-tools/manage-chroot.py -s lucid -a i386 add -f chroot-ubuntu-lucid-i386.tar.bz2

  • Mark Bob the Builder as OK (https://launchpad.dev/builders/bob/+edit)

Upload a source to the PPA

  • Run scripts/process-upload.py /var/tmp/poppy (creates hierarchy)

  • Add to ~/.dput.cf:

[lpdev]
fqdn = ppa.launchpad.dev:2121
method = ftp
incoming = %(lpdev)s
login = anonymous
  • dput lpdev:~USERNAME/PPANAME/ubuntu some_source.changes

  • scripts/process-upload.py /var/tmp/poppy # Accept the source upload.

  • Within five seconds of upload acceptance, the buildd should start building. Wait until it is complete.
  • scripts/process-accepted.py --ppa ubuntu # Create publishings for the binaries.

  • scripts/publish-distro.py --ppa # Publish the source and binaries.

    • Note that private archive builds will not be dispatched until their source is published.

Dealing with the primary archive

  • Add yourself to ~ubuntu-team.

  • dput lpdev:ubuntu some_source.changes

  • scripts/process-upload.py /var/tmp/poppy

  • Watch the output -- the upload might end up in NEW.
    • If it does, go to the queue and accept it.
  • Your builder should now be busy. Once it finishes, the binaries might go into NEW. Accept them if required.
  • scripts/process-accepted.py ubuntu

  • scripts/publish-distro.py

    • The first time, add -C to ensure a full publication of the archive.

Soyuz/HowToUseSoyuzLocally (last edited 2022-12-10 08:09:22 by jugmac00)