Commit graph

443 commits

Author SHA1 Message Date
Marko Mäkelä
adc91387e3 Merge 10.0 into 10.1 2017-03-03 13:27:12 +02:00
Daniel Black
156cf86def MDEV-11610: Alter Debian log rotate to not rotate binary/relay logs
Rotating binary/relay logs can cause interuption to the processing
on the server. Binary and relay logs have their own mechanism already
for not getting out of control (expire_logs_days).

By no longer rotating binary and relay logs log rotation is limited to
the following logs:
* error log
* general log
* slow query log

Writing these to the binary log would cause any logrotation on the
slave to occur twice, once due to this and another due to the log-
rotate script on the slave. Now --local is passed to mysqladmin to
prevent this duplication.
2017-03-02 15:16:06 +04:00
Vicențiu Ciorbaru
24911cee4e MariaDB 10.2 can now start from MySQL 5.7 data directory
An upgrade is still necessary however.
2017-02-15 14:09:27 +02:00
Sergei Golubchik
2195bb4e41 Merge branch '10.1' into 10.2 2017-02-10 17:01:45 +01:00
Kristian Nielsen
736afe8680 mysql_install_db enhancements to facilitate Debian bug#848616 fix
In Debian, the default install is made more secure by omitting the anonymous
user and by making the root account authenticate by unix socket
authentication instead of the default password-less root. However, Debian
hard-codes this change in mysql_install_db, which breaks that program for
other users.

This commit instead implements new general options for mysql_install_db that
can be used by anyone to similarly perform a more secure install:

  --skip-auth-anonymous-user: omits the anonymous user.

  --auth-root-authentication-method=normal: Keeps the existing behaviour
    with a password-less root account. Currently on by default.

  --auth-root-socket-user=USER
  --auth-root-authentication-method=socket: creates the MariaDB root user
    with the name USER (defaults to 'root') and using unix socket
    authentication. This way, only that user has MariaDB root access
    after install.

The idea with --auth-root-authentication-method=normal is that
applications that need this behaviour can give that option explicitly.
Then eventually we could make --auth-root-authentication-method=socket
the default, giving a more secure default installation.

Note that it is perfectly possible to do a secure install with
--auth-root-authentication-method=normal. For example, installing a
private server just for local access by a single OS-level user, by
using --skip-networking and putting the connection socket in a
location without public access. So it is important to preserve this
API for backwards compatibility.
2017-01-17 17:13:14 +01:00
Vicențiu Ciorbaru
8e15768731 Merge branch '10.0' into 10.1 2017-01-16 03:18:14 +02:00
Monty
67034b6d52 Fixes for running with gcov 2017-01-11 09:18:35 +02:00
Vicențiu Ciorbaru
ecdb39a9f5 Fix problems from 5.5 merge
* Update mysqld_safe script to remove duplicated parameter --crash-script
* Make --core-file-size accept underscores as well as dashes correctly.
* Add mysqld_safe_helper to Debian and Ubuntu files.
* Update innodb minor version to 35
2017-01-10 12:33:08 +02:00
Sergei Golubchik
8fcdd6b0ec Numerous issues in mysqld_safe 2016-12-22 12:25:10 +01:00
Vladislav Vaintroub
9b10b4181f update libmariadb, and fix debian packaging for client libs 2016-12-22 10:17:26 +01:00
Sergei Golubchik
2f20d297f8 Merge branch '10.0' into 10.1 2016-12-11 09:53:42 +01:00
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
Sergey Vojtovich
cb7b03b00d MDEV-11164 - hardening-wrapper has been removed from Debian Sid
The hardening-wrapper package has been removed from Debian Sid. Remove
dependency and relevant settings.
2016-10-28 13:34:13 +04: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
Otto Kekäläinen
e2bf4d8334 Deb: Remove commented out patches that for sure are not used anymore 2016-10-07 15:32:50 +03:00
Otto Kekäläinen
5549d62b10 Deb: Make alternative Debian builds easy with git-buildpackage config file 2016-10-07 15:32:46 +03:00
Daniel Black
f05dfbebcc Merge 10.2
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-09-23 09:24:22 +10:00
Daniel Black
8b59eab7a3 MDEV-10829: add libnuma-dev to debian packaging
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-09-23 09:05:01 +10:00
Sergei Golubchik
59d51f0c12 Merge branch '10.2' into bb-10.2-connector-c-integ-subm 2016-09-21 12:54:56 +02:00
Sergei Golubchik
f9bdc7c01a Merge branch '10.2' into bb-10.2-jan 2016-09-19 09:47:08 +02:00
Sergei Golubchik
882aea98c7 fix debian: no ha_innodb.so for you, sorry 2016-09-16 09:54:31 +02:00
Sergei Golubchik
9ee34f7133 install client plugins into their old location 2016-09-14 16:09:33 +02:00
Sergei Golubchik
2ae5c556a4 debian builds 2016-09-13 14:29:04 +02:00
Sergey Vojtovich
468a6ad722 Fixed package build failure README -> README.md 2016-08-31 11:49:35 +04:00
Sergey Vojtovich
daff133ddf MDEV-9185 - Integrate with Travis-CI for easier and more automatic QA
Based on contributions by Daniel Black and Otto Kekäläinen.
2016-08-18 12:49:04 +04:00
Sergei Golubchik
932646b1ff Merge branch '10.1' into 10.2 2016-06-30 16:38:05 +02:00
Sergei Golubchik
414a417e91 MDEV-10032 Connect engine not installable on Xenial
s/unixODBC/unixodbc/
2016-06-28 12:54:01 +02:00
Otto Kekäläinen
effbe7dd7b General spell fixing in comments and strings 2016-06-08 14:17:23 +03:00
Vladislav Vaintroub
b79944950e attempt to fix debian build (gssapi plugins require 10.1 client or server instead of 10.2 2016-05-14 15:37:14 +00:00
Nirbhay Choubey
7abb570756 MDEV-6211: MariaDB-Galera-server uses 'socat', but 'socat' is not in the dependency list
Xtrabackup-based SST method uses socat. Move it from
Suggests to Depends list.
2016-05-05 09:19:39 -04:00
Sergei Golubchik
87e3e67f43 Merge branch '10.0' into 10.1 2016-05-04 15:23:26 +02:00
Sergei Golubchik
872649c7ba Merge branch '5.5' into 10.0 2016-04-26 23:05:26 +02:00
Elena Stepanova
62122ba5d5 MDEV-9953 Debian packages install broken 'maria' test suite which cannot be run
Debian packages create empty maria/t and maria/r directories,
and MTR cannot run maria.* tests
2016-04-20 10:51:34 +03:00
Sergei Golubchik
f67a2211ec Merge branch '10.1' into 10.2 2016-03-23 22:36:46 +01:00
Sergei Golubchik
fd6c588659 Merge branch 'bb-10.1-serg' into 10.1 2016-03-22 19:18:48 +01:00
Nirbhay Choubey
52ce743bbf MDEV-9382: After updating mariadb server apt-configure fails
When acting as a Galera receiver node, server startup may take
more than 30 secs (the current default) as it has to wait for
SST/IST operation to complete besides spending some time doing
wsrep recovery.

Fixed by raising the default value of MYSQLD_STARTUP_TIMEOUT
to 60 secs. Also sourced /etc/default/mariadb into the init
script so that it can be used to set MYSQLD_STARTUP_TIMEOUT.
2016-03-22 00:38:21 -04:00
Sergei Golubchik
3b0c7ac1f9 Merge branch '10.0' into 10.1 2016-03-21 13:02:53 +01:00
Sergey Vojtovich
4aac51db9a MDEV-9587 - Debian packaging for GSSAPI plugin 2016-03-18 11:03:38 +04:00
Sergey Vojtovich
8942824a53 Fixed false errors returned by logrotate script
Logrotate script assumed an error if mysqladmin failed to connect to server
and there's mysqld process exists. However there can be non-system instance of
mysqld running (e.g. in docker) making this assumption wrong.

Check pid file existance instead.
2016-03-10 13:08:34 +04:00
iangilfillan
6befd84202 Update AskMonty and Atlassian references to MariaDB 2016-03-08 15:24:01 +02:00
Otto Kekäläinen
1777fd5f55 Fix spelling: occurred, execute, which etc 2016-03-04 02:09:37 +02:00
Otto Kekäläinen
802843eda0 MDEV-9643: Don't emit any "deb-systemd-helper not found" warnings 2016-02-29 23:02:53 +02:00
Sergey Vojtovich
90c9641a8a MDEV-7331 - information_schema.user_variables 2016-02-26 18:35:14 +04:00
Sergei Golubchik
00d1db7a38 Merge branch '10.1' into 10.2 2016-02-25 18:19:55 +01:00
Jean Weisbuch
db5b51fb7e mysqlreport update to 4.0, see MDEV-573 for more informations 2016-02-17 21:46:32 +04:00
Daniel Dent
f22f2a62ae MDEV-9484 - Typo fixes 2016-02-17 21:46:32 +04:00
Monty
b2f8d7b410 Merge branch '10.1' into 10.2
Conflicts:
	VERSION
	cmake/plugin.cmake
	config.h.cmake
	configure.cmake
	plugin/server_audit/server_audit.c
	sql/sql_yacc.yy
2016-02-06 18:14:54 +02:00
Sergei Golubchik
ed4fb9b248 MDEV-9259 Add missing mroonga files to Debian packaging in 10.1 2016-01-25 22:57:55 +01:00
Otto Kekäläinen
2a9f84b9a6 MDEV-9354: Debian: unmask the mysql.service on installation
Unmask the systemd mysql.service if left behind by mysql-server-5.6

Without this a simple 'apt-get install mariadb-server' would end
up with a system where mysqld is not running despite it was
running OK with mysql-server-5.6 installed, and users might wrongly
think mariadb-server package is broken when the real cause was
the removal of mysql-server-5.6 that left a /etc/systemd/system/
file behind pointing to /dev/null.
2016-01-11 10:28:00 +02:00
Alexander Barkov
2ba7ed77aa Merge remote-tracking branch 'origin/10.1' into 10.2 2015-12-29 19:37:11 +04:00
Sergey
0f94f94b3b Merge pull request #123 from ottok/ok-debpkg-10.2
MDEV-9186 - Debian packaging: extend libcrack hack to create correct control file
2015-12-23 16:59:48 +04:00
Sergey Vojtovich
87e6873ce9 MDEV-9081 - Debian: insecure debian-sys-maint password handling
Set umask so that newly created file is not readable by others. This is a quick
fix to close security gap. To be replaced by MDEV-8375 - passwordless root
login.
2015-12-22 19:13:51 +04:00