Diff for "Soyuz/TechnicalDetails/Uploading"

Not logged in - Log In / Register

Differences between revisions 3 and 4
Revision 3 as of 2011-09-09 11:40:21
Size: 2240
Comment:
Revision 4 as of 2015-01-21 11:35:35
Size: 2220
Editor: cjwatson
Comment: poppy → txpkgupload
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. It runs on cocoplum, the Ubuntu machine, and germanium, the PPA machine. The very first step in upload processing is actually receiving packages from contributors. This is done with a [[http://twistedmatrix.com/|Twisted]] daemon called txpkgupload, which is both an FTP and SFTP server. It runs on pepo, the Ubuntu machine, and haetae, the PPA machine.
Line 7: Line 7:
== Poppy == == txpkgupload ==
Line 9: Line 9:
 * `daemons/poppy-sftp.tac`
 * `lib/lp/poppy`
 * lp:txpkgupload
Line 38: Line 37:
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: txpkgupload is configured with a `txpkgupload.yaml` file, including the destination directory for uploaded files - let's call that $INCOMING for now. txpkgupload 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:

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 txpkgupload, which is both an FTP and SFTP server. It runs on pepo, the Ubuntu machine, and haetae, the PPA machine.

txpkgupload

  • lp:txpkgupload

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

txpkgupload is configured with a txpkgupload.yaml file, including the destination directory for uploaded files - let's call that $INCOMING for now. txpkgupload 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)