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:
- Create a new package
- Update the status of an existing package (eg. show/hide)
- 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:
- Naming your new release (eg. v1.0)
- Importing your changelog
- Importing your release notes
- Selecting files to include in your new release.
- 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)
- 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)
- When you have completed the wizard, ReleaseForge does the rest!
- Automatically uploads all of your files via anonymous ftp to the SourceForge ftp server
- Creates the new release on SourceForge
- Uploads your release notes and change log
- Selects your files for inclusion in the new release
- Associates each file with it's file type (eg. .rpm) and architecture (eg. i386)
- Optionally, notifies the users that are monitoring your project of the new release.
- 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
|