[RFC] gnuwin32/kde-windows package format

Saro Engels ps_ml at gmx.de
Wed Jan 2 20:44:24 CET 2008


This is the first draft of a standard for the gnuwin32/kde-windows
packaging format.
Please comment on this since this will probably be the base of our 
packages for a longer time. If you do, please post only the differences 
to the original text and _not_ the text in a new version.

Thank you,
Saro Engels


== Package format for MS Windows ==

I.1. Packages should be normal compressed archives either in the zip 
format or as a bz2-compressed tar archive.

I.2. Packages contain the file structure that gets installed to a 
specific location.
One should be able to unpack the package contents to the installation 
prefix.

II.1. Each package should contain a subfolder called 'manifest' which 
gets installed as well. This subfolder contains at least two files per 
package:
the .mft file and .ver file.
Both files have the same, following naming scheme:
packagename[-compiler][-version][-releasetag][-type].mft
packagename[-compiler][-version][-releasetag][-type].ver

where:
packagename     the name of the package
compiler        the name of the compiler: either 'msvc' or 'mingw';
                 for other compilers a name should be easily found.
                 For compiler independent packages the compiler can be
                 omitted
version         the version of the package in the form major.minor.patch
                 version: 1.2.3
		The version can be omitted
releasetag      The releasetag should be used for non-versioned packages
                 (e.g. from svn) or as additional version information.
                 It can be omitted as well.
type            One of 'bin' for binary packages, 'lib' for development
                 packages, 'doc' for documentation packages or 'src' for
                 packages containing source code.
                 The 'bin' package should contain everything that is
                 needed to run the application, so that the lib package
                 is only needed for development purposes.
                 If the type is omitted, this should state that the
                 package contains the all of 'bin', 'lib' and 'doc'.

II.2. The .mft file should contain a list of all files (relative path) 
which are contained in the package, then one space character and then 
the md5 sum of the file. This is the opposite of the output of md5sum.
The .mft file, the .ver file and the .cmd file do not need a md5 sum and 
get appended to the original list.

II.3. In the first line of the .ver file there has to be the name of the 
package, followed by a space and the version of the package, followed by 
a space or a colon and a space and one out of 'Binaries', 'Developer 
Files', 'Documentation' or 'Sources'. The case of those tags should be 
ignored. If present, the second line starts again with the packagename, 
optionally followed by a colon, followed by a space character and 
followed by the description of the package (within that line).

III.1. If needed, the manifest directory should contain a file following 
the above mentioned naming scheme with the extension '.cmd' .
This file should be called after installation and should be a normal 
windows cmd.exe batch file.
The file shouldn't need any parameters for execution - it is required to 
run it in the installation directory though.
if the file is C:\kde\manifest\package-0.1.0-bin.cmd, it should be run 
in C:\kde.



More information about the Kde-windows mailing list