Next: , Previous: , Up: Automated FTP Uploads   [Contents][Index]


12.6.4 FTP Upload Directive File

To repeat, a (signed) directive file must be part of every upload. The unsigned original is just a plain text file you can create with any text editor. Its name must be, e.g., foo-1.0.tar.gz.directive for accompanying an upload of foo-1.0.tar.gz.

After creating the file, run ‘gpg --clearsign foo-1.0.tar.gz.directive’, which will create foo-1.0.tar.gz.directive.asc; this is the file to be uploaded.

When part of a triplet for uploading a release file, the directive file must always contain the directives version, filename and directory. In addition, a comment directive is optional. These directives can be given in any order.

Continuing our example of uploading foo-1.0.tar.gz for a package named foo to ftp.gnu.org, the values would be as follows:

version

must be the value ‘1.2’ (the current version, as of May 2012):
version: 1.2

filename

must be the name of the file to be distributed:
filename: foo-1.0.tar.gz

directory

specifies the final destination directory where the uploaded file and its .sig companion are to be placed. Here we will put our file in the top level directory of the package, as is the most common practice:
directory: foo

comment

is optional, and ignored if present:
comment: let's hope this works!

Putting all of the above together, the complete contents of the directive file foo-1.0.tar.gz.directive for our example would be:

version: 1.2
directory: foo
filename: foo-1.0.tar.gz
comment: let's hope this works!

Then you ‘gpg --clearsign’ the file as given above, and upload (using anonymous ftp) the three files:

foo-1.0.tar.gz
foo-1.0.tar.gz.sig
foo-1.0.tar.gz.directive.asc

to the host ftp-upload.gnu.org, directory /incoming/ftp (for official releases), or the directory /incoming/alpha (for test releases).

After the system authenticates the signatures, the files foo-1.0.tar.gz and foo-1.0.tar.gz.sig are placed in the directory gnu/foo/ on ftp.gnu.org. That is, we’ll have made our release available at ‘https://ftp.gnu.org/gnu/foo/foo-1.0.tar.gz’ (and then from our many mirrors via ‘https://ftpmirror.gnu.org/foo/foo-1.0.tar.gz’). Whew.

A common reason for the upload not succeeding is your GPG signature not being registered with the upload system. There is nothing that makes this happen automatically. You must email the system administrators as described above (see Automated Upload Registration).


Next: , Previous: , Up: Automated FTP Uploads   [Contents][Index]