You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
6.1 KiB
188 lines
6.1 KiB
15 years ago
|
Packaging Information for KOffice.
|
||
|
----------------------------------
|
||
|
|
||
|
We recommend building several binary packages from the KOffice source.
|
||
|
|
||
|
Splitting KOffice into packages:
|
||
|
* gives users a better choice of which components they have
|
||
|
installed;
|
||
|
* allows users to install just the applications without unnecessary
|
||
|
dependencies;
|
||
|
* helps to reduce packaging conflicts for users with non-standard
|
||
|
package selections.
|
||
|
|
||
|
|
||
|
Table Of Contents
|
||
|
-----------------
|
||
|
|
||
|
1. Database drivers (MySQL, PostgreSQL)
|
||
|
2. Development files
|
||
|
2.1. KexiDB development files
|
||
|
2.2. Krita development files
|
||
|
3. Scripting support
|
||
|
4. Microsoft Access Import (optional, recommended)
|
||
|
5. Quick command-line tests of Kexi installation
|
||
|
|
||
|
|
||
|
|
||
|
1. Database drivers
|
||
|
-------------------
|
||
|
|
||
|
Kexi provides database drivers for MySQL and PostgreSQL. We suggest
|
||
|
putting each driver in a separate package, and that installation of
|
||
|
these packages be optional. Each driver package may then depend on
|
||
|
the corresponding 'native' libraries: libmysqlclient for MySQL; and
|
||
|
and libpqxx for PostgreSQL (libpqxx in turn depends on libpq).
|
||
|
|
||
|
Thus, the MySQL driver package could contain:
|
||
|
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
|
||
|
|
||
|
The PostgreSQL driver package consists of the following files:
|
||
|
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 that you SHOULD NOT care about SQLite database driver or adding
|
||
|
dependencies for SQLite, because SQLite support is built into Kexi
|
||
|
using a fork of SQLite source code.
|
||
|
|
||
|
|
||
|
2. Development files
|
||
|
--------------------
|
||
|
|
||
|
2.1. KexiDB development files
|
||
|
|
||
|
Location: koffice/kexi/kexiutils, koffice/kexi/kexidb, koffice/kexi/migration
|
||
|
|
||
|
KexiDB, the database abstraction library used in Kexi, installs some
|
||
|
development files which are required for building external plugins,
|
||
|
such as the MS Access import plugin described below.
|
||
|
|
||
|
We recommend providing KexiDB development files in a separate package.
|
||
|
The files are:
|
||
|
include/kexidb/*.h
|
||
|
include/kexiutils/*.h
|
||
|
lib/libkexidb.la
|
||
|
lib/libkexidb.so
|
||
|
lib/libkexidbparser.so
|
||
|
lib/libkexidbparser.la
|
||
|
|
||
|
The installation can be tested by building the MS Access import plugin
|
||
|
as described in the Microsoft Access import plugin section below.
|
||
|
|
||
|
2.2. Krita development files
|
||
|
|
||
|
Location: koffice/krita/core, koffice/krita/sdk,
|
||
|
koffice/krita/kritacolor, koffice/krita/ui
|
||
|
|
||
|
These directories contain header files that are installed and can be
|
||
|
used by plugin developers to extend Krita with new tools, colorspaces,
|
||
|
paint-ops and more. If your distribution packages development files
|
||
|
separately, it may be a good idea to make a package with these headers.
|
||
|
|
||
|
|
||
|
3. Scripting support
|
||
|
--------------------
|
||
|
|
||
|
Preliminary support for Ruby and Python scripting is available for
|
||
|
Krita and Kexi.
|
||
|
It can be disabled by passing the '--disable-scripting' option to
|
||
|
'configure'.
|
||
|
|
||
|
The 'Kross' scripting library (koffice/lib/kross) provides access to
|
||
|
the Python and Ruby scripting languages by the dynamically loaded
|
||
|
plugins.
|
||
|
|
||
|
Build time dependencies:
|
||
|
Python and Ruby development packages need to be installed in order
|
||
|
to build KOffice with full scripting support. In addition, the Ruby
|
||
|
interpreter is also required at build time.
|
||
|
|
||
|
Run time dependencies:
|
||
|
Kross detects which of these libraries is installed dynamically, at
|
||
|
run-time. Therefore, KOffice packages need not have any run-time
|
||
|
dependencies on any scripting interpreter.
|
||
|
|
||
|
The scripting language plugins can be found in:
|
||
|
koffice/lib/kross/python; and
|
||
|
koffice/lib/kross/ruby.
|
||
|
They install as:
|
||
|
lib/kde3/krosspython.{la,so}; and
|
||
|
lib/kde3/krossruby.{la,so}
|
||
|
|
||
|
It is recommended to put each interpreter plugin into a separate
|
||
|
package, and the user decide if they would like support for each
|
||
|
language individually.
|
||
|
|
||
|
For example, the Python scripting package may contain:
|
||
|
lib/kde3/krosspython.so
|
||
|
lib/kde3/krosspython.la
|
||
|
share/apps/kexi/scripts/exportxhtml/ExportXHTML.py
|
||
|
share/apps/kexi/scripts/exportxhtml/ExportXHTML.rc
|
||
|
share/apps/kexi/scripts/importxhtml/ImportXHTML.py
|
||
|
share/apps/kexi/scripts/importxhtml/ImportXHTML.rc
|
||
|
share/apps/kexi/scripts/projectdocumentor/ProjectDocumentor.py
|
||
|
share/apps/kexi/scripts/projectdocumentor/ProjectDocumentor.rc
|
||
|
share/apps/krita/scripts/invert.py
|
||
|
share/apps/krita/scripts/reshapehisto.py
|
||
|
|
||
|
and the Ruby scripting package may contain:
|
||
|
lib/kde3/krossruby.so
|
||
|
lib/kde3/krossruby.la
|
||
|
share/apps/krita/scripts/ruby/invert.rb
|
||
|
share/apps/krita/scripts/ruby/changecs.rb
|
||
|
share/apps/krita/scripts/ruby/randompaint.rb
|
||
|
|
||
|
|
||
|
4. Microsoft Access Import (optional, recommended)
|
||
|
-------------------------------------
|
||
|
|
||
|
A plugin to allow the import of MS Access (.mdb) files is available
|
||
|
for packaging separately. It is called KexiMDB.
|
||
|
|
||
|
This package is based on a stripped-down and modified version of
|
||
|
mdbtools: http://mdbtools.sf.net/
|
||
|
The package should be built after KOffice. It requires GLib, and the
|
||
|
Kexi development files as described above.
|
||
|
|
||
|
The version of the plugin for use with KOffice 1.5 should be available
|
||
|
from:
|
||
|
ftp://ftp.kde.org/pub/kde/stable/apps/KDE3.x/database/keximdb-1.0.tar.gz
|
||
|
|
||
|
Alternatively, it can be found in the KDE Subversion repository. It
|
||
|
can be built as follows:
|
||
|
svn export svn://anonsvn.kde.org/home/kde/branches/work/keximdb/koffice-1.5 keximdb-1.0
|
||
|
cd keximdb-1.0
|
||
|
make -f Makefile.cvs
|
||
|
./configure --enable-debug=full
|
||
|
make
|
||
|
make install
|
||
|
|
||
|
Configure may need to be informed of the location of the KexiDB
|
||
|
headers using the --with-kexidb-includes=... and the
|
||
|
--with-kexidb-libraries=... options.
|
||
|
|
||
|
|
||
|
5. Quick command-line tests of Kexi installation
|
||
|
------------------------------------------------
|
||
|
|
||
|
If you don't want to click through Kexi interface but still want
|
||
|
to make (almost) sure the application is properly packaged, please
|
||
|
install it and type the following from the command line:
|
||
|
|
||
|
kexi --create-opendb --drv sqlite3 --new form testdb
|
||
|
|
||
|
(ignore possible warning message)
|
||
|
This will:
|
||
|
- create a new empty database file "testdb",
|
||
|
- open it,
|
||
|
- create a new empty form
|