2240
Comment:
|
← Revision 4 as of 2015-01-21 11:35:35 ⇥
2220
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:
For uploading to a PPA: dput ppa:lpuserid/ppaname my_source.changes
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.