Warning, /libraries/kdb/README-PACKAGERS.md is written in an unsupported language. File is not indexed.
0001 # Packaging Information for KDb
0002
0003 We recommend building several binary packages out of the KDb source code.
0004
0005 Splitting KDb into packages:
0006 * gives users a better choice of which components they have installed;
0007 * allows users to avoid installing unnecessary dependencies;
0008 * helps to reduce packaging conflicts for users with non-standard
0009 package selections.
0010
0011 In this document {MAJOR_VERSION} is 3 for KDb 3.x.y, and so on.
0012
0013
0014 ## KDb libraries
0015
0016 The base KDb package offers the following libraries:
0017 * KDb{MAJOR_VERSION}
0018
0019
0020 ## Database and migration drivers
0021
0022 KDb provides database drivers in a form of plugins for a number
0023 of database types or data sources.
0024
0025 * SQLite
0026 * kdb_sqlitedriver.so - the database driver with the following dependencies:
0027 * kdb_sqlite_icu.so - SQLite's plugin for unicode support
0028 * kdb{MAJOR_VERSION}_sqlite3_dump - A minimal command line tool for compacting files
0029
0030 * MySQL
0031 * kdb_mysqldriver.so - the database driver
0032
0033 * PostgreSQL
0034 * kdb_postgresqldriver.so - the database driver
0035
0036
0037 Other drivers are work in progress and are not currently distributed.
0038
0039 Plugin `kdb_*driver.so` files typically go to $LIBDIR/plugins/kdb{MAJOR_VERSION}/ directory.
0040 Location of these files means that multiple KDb packages with different MAJOR_VERSIONs
0041 are co-installable. Also header and cmake files are cleanly separated by installing
0042 to subdirectories called KDb{MAJOR_VERSION}.
0043
0044 Please note a special case: KDb 3.0 is binary and source incompatible with KDb >= 3.1.
0045 All other versions are compatible within given MAJOR_VERSION.
0046
0047 We suggest putting each driver in a separate package, and that installation of
0048 these packages be optional. Each driver's package may then depend on the
0049 corresponding lower-level, native client libraries for performing connectivity.
0050 For example, it's libmysqlclient for the MySQL driver and libpq for PostgreSQL driver.
0051
0052
0053 ## Versions of client libraries
0054
0055 ### For SQLite
0056
0057 KDb's SQLite driver uses the sqlite3 library. Exact minimal version of the
0058 sqlite3 package is defined in the source code and can be found in the
0059 following line of the kdb/src/drivers/CMakeLists.txt file:
0060
0061 set(SQLITE_MIN_VERSION x.y.z)
0062
0063 The recommended version of SQLite package is defined in the source code and can
0064 be found in the following line of the kdb/src/drivers/CMakeLists.txt file:
0065
0066 set(SQLITE_RECOMMENDED_VERSION x.y.z)
0067
0068 ### For MySQL
0069
0070 KDb's MySQL driver uses MySQL client library version 5.x.
0071
0072 ### For PostgreSQL
0073
0074 KDb's PostgreSQL driver uses pq client library version 9.x.
0075
0076
0077 ## More information
0078
0079 KDb wiki page provides useful and most up-to-date information: https://community.kde.org/KDb/Build.