This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: release script and ftp.gnu.org


Joe Buck <Joe.Buck@synopsys.COM> writes:

| On Fri, Feb 20, 2004 at 04:12:08PM +0100, Gabriel Dos Reis wrote:
| >   Currently our release script is set so that when it comes to make an
| > actual release, it will package everything and do an upload on our ftp
| > server.  It was hoped that mirrors will pick the release from there
| > (that is what most of them do).  The remarkable exception is
| > ftp.gnu.org, which at some point was requiring an explicit copying.
| > 
| >   With the recent redesign of the way packages are uploaded on
| > ftp.gnu.org, the release process is a little bit complicated.  For
| > every file in the release gcc-x.y.z/ one needs to provide a triplet
| > of files (the actual file, a GnuPG signed one, a directive file).
| > Those are fairly mechanic but tedious (best handled by custom script).
| > I was wondering whether it would not be a good idea to extend our
| > release script to take account of that additional process or if there
| > were conceptual/technical problems with it.
| 
| It does seem that we need to write down the procedure, since it isn't
| getting handled and since it changed recently (with new security measures
| at the FSF).

OK, let me expand a little bit. On ftp sites, GCC releases are located
under the directory gcc/releases/.  That directory contains something
like this:

    gcc-x.y.z/          # x.y.z is the version of GCC
        diffs/          # contains diffs from previous release
                        # to the files listed below
        gcc-x.y.z.tar.gz
        gcc-x.y.z.tar.bz2
        gcc-ada-x.y.z.tar.gz
        gcc-ada-x.y.z.tar.bz2
        gcc-core-x.y.z.tar.gz
        gcc-core-x.y.z.tar.bz2
        gcc-g++-x.y.z.tar.gz
        gcc-g++-x.y.z.tar.bz2
        gcc-g77-x.y.z.tar.gz
        gcc-g77-x.y.z.tar.bz2
        gcc-java-x.y.z.tar.gz
        gcc-java-x.y.z.tar.bz2
        gcc-objc-x.y.z.tar.gz
        gcc-objc-x.y.z.tar.bz2
        gcc-testsuite-x.y.z.tar.gz
        gcc-testsuite-x.y.z.tar.bz2

To upload any file (say "foo") from the above list, one needs to
provide a triplet like this:

        foo
        foo.sig
        foo.directive.asc

The meanings of which are the following:

   * foo: the file to upload
   * foo.sig: GPG binary signature for foo
   * foo.directive.asc: clearsigned directive file for foo

The directive file for foo says in which directory the file foo should
be placed.  For example, the directive file for gcc-x.y.z.tar.gz would
contain 

     directory: gcc/releases/gcc-x.y.z

and so one.  The directive file for any diff file would contain

     directory: gcc/releases/gcc-x.y.z/diffs 

-- Gaby


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]