Diff for "Soyuz/TechnicalDetails/Uploading"

Not logged in - Log In / Register

Differences between revisions 2 and 3
Revision 2 as of 2011-09-09 11:37:18
Size: 2166
Comment:
Revision 3 as of 2011-09-09 11:40:21
Size: 2240
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
The very first step in upload processing is actually receiving packages from contributors. This is done with a [[http://twistedmatrix.com/|Twisted]] daemon called Poppy, which is both an FTP and SFTP server. The very first step in upload processing is actually receiving packages from contributors. This is done with a [[http://twistedmatrix.com/|Twisted]] daemon called Poppy, which is both an FTP and SFTP server.  It runs on cocoplum, the Ubuntu machine, and germanium, the PPA machine.

Next Page: The Upload Processor

Soyuz Upload Processing

The very first step in upload processing is actually receiving packages from contributors. This is done with a Twisted daemon called Poppy, which is both an FTP and SFTP server. It runs on cocoplum, the Ubuntu machine, and germanium, the PPA machine.

Poppy

  • daemons/poppy-sftp.tac

  • lib/lp/poppy

To upload a package with FTP you have two ways:

  1. For uploading to a PPA: dput ppa:lpuserid/ppaname my_source.changes

  2. Create a dput config for flexibility. In your ~/.dput.cf file, add:

    •    [dogfood]
         fqdn = dogfood.launchpad.net
         method = ftp
         incoming = ubuntu/
         login = anonymous
         allow_unsigned_uploads = 0

      This allows you to type dput dogfood my_source.changes and it uploads to the dogfood target in the config.

For SFTP uploading there is no shortcut and you always need to create a dput.cf.

  •    [ppa-sftp]
       fqdn                    = dogfood.launchpad.net:5022
       method                  = sftp
       incoming                = ~%(ppa-sftp)s/ubuntu
       login                   = julian-edwards

This has actually created a shortcut so you can type: dput ppa-sftp:lpuserid/ppaname my_source.changes

Poppy is configured with a [poppy] section in the config, including the destination directory for uploaded files - let's call that $INCOMING for now. Poppy has a bit of magic in it and it will autocreate directories as the [S]FTP client does a CWD command. The destination directory has a very specific layout of sub-directories like this:

$INCOMING/upload-[s]ftp-YYYYMMDD-HHMMSS-NNNNNN/distribution_name/

or for PPA uploads:

$INCOMING/upload-[s]ftp-YYYYMMDD-HHMMSS-NNNNNN/~<personname>[/ppa_name]/<distroname>[/distroseriesname]

Everything after the directory under the upload-[s]ftp-YYYYMMDD-HHMMSS-NNNNNN/ is controlled by the uploading user - it allows them to set whether it's a distribution upload or a PPA upload. This is controlled from the .dput.cf that you set.

Next Page: The Upload Processor

Soyuz/TechnicalDetails/Uploading (last edited 2015-01-21 11:35:35 by cjwatson)