Go to QuArK Web Site
Snapshots & Distributions
Updated 07 Mar 2010
Upper levels:
QuArK Information Base
4. The Source Code

 4.11. Snapshots & Distributions

 [ Prev - Up - Next ] 

This section describes QuArK distribution policy, tools and methodology.


 Index


 QuArK Release Policy

Peter Brett - 07 Mar 2010   [ Top ] 

QuArK has two types of releases: distributions and snapshots.

  1. Distributions are released through the SourceForge Release System. A distribution consists of the following files:
    •  quark-win32-*version*.exe  - a Nullsoft Scriptable Install System executable containing the QuArK Windows binaries with a bundled Python micro-distribution and the Infobase.
    •  quark-win32-*version*.zip  - a zip archive containing the QuArK Windows binaries with a bundled Python micro-distribution and the Infobase.
    •  quark-src-*version*.zip  - a zip archive containing full exports of the  infobase ,  runtime  and  source  CVS modules.
    •  quark-help-*version*.zip  - a zip archive containing the compiled Infobase.
    You will need to have "Release Technician" permissions on the QuArK SourceForge project to be able to release a distribution.

    N.B. that version numbers are in the format  #.#.#state#  where 'state' can be one of 'rel', 'beta', or 'alpha'. The numbers before the current state are the major and minor versions, and the number after the state is the release number at that version/state. Examples:

    •  6.4.0alpha1 . Note also that version numbers should be unique.
    •  6.3.0rel4 
  2. Snapshots are released on QuArK's SourceForge webspace. A snapshot consists of the following files:
    •  quark-win32-*date*.zip  - a zip archive containing the QuArK Windows binaries with a bundled Python micro-distribution and the Infobase.
    •  quark-src-*date*.zip  - a zip archive containing full exports of the  infobase ,  runtime  and  source  CVS modules.
    •  quark-help-*date*.zip  - a zip archive containing the compiled Infobase.
    You will need to have access to the QuArK project's SourceForge webspace (i.e. a SourceForge shell account is required) to be able to release a snapshot.

    N.B. that dates should be in the format  YYYYMMDD .

Typically, QuArK snapshots are released every couple of weeks, although this may vary depending on how much work is being done. If two weeks go by with very little CVS activity, there won't be much point in making a snapshot; equally, if things are frantic, it's likely we'll do snapshots more frequently. Also, it depends how much time the release technicians have available.

Distributions are done on a much less frequent basis, because they require much more work on the part of whoever's doing the releases.


 Releasing a Snapshot

Peter Brett, DanielPharos - 07 Mar 2010   [ Top ] 

Here's the process you might follow to prepare and release a snapshot. Before you'll be able to follow the process outlined below, you'll probably want to read File Release System - Offering Files for Download to know how to work with the SourceForge File Release System.

  1. Make a copy of the  runtime ,  source  and  infobase  directories you want to release.
  2. Build a QuArK binary from this source directory.
  3. Put the new QuArK binary in the main runtime directory (where it belongs).
  4. Zip up the directory, each to a different zip-file, using the scheme from 'QuArK Release Policy'. No fancy zip-compressions, please! Any plain old unzipper should be able to unzip the files.
  5. Create a new snapshot-release in the QuArK-package using the SourceForge File Release System. Name this release 'snapshot YYYY-MM-DD', and add the zip-files to that new release. Don't forget to set the 'specifics' on the files correctly!
  6. Make sure the new release is 'Active', and visible on the SourceForge website.
  7. You should also e-mail a release announcement to the development mailing list (quark-python@yahoogroups.com), something along the lines of: (I'm going to assume that the date is 31st August 2007)

    Subject: Snapshots 20070831
    
    New QuArK snapshots are now available from
    http://quark.sourceforge.net/
    
    - Compiled Infobase:
    http://quark.sourceforge.net/download/quark-help-20070831.zip
    - Full source code with Python 2.2.3:
    http://quark.sourceforge.net/download/quark-src-20070831.zip
    - Win32 binaries with Python 2.2.3:
    http://quark.sourceforge.net/download/quark-win32-20070831.zip
    

    It's also a good idea only to have four snapshots on the site at a time, so as to be sure not to exceed the storage quota. So delete the oldest snapshots if you need to.


 Releasing a Distribution

Peter Brett, DanielPharos - 07 Mar 2010   [ Top ] 

(I'm going to assume that you're running Windows.)

In preparation for creating a distribution, you'll need to carry out a couple of preliminary steps.

  1. Download and install Nullsoft Scriptable Install System (NSIS) 2.0 beta 4 or higher from http://nsis.sourceforge.net.
  2. Checkout the  utils  module from QuArK CVS on SourceForge. This module contains the scripts and other files you'll need to be able to create the distribution.
  3. Make sure you have access permissions to work with the SourceForge release system.

So, once you've decided that you're ready to create a distribution, here's what you do.

  1. First, work out what the version number is for this distribution (see 'QuArK Release Policy'). You'll probably need to discuss with other developers to decide what the state is going to be and whether to increment the the minor version, but for the sake of argument lets say the version number you come up with is '6.4.1beta3'.
  2. For a distribtion, it's necessary to update the version numbers in the QuArK executable. Go to the Project > Options > Version Info and update the numbers. Don't forget the copyright year!
    Also, some const's in QkObjects need to be updated. Check them out and update where needed:
      QuArKVersion
      QuArKMinorVersion
      QuArKCopyright
      QuArKUsedCompiler
      QuArKCompileDate
    
  3. Most of creating a distribution is similar to creating a snapshot. First, do steps 1 to 3 of 'Releasing a Snapshot', with the difference that you name the files with the '6.4.1beta3' instead of the date, so  quark-win32-20070831  becomes  quark-win32-6.4.1beta3 .
  4. Open up your local copy of  QuArK.nsi . You'll need to make some changes there:
    1. Update the version numbers:
      !define INSTALLER_EXENAME "quark-win32-6.4.1beta3.exe"
      !define PRODUCT_VERSION "6.4.1 beta 3"
      InstallDir "$PROGRAMFILES\QuArK 6.4.1 beta 3"
      
    2. Set the path to the files to create the installer with:
      !define BUILDDIR "C:\QuArK_installer_files"
      It is advisable to simply create this directory and copy the files into it manually.
    3. Set the path to the installer images:
      !define SPLASHDIR "C:\QuArK_installer_splash_image"
  5. Run the  QuArK.nsi  script. If you selected this option during the NSIS installation, right-clicking the file should provide you with that option. If not, open up  QuArK.nsi  in NSIS and create the installer there.
  6. It's not a bad idea to run some tests at this point. Test the installer, and make sure the new release does not have any obvious bugs.
  7. Zip up the source and infobase directories just as with the snapshot. Again: no fancy zip-compressions!
  8. Now create the release in SourceForge (see 'Releasing a Snapshot' for more details about this).
  9. Create a news-announcement on the SourceForge-page.
  10. Tell the webmaster of the QuArK website to do the same. (It's probably smart to have similar text in both.)



Copyright (c) 2009, GNU General Public License by The QuArK (Quake Army Knife) Community - http://quark.sourceforge.net/

 [ Prev - Top - Next ]