NAME
fm-submit - submit project releases to freshmeat.net
SYNOPSIS
fm-submit [options] ...
fm-submit --help | --man
DESCRIPTION
fm-submit is a tool to submit project release announcements to freshmeat.net via XML-RPC, from the command line.
Release information is accepted from binary packages (RPMs) named in the command line, or from an email-like data block on standard input, or from command-line flags.
If more than one data source is used, command-line values override values read from standard input, which in turn override values read from binary packages.
OPTIONS
- -d,
--delete
- Delete the specified release rather than submitting it. With this option, all data other than Project, Branch, and Release are ignored.
- -n,
--no-stdin
- Process command-line options only; don't read data from standard input.
- -N,
--noemit
- Display the merged record from binary package arguments, standard input and command-line options to standard output. Don't ship it.
VALUES
In the list below, the header line (see below) is shown first if applicable, followed by the command line option used to set it.
- Project: -p,
--project
- Name of the project (freshmeat shortname) to operate on.
- Branch: -b,
--branch
- Name of project branch to operate on; defaults to ``Default''.
- Version: -v,
--version
- Version string to be associated with the release. Conventionally this will look like ``n.n'' or ``n.n.n'', where each ``n'' is an integer number.
- Changes: -c,
--changes
- The Changes field. Plain text, no more than 600 characters. If no Changes field or option is aleady present, the changes text is taken from the body of the RFC-822 message on standard input.
- Release-Focus: -r,
--release-focus
- Purpose of this release. See the table of release-focus types below.
- Hide: -x,
--hide
- If this field is present and has the value ``Y'', this release will not be visible on the main freshmeat.net page.
- License: -l,
--license
- The license under which the release is issued. This should ideally be one of the names of the nodes in the license root category on Freshmeat (see http://freshmeat.net/browse/13/) but common abbreviations are accepted as well.
- Home-Page-URL: -H,
--home-page-url
- The project home page.
- Gzipped-Tar-URL: -G,
--gzipped-tar-url
- The URL where a gzipped tarball of source can be found.
- Bzipped-Tar-URL: -B,
--bzipped-tar-url
- The URL where a bzipped tarball of source can be found.
- Zipped-Tar-URL: -Z,
--zipped-tar-url
- The URL where a zip of the source can be found.
- Changelog-URL: -C,
--changelog-url
- The URL where the project changelog can be found.
- RPM-URL: -R,
--rpm-url
- The URL where an installable binary RPM can be found.
- Debian-URL: -D,
--debian-url
- The URL where an installable Debian package can be found.
- OSX-URL: -O,
--osx-url
- The URL where an OS/X binary can be found.
- BSD-Port-URL: -P,
--bsdport-url
- The URL where a BSD Ports package can be found.
- Purchase-URL: -U,
--purchase-url
- The URL where the software can be purchased.
- CVS-URL: -S,
--cvs-url
- The URL of the CVS for this package.
- Mailing-List-URL: -L,
--mailing-list-url
- The URL where you can sign up for project mailing lists.
- Mirror-Site-URL: -M,
--mirror-site-url
- The URL where an official mirror site for the project can be found.
- Demo-URL: -E,
--demo-url
- The URL where a demonstration site for the package can be found.
The release focus can be any of the following:
Initial freshmeat announcement 1 Documentation 2 Code cleanup 3 Minor feature enhancements 4 Major feature enhancements 5 Minor bug fixes 6 Major bug fixes 7 Minor security fixes 8 Major security fixes 9
Either the text (case-insensitive) or the number can be used.
USAGE
Here is an example of a release information record that could be fed to fm-submit on standard input:
Project: fm-submit Version: 0.0.4 Release-Focus: Minor feature enhancements Hide: N Home-Page-URL: http://www.ivarch.com/programs/fm-submit.shtml Gzipped-Tar-URL: http://www.ivarch.com/programs/sources/fm-submit-0.0.4.tar.gz RPM-URL: http://www.ivarch.com/programs/rpms/fm-submit-0.0.4-1.noarch.rpm
Code cleanup. Abbreviations for common licenses are now accepted. Some minor documentation improvements were made.
More typically, you will run this program in a directory where you have already made an RPM, giving it the RPM as a file argument. In that case, all you will normally need to supply is the Release-Focus field; the other required fields (including, most notably, the Changes field) will be mined out of the RPM.
Account details for freshmeat.net are read from ~/.netrc - see the netrc manual page for details, but for a quick start, just put something like this in your ~/.netrc:
machine freshmeat login YOUR-FRESHMEAT-USERNAME password YOUR-FRESHMEAT-PASSWORD
RETURN VALUES
fm-submit returns zero on success, 1 on failure. On failure, an error string is output on standard error.
AUTHORS
Andrew Wood <andrew dot wood at ivarch dot com>
Based on the Python script freshmeat-submit by Eric S. Raymond.