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.