CS Packaging System

Introduction

A package is a collection of files and has a responsible maintainer. It does not matter, whether the files are text files or binaries. The CS packaging system provides a Packager and an Unpackager. The properties of all packages are defined in an MS-Excel sheet, which is required for building a package using the Packager. The Unpackager just requires the zipped package file.

The MS-Excel sheet works as a recipy on how-to create a package. The Packager works on the Excel sheet and creates a package together with package information in an XML file. The Unpackager unpacks the package and installs it, by putting the files in the right place. The unpackage does not use the MS-Excel sheet but analyzes the XML files of the installed packages to detect inconsistencies or missing packages.

The packaging system only works on files. It does not access, read or write system specific things like the registry of a MS-Windows system. Consequently, installing packages does not require administrator rights (Windwos) or root privileges (Linux).

In case of CS software, have a look at the FAQs for more information about organization of software.

Restrictions

  • Since the Packager uses a MS-Excel Sheet, it is restricted to MS-Windows.
  • The Unpackager can be used on MS-Windows and Linux. If you want to download packages via the Unpackager, you need to install wget and include the binary of wget into your PATH environment variable.

Principle

  1. Packaging
    1. The maintainer of a package takes care of maintaining the information of the package in the MS-Excel sheet.
    2. The Packager reads the Excel sheet and displays information on the package "recipies".
    3. The package maintainer can select a package to be created.
    4. The Packager
      1. copies all files belonging to a package to a TEMPPATH,
      2. creates an XML file in TEMPPATH containing all information of the package,
      3. optionally auto-creates a text file with release notes,
      4. compresses all files and folders in the TEMPPATH to a zip file, and
      5. copies the zip file to a dedicated folder and deletes all files and folders in the TEMPPATH.
  2. Unpackaging
    1. The user starts the Unpackager program and defines TEMPPATH and ROOTPATH.
    2. The user selects the zip file of the package to be installed
    3. The user selects "Pre-Install": The Packager pre-installs the package by uncompressing the zip file to TEMPPATH,
    4. The user selects "Install": The Packager copies the files and folders of TEMPPATH to ROOTPATH, and deletes all files and folders in TEMPPATH
    5. The Unpackager analyzes the XML files of installed packages and displays information like dependencies and conlicts between packages.
    6. In case the package depends on another package marked as "missing"
      1. just click on the "missing" package and select "Download package" to download the missing package to the "path of compressed packages...".
      2. start all over by selecting "Pre-Install" -> "Install" ...
      3. In case downloading does not work
        1. try selecting another mirror, or
        2. try to download using the option "any" and specify the name and version of the zip file in a dedicated dialog (zip files have the format PACKAGENAME_VERSIONNAME.zip), or
        3. try downloading the zip file manually from the SourceForge website and manually direct the "compressed package path..." to the downloaded package.
    7. From time to time it might be a good idea to manually check the web-site for updates of the selected packages (not automized yet, sorry).

Screenshots

Screenshot of Packager

Above is a screenshot of the packager program. When using it, refer also to the tool-tips and the on-line which is available by pressing CTRL+H.

Below is a screenshot of the unpackager program. unpackager

Download

A recent version is available here, installer (binaries only), release notes. Older versions are available at SourceForge together with all published packages.

-- DietrichBeck - 25 Aug 2009
Topic revision: r11 - 20 Dec 2010, DietrichBeck
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback