This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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