Commit graph

381 commits

Author SHA1 Message Date
Otto Kekäläinen
d9c03c4339 Deb: Streamline package listing order to make comparisons downstream easier 2016-11-27 22:25:17 +01:00
Otto Kekäläinen
ca3df8f68d Deb: wrap-and-sort for easier comparison to downstream in future 2016-11-27 22:25:17 +01:00
Otto Kekäläinen
f977709b65 Deb: Make libmariadb3 to provide the libmysqlclient.so.XX links
For backwards compatibility reasons.

E.g. innotop builds against libmysqlclient.so and expects to find
a libmysqlclient.so.18 library and does not use libmariadb.so.3 even
when built from our own sources.

This commit mimics to dcfe6cb834
2016-11-27 22:25:17 +01:00
Otto Kekäläinen
1965f03c80 Deb: Rename libmariadbclient-dev to libmariadb-dev
This change was accidentally omitted from commit 2bcc16c17b
2016-11-27 22:25:17 +01:00
Otto Kekäläinen
2949282ccf Deb: Fix libmariadbclient.so.18 link path to point to libmariadb.so.3
As libmariadb.so.3 does not reside in a multi-arch directory (yet),
use the plain path.
2016-11-27 22:25:16 +01:00
Otto Kekäläinen
b5b68b6bb8 MDEV-10126: replace deprecated iproute dependency with iproute2
Fall back to old iproute on Debian Wheezy and Ubuntu Precise that
don't have iproute2 available.
2016-11-26 22:25:40 +01:00
Otto Kekäläinen
3a6e781ea3 MDEV-9165: Run chown much faster on the datadir during install/update 2016-11-26 19:13:26 +01:00
Otto Kekäläinen
e06e455eea Deb: make server core package breaks/replaces earlier client packages
This is required, as the innochecksum binary has moved package.
Without this change the following error would be emitted:

  Unpacking mariadb-server-core-10.2 (10.2.3+maria~jessie) over (10.2.2+maria-1~jessie) ...
  dpkg: error processing archive /var/cache/apt/archives/mariadb-server-core-10.2_10.2.3+maria~jessie_amd64.deb (--unpack):
    trying to overwrite '/usr/bin/innochecksum', which is also in package mariadb-client-10.2 10.2.2+maria-1~jessie
2016-11-25 08:50:58 +01:00
Otto Kekäläinen
89236a8ad9 Deb: skip invoke-rc.d mysql stop if no mysql process is running at all
Quite often in upgrades on systemd systems dpkg emitted an error like:

  Failed to stop mysql.service: Unit mysql.service not loaded.
  invoke-rc.d: initscript mysql, action "stop" failed.
  invoke-rc.d returned 5
  There is a MySQL server running, but we failed in our attempts to stop it.
  Stop it yourself and try again!
  dpkg: error processing archive /var/cache/apt/archives/mariadb-server-10.2

This is because the mariadb/mysql.service file is not loaded during
the upgrade/unpack stage of dpkg in certain situations. With this simple
check we can easily skip the shutdown step when it is really not needed,
which is for sure the case if no mysqld process at all is running on the
entire system.
2016-11-25 08:50:57 +01:00
Otto Kekäläinen
d49cffa124 Deb: provide the libmysqlclient shim packages that exist in Debian/Ubuntu
This way all 3rd party apps configured to build against any MySQL or
MariaDB version will pick up the libmariadb3-dev package instead.
2016-11-20 10:51:39 +02:00
Otto Kekäläinen
dcfe6cb834 Deb: make libmariadb3 to provide the libmariadbclient.so.18 link
In Debian many existing applications in Debian/Ubuntu have been built
while libmariadbclient-dev or libmariadbclient-dev-compat was installed.

To satisfy installation dependencies, the package name libmariadbclient18
must be provided, and at runtime a shared library must by the name
libmariadbclient.so.18.

Provide these to remain backwards compatible.
2016-11-20 10:51:14 +02:00
Otto Kekäläinen
2bcc16c17b Deb: rename client library packages to reflect its contents
The new library name libmariadb3 matches the libmariadb.so.3 filename.
Packages that want to build against MariaDB Connector C have as
build-dependency libmariadb-dev and as run-time dependency libmariadb3.

Make the package provide libmariadbclient18 for backwards compatibility,
though compatibility is not always assured. There library did change
to a whole new generation after all, even though ABI compatibility has
been a design goal.

Also do the equivalent change for the -dev package. Packages that
explicitly want to use the MariaDB Connector C should mark it as
their build-depends.

Also provide an empty libmariadbclient18 metapackage to facilitate
upgrades from old MariaDB installs, just like there is an empty
libmysqlclient18 package. Create more of these in the future as needed.
2016-11-20 10:49:12 +02:00
Otto Kekäläinen
54bd67a4ed Deb: provide the default-mysql-* packages that exist in Debian/Ubuntu
Since Debian 9 (Stretch) and Ubuntu 16.10 (Yakkety) the following
packages have existed:
* virtual-mysql-client
* virtual-mysql-client-core
* virtual-mysql-server
* virtual-mysql-server-core
* virtual-libmysqlclient-dev

They are metapackages that in Debian depend on MariaDB and in
Ubuntu currently on MySQL. We need to provide them and point
them to MariaDB so that systems that have the mariadb.org
repositories enabled automatically get everything MariaDB
and not MySQL.

This change makes the packaging provide the four first ones,
and later commits will fix the client library issues.
2016-11-20 10:49:12 +02:00
Otto Kekäläinen
df8ba7a3a7 Deb: install GSSAPI and Cracklib config files 2016-11-20 10:49:12 +02:00
Otto Kekäläinen
68535b5649 Deb: correct comment about socket auth in Spider/Mroong maintainer scripts 2016-11-20 10:49:11 +02:00
Otto Kekäläinen
45049864b4 Deb: install libmysqld.so and libmysqld.so.19 in correct packages
The versioned so-file belongs to the run-time package and the unversioned
symlink shall be in the development package.
2016-11-18 22:12:50 +02:00
Daniel Black
7072ca1f58 MDEV-5725: mysqld embedded libraries into libmariadbd19 Deb package
libmariadbd19 was intended to be added as the package that
included the libmysqld shared library. This was missing
from the debian control file.

The libmariadbd-dev package requires libmariadbd19 to provide
the shared library.

The shared libraries for embedded mysql will go into the libmariadbd18
package rather than the libmariadbd-dev development package.

/usr/bin/mariadb_config is a executable that assists embedded developers
to use the correctly correct header and library files during their
development.

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-11-17 12:37:21 +02:00
Daniel Black
2387c91b8a MDEV-5725: Don't install private mysql header files
Previously private/*.h where included in the package. These represent internal
mysqld structures that aren't guarenteed to provide a stable ABI.

There aren't intended to be used by embedded mysqld applications so
they have been removed.

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-11-17 12:37:21 +02:00
Otto Kekäläinen
f2219c8d3f Deb: add gdb as a build dependency for stack traces on test suite failures
If mysqld crashed during the test suite run and gdb is available,
a stack trace will be printed automatically.
2016-11-10 18:26:46 +02:00
Otto Kekäläinen
e820dec1f9 Deb: List package contents as part of the build log 2016-11-10 18:26:46 +02:00
Otto Kekäläinen
d50ca3535e Deb: clean up, strip legacy and simplify autobake-deb.sh 2016-11-10 18:26:46 +02:00
Otto Kekäläinen
c912d05fab MDEV-6284: Install systemd files (almost) the Debian way
The control file contents must be correct from the start and cannot
be modified at build time by CMake. Also all static Debian package
analyzers will fail to see all manipulations by CMake later on.

It is best to do all manipulations like these in autobake-deb.sh.
2016-10-29 03:50:11 +03:00
Otto Kekäläinen
7316b14144 Deb: use deb-sys-maint user credentials to configure MariaDB plugins
On systems with unix socket authentication root could run these
without any special maintenance accounts.
2016-10-29 03:50:07 +03:00
Otto Kekäläinen
02a6f61a8a Deb: delete runnable files we don't want to have in the test data package 2016-10-29 02:17:14 +03:00
Otto Kekäläinen
bfda961c86 Deb: omit source building step when running from autobake-deb.sh
This will increase the speed of the build by a minute or two.
2016-10-29 01:30:50 +03:00
Otto Kekäläinen
0668e6ba49 Travis-CI: skip building mariadb-test packages to speed up build
The build must stay under the Travis-CI 50 minute limit. Currently
they often exceed, and the huge test suite is the single most long
step in moving/packaging files, so remove it on Travis-CI automatically.
2016-10-27 18:42:17 +03:00
Otto Kekäläinen
7f570bef1e Deb: fix commit 1369696 and change autobake strategy to Debian Sid first 2016-10-27 18:42:17 +03:00
Otto Kekäläinen
affa6e3d6d MDEV-6284: Break/replace MySQL 5.7 packages to allow upgrade
Also sort control file slightly to be easier to compare to downstream
control file and include gdb for automatic backtraces if the test suite
fails.

Delete duplicate man page installation.

Make mariadb-test breaks/replaces mariadb-server-5.5
as /usr/lib/mysql/plugin/adt_null.so changed package.
2016-10-27 18:42:17 +03:00
Otto Kekäläinen
8c32d95920 MDEV-6284: Activate quilt patches again: test table expection needed
Buildbot tries to create database 'test' so we need to have these
Debian-only exceptions enabled and patch our own source at build time.
2016-10-27 18:42:17 +03:00
Otto Kekäläinen
4b7004dfce Travis-CI: build less verbose, log must stay under 4MB limit 2016-10-27 18:42:17 +03:00
Otto Kekäläinen
19cffe69c2 MDEV-6284: Revert commit af03ba84 partially for systemd
This version of Debian packaging does not yet install systemd scripts,
so revert that part to the CMakeLists.txt based hack.
2016-10-27 18:42:17 +03:00
Otto Kekäläinen
f63799d068 MDEV-6284: Clean up crufs (dirs files, duplicate entries etc) 2016-10-27 18:42:17 +03:00
Otto Kekäläinen
235db2c77b MDEV-6284: wrap-and-sort 2016-10-27 18:42:16 +03:00
Otto Kekäläinen
b2dffcbfea MDEV-6284: Fix issues detected by Lintian 2016-10-27 18:42:16 +03:00
Otto Kekäläinen
1877a8cdb4 MDEV-6284: Remove CMakeLists.txt hack that mangled the server install file
For Debian the rules file is the main makefile and assuming that a upstream
makefile will mangle the Debian packaging files creates false alerts
from static analysis tools and other problems.
2016-10-27 18:42:16 +03:00
Otto Kekäläinen
d495bf4280 MDEV-6284: Spliy Mroonga, Spider and TokuDB into their own packages
Also each package has it's own maintainer scripts to install and
uninstall them.
2016-10-27 18:42:16 +03:00
Otto Kekäläinen
e58e7b5052 MDEV-6284: Rename plugin packages to match new Debian convention 2016-10-27 18:42:16 +03:00
Otto Kekäläinen
0a1dbe8426 MDEV-6284: Split mariadb-test-data out of mariadb-test 2016-10-27 18:42:16 +03:00
Otto Kekäläinen
1494a96bf4 MDEV-6284: Make mariadb-test package versionless
There is no need for a separate mariadb-test metapackage and a versioned
mariadb-test-* package. Simply make it versionless and make it depend on
the client and server packages that stem from same source version.
2016-10-27 18:42:16 +03:00
Otto Kekäläinen
73f1c655ad MDEV-6284: Import most of downstream Debian packaging
These changes update the contents and behaviour of current packages
to match the current packaging in Debian official repos.

Keep mtr test scope small.

Updating maintainer scripts also required regenerating the translations.

Rules based on modern dh_* buildtools.

Update control file with new Debian conventions:
- Provide virtual-mysql-* virtual packages
- Recommends perl modules instead of Depends
2016-10-27 18:42:16 +03:00
Otto Kekäläinen
a59655a347 MDEV-6284: Remove Debian policy breaking and empty RELEASE_* variables 2016-10-27 18:42:15 +03:00
Otto Kekäläinen
148422ef61 MDEV-6284: Bump compat level and define native Debian format
Compat level needs to match the debhelper version in Debian.
Debian wheezy has 9, so there is no need to stay on ancient level 5.
2016-10-27 18:42:15 +03:00
Otto Kekäläinen
be78eec30a MDEV-6284: Rename .files -> .install 2016-10-27 18:42:15 +03:00
Jan Lindström
f35f61b5a9 Merge branch '10.2-numa' of https://github.com/grooverdan/mariadb-server into grooverdan-10.2-numa 2016-10-24 09:07:49 +03:00
Otto Kekäläinen
a6f032af57 Deb: use --mem to run mtr faster and keep Travis-CI well below 50 min 2016-10-09 13:46:09 +03:00
Otto Kekäläinen
c416ed8b46 Deb: build faster using ccache when available 2016-10-09 13:42:36 +03:00
Otto Kekäläinen
62d1cfe16c Deb: always build mariadb-cracklib-password-check, even on Travis-CI
Previously Travis-CI stated that cracklib is forbidden, but it does
not longer seem to be the case.
2016-10-07 15:33:02 +03:00
Otto Kekäläinen
1369696b8a Deb: Re-factor conditional build dependency checking and injecting
Now we check if a dependency is available and not just if older versions
are available. Also use correct name of libcrack2 to actually detect it.

Use sed to inject dependency at the end of the dependency list.
Otherwise keep the control line clean and parseable by Debian tools.
2016-10-07 15:32:59 +03:00
Otto Kekäläinen
44dd9a534a Deb: wrap-and-sort 2016-10-07 15:32:56 +03:00
Otto Kekäläinen
0a97008334 Deb: Fix various shortcomings in the control file
- All build-depends should be in one place.
- Library packages should depend on their main package using strict version.
- Most packages should depend on the misc variable, so that debhelper
  can fill in it with various calculated dependencies automatically.
- All packages using dynamic libraries should depend on the shlibs variable
  to include shared libraries as dependencies automatically.
- Essential tools like bsdutils, grep and tar shall not be defined in vain.
2016-10-07 15:32:53 +03:00