diff --git a/README-PACKAGERS.md b/README-PACKAGERS.md --- a/README-PACKAGERS.md +++ b/README-PACKAGERS.md @@ -8,42 +8,46 @@ * helps to reduce packaging conflicts for users with non-standard package selections. +In this document {MAJOR_VERSION} is 3 for KDb 3.x.y, and so on. + ## KDb libraries -KDb offers the following libraries: - * kdb +The base KDb package offers the following libraries: + * KDb{MAJOR_VERSION} ## Database and migration drivers KDb provides database drivers in a form of plugins for a number of database types or data sources. * SQLite - * kdb_sqlite.so - the database driver - * kdb_sqlite.desktop - * kdb_sqlite_icu.so - SQLite's plugin for unicode support - * kdb_sqlite3_dump - A minimal command line tool for compacting files + * kdb_sqlitedriver.so - the database driver with the following dependencies: + * kdb_sqlite_icu.so - SQLite's plugin for unicode support + * kdb{MAJOR_VERSION}_sqlite3_dump - A minimal command line tool for compacting files * MySQL - * kdb_mysql.so - the database driver - * kdb_mysql.desktop + * kdb_mysqldriver.so - the database driver * PostgreSQL - * kdb_postgresql.so - the database driver - * kdb_postgresql.desktop + * kdb_postgresqldriver.so - the database driver Other drivers are work in progress and are not currently distributed. -Plugin .so and .desktop service files typically go -to $PREFIX/lib/plugins/kdb/ directory. +Plugin `kdb_*driver.so` files typically go to $LIBDIR/plugins/kdb{MAJOR_VERSION}/ directory. +Location of these files means that multiple KDb packages with different MAJOR_VERSIONs +are co-installable. Also header and cmake files are cleanly separated by installing +to subdirectories called KDb{MAJOR_VERSION}. + +Please note a special case: KDb 3.0 is binary and source incompatible with KDb >= 3.1. +All other versions are compatible within given MAJOR_VERSION. We suggest putting each driver in a separate package, and that installation of these packages be optional. Each driver's package may then depend on the corresponding lower-level, native client libraries for performing connectivity. -For example, it's libmysqlclient for the MySQL driver and libpq for PostgreSQL. +For example, it's libmysqlclient for the MySQL driver and libpq for PostgreSQL driver. ## Versions of client libraries