kexi project
Rapid Database Application Development
Development
"Microsoft Access for Linux"

Home Download FAQ Support Features Handbook Screenshots Screencasts Compile Kexi Development Authors Contact License Sponsorship Translate This Site

wiki navigation:

Front Page
[info] [diff] [login]
[recent changes]
[most popular]
You can donate
to Kexi Project:
Via PayPal

Spread the word about Kexi!
Get Kexi Now!

Built on the KDE technology
KDE

Member of the Calligra Suite

No Software Patents!

Hints For Making Kexi Packages

This page is for the old 1.x Kexi series only. Click to read how to package Kexi 2.x (Calligra 2.x)



 Dear Packager, please consider following notes.
 Thank you for patience!

Table of Contents
   1. Recommended way of splitting Kexi into packages
      Common mistakes
      Existing packaging files
     1.1. kexi
     1.2. kexidb-dev
     1.3. kexi-postgresql-driver
     1.4. kexi-mysql-driver
   2. Other packages you might want to build
     2.1. kexi-mdb-driver
   3. Package information
   4. Where to upload packages?
   5. Translations
   6. Notes
     6.1. KFormDesigner
     6.2. Web pages for specific distributions
     6.3. Distributors' patches

1. Recommended way of splitting Kexi into packages

Splitting packages gives users a better choice what components they have installed.

^ toc

Common mistakes

People sometimes make mistakes packaging Kexi, because it's requirements have changed a lot during it's development.

Please note:

  • Kexi source code is released under LGPL, not GPL
  • Ignore warnings about missing ImageMagick. Do not add dependencies for it. The warning(s) will be cleaned out in the future - this just come witk KOffice's configure script.
  • Kexi doesn't depend on QSA
  • At this time, Kexi doesn't depend on any part of KOffice
  • SQLite drivers are built into Kexi, do not split them out.
  • Kexi doesn't depend on external SQLite packages, it contains it's own copy of SQLite code, compiled into differently named libraries to avoid conflicts with official SQLite libraries.
  • Kexi's documentation is currently being translated into English - it's not ready for distribution yet.
^ toc

Existing packaging files

Packaging files for previous Kexi beta versions are available. You might want to consult the following links in addition to the documentation below, although please remember that they may not match our packaging suggestions below:

  • PLD Linux files - if you're packaging for an RPM based distro.
  • Mandriva
    • 10.1 specs - another RPM-based distro
    • older
  • Debian GNU/Linux files - if you're packaging for a dpkg/APT based distro.

The following sections provide suggested package contents.

^ toc

1.1. kexi

This package contains all files installed by Kexi that are not part of the packages listed below. Note: currently, kexi package contains files for kexidb with SQLite (ver. 2 and 3) drivers as well.

^ toc

1.2. kexidb-dev

This package is necessary for developing new KexiDB drivers or KexiDB migration drivers. It will be needed for compiling drivers that are not part of the Kexi distribution (e.g. keximdb for importing MS Access files)

 include/kexidb/
 lib/libkexidb.la
 lib/libkexidbparser.la

Note that include/kexidb might have to be installed in /usr/include/kde on your distro. In future, we may recommend distributing kexidb separately from Kexi (but it's probably not worth it yet, so for now we're keeping kexidb.so and kexidbparser.so within kexi package).

Build time dependencies: kexi

Run time dependencies: kexi

^ toc

1.3. kexi-postgresql-driver

The PostgreSQL driver for KexiDB databases, and the PostgreSQL migration driver for converting arbitrary PostgreSQL databases into KexiDB databases.

 lib/kde3/kexidb_pqxxsqldriver.so
 lib/kde3/kexidb_pqxxsqldriver.la
 lib/kde3/keximigrate_pqxx.so
 lib/kde3/keximigrate_pqxx.la
 share/services/kexidb_pqxxsqldriver.desktop
 share/services/keximigrate_pqxx.desktop

Note: .la file(s) provided here are used at runtime because this driver is provided as KDE module, not just a shared library.

Build time dependencies: libpqxx-dev, libpq-dev, kexidb-dev

Run time dependencies: libpqxx and libpq.

^ toc

1.4. kexi-mysql-driver

The MySQL driver for KexiDB databases, and the MySQL migration driver for converting arbitrary MySQL databases into KexiDB databases.

 lib/kde3/kexidb_mysqldriver.so
 lib/kde3/kexidb_mysqldriver.la
 lib/kde3/keximigrate_mysql.so
 lib/kde3/keximigrate_mysql.la
 share/services/kexidb_mysqldriver.desktop
 share/services/keximigrate_mysql.desktop

If your distribution provides both the GPL client libraries and the older LGPL client libraries (up to libmysqlclient10?), then you may choose which library to build against. (Kexi should work with both versions)

Note: .la file(s) provided here are used at runtime because this driver is provided as KDE module, not just a shared library.

Build time dependencies: libmysqlclient-dev, kexidb-dev

Run time dependencies: libmysqlclient

^ toc

2. Other packages you might want to build

^ toc

2.1. kexi-mdb-driver

The migration driver for converting MS Access databases (.mdb files) into Kexi databases.

 lib/kde3/keximigrate_mdb.la
 lib/kde3/keximigrate_mdb.so
 share/services/keximigrate_mdb.desktop

There are instructions for building this on the MDBDriver page. The source for this driver is not in the Kexi source tree, but can be found in kdenonbeta/keximdb in Subversion.

Note: .la file(s) provided here are used at runtime because this driver is provided as KDE module, not just a shared library.

Build time dependencies: kexidb-dev, glib-2.0, pkg-config

Run time dependencies: kexi, glib-2.0

^ toc

3. Package information

Examples of LSM files (please alter version information, package maintainer, filename, date and size):

 ftp://ftp.kde.org/pub/kde/stable/apps/KDE3.x/database/kexi-0.9.lsm
 ftp://ftp.kde.org/pub/kde/stable/apps/KDE3.x/database/keximdb-0.9.lsm
^ toc

4. Where to upload packages?

If (and only if) you have no place to upload your packages, to make our live easier and increase possible user base of your great contribution, recommended place is to upload them to:

 ftp://upload.kde.org/incoming/stable/KDE3.x/

(everybody have write access there)

Then, send a mail to ftpadmin (at) kde.org, asking him to move the packages to following directory:

 /kde/stable/apps/KDE3.x/database/contrib/{your-distro-name}/

Your packages will be mirrored on other servers in a few hours!

Note1: Don't forget to create .lsm files (see 3.), one for each .rpm and upload these as well.

Note2: Don't make a mistake as while uploading because you won't be able to overwrite a file.

^ toc

5. Translations

Recommended way for adding translation files to your distribution is to create separate

 kexi-i18n-<language>

package for every <language>. This is better especially if you're preparing a Kexi package independent of KOffice package.

Every language package has to contain two message files:

 kexi.po
 kformdesigner.po

Note (30 may 2005): give up with preparing i18n packages for now. This can change but KDE SVN is not yet prepared for Kexi 0.9's i18n.

You can get Kexi .po files and make .mo files out of them or download prepared Kexi .mo files as described on Translating Kexi page. See Prepared Kexi Translation Files section there, for single .mo files and a tarball with all of them.

^ toc

6. Notes ^ toc

6.1. KFormDesigner

KFormDesigner application (http://kde-apps.org/content/show.php?content=14796) isn't installed with Kexi packages (formeditor/test/ subdirectory is excluded from compilation and installation). KDevelop plugin using KFormDesigner is neither installed. Currently, KFormDesigner should be considered as a test application for Kexi Forms framework. See FormDesignerFAQ for information on KFormDesigner.

^ toc

6.2. Web pages for specific distributions

^ toc

6.3. Distributors' patches

(for various KDE modules, including KOffice)



Kexi - "MS Access for Linux" ... and Windows
© Kexi Team
This content is available under GFDL
Last edited: February 19, 2007 by js, visited 0 times.