ReleaseForge

 

 

 

SourceForge.net Logo  

Python

ReleaseForge - Frequently Asked Questions

General

Q. 1.0   What is ReleaseForge?
Q. 1.1   Sounds interesting... What does ReleaseForge actually do?
Q. 1.2   Is ReleaseForge compatible with SourceForge?
Q. 1.3   Who should use ReleaseForge?
Q. 1.4   Who designed ReleaseForge?
Q. 1.5   I am the administrator of several SourceForge projects, can I use ReleaseForge?
Q. 1.6   SourceForge already provides an interface for releasing files, why should I use ReleaseForge?
Q. 1.7   How does ReleaseForge work?
Q. 1.8   Is ReleaseForge secure?
Q. 1.9   Where can I ask questions about ReleaseForge
Q. 1.10   How do I stay informed about new ReleaseForge versions?
Q. 1.11   ReleaseForge is amazing, how can I help?

Technical

Q. 2.0   What are the requirements of using ReleaseForge?
Q. 2.1   Qt3 isn't freely available for Windows, how can I use ReleaseForge?
Q. 2.2   Why are some Python 2.4 modules included in the ReleaseForge distribution?
Q. 2.3   Why doesn't ReleaseForge *require* Python 2.4?
Q. 2.4   Do I need to install all of the dependencies?
Q. 2.5   How can I disable the logging messages from ReleaseForge?
Q. 2.6   I'm using a 64-bit Linux distro, will ReleaseForge work?
Q. 2.7   Can you supply a Debian package for ReleaseForge?

Using ReleaseForge

Q. 3.0   How do I download ReleaseForge?
Q. 3.1   How do I install ReleaseForge?
Q. 3.2   How do I configure ReleaseForge?
Q. 3.3   How do I run ReleaseForge?
Q. 3.4   I see some errors on startup, what's wrong?
Q. 3.5   I just upgraded from a previous version, what should I do?
Q. 3.6   When I launch ReleaseForge it prompts me to login everytime, can ReleaseForge automatically login?

General

A. 1.0

What is ReleaseForge?


ReleaseForge is a GUI application designed for project administrators and release engineers of projects that are hosted at SourceForge. It is intended to make it easier and faster to create a new release and edit existing releases rather than using the SourceForge Web interface directly.

Return to top


A. 1.1

Sounds interesting... What does ReleaseForge actually do?


ReleaseForge streamlines the release effort by prompting you for information regarding your new release (version info, change log, release notes, files to include, etc). It then seamlessly negotiates with the SourceForge Web server, creating your release, posting your release notes/change log, uploading your files to the SourceForge FTP server, selecting the files for inclusion in your release on the SourceForge Web server, updating the file attributes of each of the files and then, if appropriate, notifying monitoring users of the new release.

Return to top


A. 1.2

Is ReleaseForge compatible with SourceForge?


Ofcourse! ReleaseForge is designed to be an alternative to the SourceForge File Release System (FRS). ReleaseForge seemlessly negotiates with the FRS and SourceForge FTP servers to make your next project release quicker and easier. You've worked hard to develop your application, ReleaseForge makes it a breeze for you to share it with the open source community.

Return to top


A. 1.3

Who should use ReleaseForge?


Anybody that is responsible for releasing new versions of atleast one SourceForge project will benefit from ReleaseForge.

Return to top


A. 1.4

Who designed ReleaseForge?


Phil Schwartz. I also have several other open source projects.

Return to top


A. 1.5

I am the administrator of several SourceForge projects, can I use ReleaseForge?


Yes! ReleaseForge was designed with the following concepts in mind:

1) A SourceForge user can be responsible for one or more projects

2) A project can have one or more packages

Therefor, if you administer the releases of several SourceForge projects and/or a single project that contains many packages then you will be able to benefit greatly from ReleaseForge. Whether you administer one project or many, one package or many, ReleaseForge is designed to work well in all possible situations.

Return to top


A. 1.6

SourceForge already provides an interface for releasing files, why should I use ReleaseForge?


The SourceForge package release interface is effective but not efficient. I have several SourceForge projects and I find the SourceForge interface to be time consuming. I have been releasing files for several years using SourceForge and I've never cared for the interface but there wasn't an alternative. With that in mind, I set out to create an alternative that others could benefit from... and that alternative is ReleaseForge.

Return to top


A. 1.7

How does ReleaseForge work?


When initially run, ReleaseForge prompts you for your SourceForge login information (username and password). Using SSL (https), ReleaseForge logs into SourceForge and downloads all of your project and package information.

You can then select a project and:

  1. Create a new package
  2. Update the status of an existing package (eg. show/hide)
  3. Update the name of an existing package

You can then select a package and create a new release. This will launch a wizard that will guide you through:

  1. Naming your new release (eg. v1.0)
  2. Importing your changelog
  3. Importing your release notes
  4. Selecting files to include in your new release.
    1. ReleaseForge will try and guess each file type, eg. .exe, .rpm, .tgz, etc... (currently, with SourceForge, you manually select the file type for each file)
    2. You can specify the architecture (eg. i386, AMD64, etc...) for all of your files and/or specify the architecture to each file, individually (currently, the SourceForge interface forces you to select this individually)
  5. When you have completed the wizard, ReleaseForge does the rest!
    1. Automatically uploads all of your files via anonymous ftp to the SourceForge ftp server
    2. Creates the new release on SourceForge
    3. Uploads your release notes and change log
    4. Selects your files for inclusion in the new release
    5. Associates each file with it's file type (eg. .rpm) and architecture (eg. i386)
    6. Optionally, notifies the users that are monitoring your project of the new release.
  6. All of this is done without firing up your web browser! More importantly, there is no need to manually release files on SourceForge ever again! ReleaseForge does the grunt work, so that you don't have to!

Return to top


A. 1.8

Is ReleaseForge secure?


ReleaseForge uses SSL (https) for secure communication with the SourceForge webserver.

Return to top


A. 1.9

Where can I ask questions about ReleaseForge


You can either email me directly or join the ReleaseForge mailing list

Return to top


A. 1.10

How do I stay informed about new ReleaseForge versions?


You can learn about new ReleaseForge versions by subscribing to the ReleaseForge announcement mailing list. This mailing list is a read-only list and has a low volume of mail.

Return to top


A. 1.11

ReleaseForge is amazing, how can I help?


Your feedback is always important to me... and so is your money!

If you truly appreciate ReleaseForge you might also consider making an insanely generous donation. You can be assured that all money donated to the project will be spent wisely (on delicious beer). Additionally, 10 percent of contributed funds goes directly to the Python Software Foundation (after SourceForge and PayPal take out their share, that is!)

Return to top


Technical

A. 2.0

What are the requirements of using ReleaseForge?


Releaseforge depends on:
  • Python 2.3 or greater
  • Qt v3.0 or greater
  • PyQt v3.0 or greater
If you are using Linux, chances are, you already have PyQt and Qt installed. Python 2.3 (or greater) may not be included on your system, so you may need to download it. If you are using Windows, an installer is available that will install everything that you need.

Return to top


A. 2.1

Qt3 isn't freely available for Windows, how can I use ReleaseForge?


Simply download and install the Windows binary. This file is in the form releaseforge-VERSION-win32.exe (where VERSION is the ReleaseForge version, eg: 0.6, etc). The Windows binary includes all of the libraries necessary for running ReleaseForge without the need to install any of the dependencies. That is, you do not need to install Python, Qt or PyQt. Simply install ReleaseForge with the Windows binary and run it.

Return to top


A. 2.2

Why are some Python 2.4 modules included in the ReleaseForge distribution?


Python 2.4 added several new modules (eg. cookielib and set) and updated others (eg. urllib2, base64, httplib) that ReleaseForge takes advantage of and requires. If you are using Python 2.4 then the modules included with ReleaseForge are ignored. However, if you are using Python 2.3, the Python 2.4 modules that are included with ReleaseForge are used as necessary. This helps ensure that ReleaseForge is compatible with Python 2.3 and Python 2.4.

The files in the modules/python24 directory of the ReleaseForge source distribution are copied from the Python 2.4 distribution. Some of them are slightly modified (eg. Python 2.4 allows a more elegant multi-line import statement).

Return to top


A. 2.3

Why doesn't ReleaseForge *require* Python 2.4?


Early development versions of ReleaseForge did require Python 2.4. However, I did not have access to PyQt for Python 2.4 on both Linux and Windows so rather than require Python 2.4, I decided to port ReleaseForge over to Python 2.3. In this way, I can easily ship a Windows installer that included an executable version of ReleaseForge which is based on Python 2.3. Releasing a version of ReleaseForge that is compatible with Python 2.3 or greater will also make it easier for people to use (since many Linux distros already include Python 2.3).

Return to top


A. 2.4

Do I need to install all of the dependencies?


ReleaseForge is shipped in several formats. Depending on the format that you download you may or may not need to satisfy the dependencies. If you are using a source distribution of ReleaseForge you will need to install the dependencies. If you are using an rpm distribution, you will need to install the prerequisite rpms.

However, if you are installing the Windows binary distribution then it includes everything you need to run ReleaseForge. That is, there is no need to install Python, Qt or PyQt.

Return to top


A. 2.5

How can I disable the logging messages from ReleaseForge?


By default, ReleaseForge logs status messages via the Python logging package to stdout and to the file releaseforge.log.

If you wish to disable the logging to either or both of these paths you can edit the included logger.ini file that ships within the ReleaseForge package.

To disable the logging to stdout:
Change line 16 from:
handlers=hand01,hand02
to:
handlers=hand02

To disable the logging to releaseforge.log:
Change line 16 from: handlers=hand01,hand02
to:
handlers=hand01

To disable all logging:
Change line 16 from: handlers=hand01,hand02
to:
handlers=

Return to top


A. 2.6

I'm using a 64-bit Linux distro, will ReleaseForge work?


Currently, ReleaseForge's rpm's are intended for 32-bit platforms. However, the ReleaseForge tarball will work without any known issues. If you insist on using an rpm, you should use the src.rpm that is shipped with ReleaseForge and change the Python path from /usr/lib/python2.3 to /usr/lib64/python2.3

Return to top


A. 2.7

Can you supply a Debian package for ReleaseForge?


Unfortunately, I am not a Debian user so I cannot personally provide a package for Debian use. However, Roberto Sanchez has provided a Debian package for ReleaseForge.

Return to top


Using ReleaseForge

A. 3.0

How do I download ReleaseForge?


ReleaseForge can be downloaded from SourceForge.

Return to top


A. 3.1

How do I install ReleaseForge?


If you have chosen to install the Windows executable then simply run it and the Installer will guide you through the installation process.

If you have downloaded the ReleaseForge rpm then, as root, execute the following command:

$ rpm --install ReleaseForge-VERSION.noarch.rpm

If you are using a souce distribution you must unpack your distribution as such: $ unzip ReleaseForge-VERSION.zip
-or-
$ tar zxvf ReleaseForge-VERSION.tgz

Then change to the newly created directory:
$ cd ReleaseForge-VERSION

You can then run ReleaseForge directly from this location or you may choose to install ReleaseForge. If you choose to install ReleaseForge (this is totally optional, and it's up to you), execute the following command:

$ python2.4 setup.py build
Then, become root and execute the following:

$ python2.4 setup.py install

Return to top


A. 3.2

How do I configure ReleaseForge?


When running ReleaseForge for the first time, ReleaseForge will attempt to create a subdirectory in your home directory ($HOME) named .releaseforge. If $HOME does not exist and you are running the Windows version of ReleaseForge then the $HOMEDRIVE and $HOMEPATH environment variables are used.

If ReleaseForge is unable to locate you home directory or create a subdirectory, ReleaseForge will exit immediately. You will then need to launch ReleaseForge and pass in a command line option, --data. The value for this parameter is the full path of the data directory that you wish ReleaseForge to use. That is, if you wish ReleaseForge to use "/foo/bar/releaseforge-data" as the data directory then you would launch ReleaseForge as such:

$ python releaseforge --data=/foo/bar/releaseforge-data

ReleaseForge will attempt to create this directory, if it does not already exist.

Alternatively, you can set the environment variable $HOME to point to base directory of your choosing. The syntax of setting environment variables varies depending on your shell and/or operating system so it's beyond the scope of this FAQ. However, using bash, you can set an environment variable accordingly:

$ export HOME=/home/foo

Windows users can set environment variables as such:

$ set HOME=c:\foo

In either case, if ReleaseForge is launched without the --data command line option, then it will attempt to create the /home/foo/.releaseforge (bash) subdirectory or c:\foo\.releaseforge (Windows).

The $HOME environment variable must be set and be available before launching ReleaseForge. Otherwise, you will need to use the previously explained --data flag.

Note: The --data flag takes precedence over the $HOME environment variable. That is, if $HOME is set and a value for --data is supplied, then the --data value will be used by ReleaseForge.

Once ReleaseForge is successfully launched, a configuration file, releaseforge.cfg will be automatically created in it's data directory (if it doesn't already exist). You may see some warnings regarding missing settings values. This is normal behavior for an initial install. You should edit your preferences (from the Edit menu select Preferences) and then save them by pressing Ok. By doing so, the configuration file will be saved and future warnings should be suppressed.

Return to top


A. 3.3

How do I run ReleaseForge?


ReleaseForge requires a data directory in order to successfully run. By default, ReleaseForge uses $HOME/.releaseforge which should be sufficient for most situations. However, if ReleaseForge fails to run or complains about the absence of this directory please refer to this answer for more details.

In order to run ReleaseForge, simply enter:

$ releaseforge

If python 2.3 or 2.4 is not in your path you may need to provide it's location on the command line:

$ /usr/local/bin/python2.4 releaseforge

or

$ /usr/local/bin/python2.3 releaseforge

Return to top


A. 3.4

I see some errors on startup, what's wrong?


the following warning messages are harmless:

06/17/05 10:26:44 - WARN - settings - Could not locate setting main_font

06/17/05 10:26:44 - WARN - settings - Invalid font spec

They are specific to v0.8.5 and indicate that you have not yet saved your preferences. v0.8.5 introduced the ability to save your preferred font information, however, if it is the first time that you are using ReleaseForge (or have just upgraded to this new version) then you will see these errors at startup. If they bother you, then you can visit the Edit->Preferences menu within ReleaseForge. In the future these messages may become warnings (rather than errors) or removed completely since they are harmless.

Return to top


A. 3.5

I just upgraded from a previous version, what should I do?


Versions prior to v0.9.0 provided a -c or --config parameter. This is now deprecated. Upon launching 0.9.0 (or newer), ReleaseForge will attempt to locate your home directory and create a .releaseforge subdirectory. Please see this answer for more details.

Additionally, ReleaseForge 0.9.0 (or newer) will attempt to move releaseforge.cfg in the local directory to the .releaseforge subdirectory. If it is unable to do so and you would like to preserve your previous configuration file then you will have to manually move this file to the .releaseforge directory AND rename it releaseforge.cfg.

Return to top


A. 3.6

When I launch ReleaseForge it prompts me to login everytime, can ReleaseForge automatically login?


Yes!

ReleaseForge v0.9.0 (and greater) accepts a command line argument --auto which attempts to automatically login to SourceForge and Freshmeat as necessary. To enable this mode:

$ python releaseforge --auto

Note: In order for this mode to function as desired you must have previously selected the remember me checkbox on each of the login dialogs (SourceForge and Freshmeat). If you have not previously checked the respective remember me checkbox, then you will still be prompted for your login credentials. Also, if ReleaseForge is unable to login to either site using the previously saved credentials you will be prompted to login manually.

Return to top