This is a program to release a module on SourceForge.net. It performs the following functions:
The program requires two command arguments. The first is the module name which must be a name of a directory in the modules directory. Please see the sf-tools.README file for a description the expected layout of directories. The second argument is the module's version number. The following version number formats are supported:
0.0.0 0.0.00 0.0word0 0.0word00
where "0" is any numeral 0-9 inclusive and "word" is any of the following: alpha, beta, pre, test
sft_release_module -h | --help | -m module -v version
Options:
-h, --help Display this help message and exit. -m module name of module -v version version number
sft_release_module -m my_module -v 1.0.0
This example performs a release of "my_module" version 1.0.0.
If a description file ("my_module.DESCRIPTION") is not found in the /home/your_name/your_project/modules directory, one will be created and you will be able to edit its contents.
If a CHANGELOG file is not found in the /home/your_name/your_project/modules/my_module directory, one will be created. If a new one is created, a CVS add is performed. Next, you will be able to edit the CHANGELOG file.
A CVS commit is performed to sync your CVS tree with your release. The CVS tree is also tagged with an encoded version of the release version and the release date.
A compressed tar archive is created of the module's directory. In the example above, a tar file named my_module-1.0.0.tar.gz would created in the /home/your_name/your_project/modules directory. The CVS directory for your module is excluded from the archive. When the end-user un-tars the archive, it will create a directory named "my_module-1.0.0".
The compressed tar file is uploaded to downloads.sourceforge.net via ftp.
Finally, if the MAIL_LIST constant is defined (it defaults to your_project-announce@lists.sourceforge.net), a release notice will be constructed and sent by whatever mail program is specified by the MAILER constant (default is "mail"). The release notice will include the contents of the description and CHANGELOG files.
sft_release_module is self-contained. Put it wherever is handy. Note that you need ncftp and a working cvs to make this script work.
To configure sft_release_module, set the PROJECT_NAME, SF_USER, MAIL_LIST, and MAILER constants as needed.
All the tools in the sf-tools package expect a project to organized as described in the sf-tools.README file. Also note that, by design, sft_release_module can only support one release file per module. This limitation may change in future versions.
Tested with Red Hat 6.x - 7.x
Copyright 2001-2002, William Shotts <bshotts@users.sourceforge.net>
This software is part of the LinuxCommand.org project, a site for Linux education and advocacy devoted to helping users of legacy operating systems migrate into the future.
You may contact the LinuxCommand.org project at:
http://www.linuxcommand.org
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
SourceForge.net is a trademark of VA Software, Inc.
$Id: sft_release_module.README,v 1.2 2002/03/09 16:50:43 bshotts Exp $