[RFC] gnuwin32/kde-windows package format

Ralf Habacker ralf.habacker at freenet.de
Thu Jan 3 12:01:11 CET 2008


Saro Engels schrieb:
> 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.
>   
> 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.

There may be additional hook scripts required at least in the kde context. 

Think about unsetting changes before deinstallation which are original set by the post-install script (-> pre-uninstall script[1]). There comes removing special start menu entries or registry entries into my mind or updating ksysoca database to ensure not to have unavailable resources when deinstalling packages (-> post-uninstall script[2]). 

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

The recently used package format supports some meta informations located in the .ver files (see II.3) but unfortunally there are no dependencies as other package formats like deb http://en.wikipedia.org/wiki/Deb_(file_format) and rpm http://en.wikipedia.org/wiki/RPM_Package_Manager#Physical_package_format have. 

The listed package formats have meta informations inside the package. This has the advantage of having only one file but the disadvantage to be forced to (at least) partially unpacks the package to get meta informations. 

I'm currently experimenting with a kind of package descriptor as separate file (see http://download.cegit.de/kde-windows/kde-3.95.1/single/kdebase-mingw.hint for an example), which can be used to setup a remote repository database (see http://download.cegit.de/kde-windows/kde-3.95.1/single/_config.txt for an example) like the cygwin installer does. 

What do others think about this topic ? 

Ralf 


> 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.
> _______________________________________________
> Kde-windows mailing list
> Kde-windows at kde.org
> https://mail.kde.org/mailman/listinfo/kde-windows
>   




More information about the Kde-windows mailing list