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.
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.
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.
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.
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.
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
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.
- 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.
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.
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.
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.
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.
Make dependency on mysql-common package in debian/control
versioned to force that it is installed together with the other
mariadb-* packages. This ensures that the init.d and systemd
files for MariaDB mysqld are the ones from MariaDB.org repos.
This is useful for developers who run autobake-deb.sh directly
from the source tree as the resulting source tar package will be
90% smaller and all operations regarding it consequently 10x faster.
This should make the provides/breaks/replaces/conflicts lines
work properly when upgrading from mysql-5.6 to mariadb-packages.
Conflicts:
debian/control
The only difference between the files was the Debian standards
line by one micro version. There was no logical motivation why
there was separate control file for Debian and Ubuntu.
The new debian/control file lives directly at the correct location
and has the correct contents.
Modify autobake.sh to take into account new control file location.
myisam_recover is only an alias for myisam_recover_options.
Use the option name instead of the alias is more correct.
This also avoids an note about the use of an alias instead of the option
name on every server start.
mysqlbug has been obsolete since MySQL 5.5, and has been removed in MySQL 5.7.
It's also of no use for reporting MariaDB bugs. The script and the associated
man page removed from MariaDB.
When the debian/control gets stripped off the libcrack3 dependency,
it should also strip off the mariadb-cracklib-password-check-10.2
package entry, otherwise the resulting Debian source package will
not be re-buildable independently later.
A comment in debian/mariadb-server-10.1.postinst says: "can safely run on
upgrades with existing databases". While this is true there're a few reasons not
to do that:
- it increases installation time (it has to run rather heavy mysqld multiple times)
- as well as it increases mysqld downtime
- it may fail if database has some plugin specific configs (see MDEV-8437)
- there should be no need to run this script on upgrade: they should be handled
by mysql_upgrade to
- RPM postin doesn't call it if database directory exists
Also postinst is not supposed to create database directories: let
mysql_install_db do that intead.
There was code that was supposed to "catch upgrades from previous versions where
the root password wasn't set". But it is wrong in many regards:
- it is supposed to be executed against running server, but at this point server
should be down, which makes this code no-op
- if the above is fixed, root password will be requested twice (initial root
password request + this one)
- it asks for a password only once, while "initial root password request" asks
twice (password + password verification)
- it may give false positive if unix socket based authentication is in effect
Removed this code since it didn't work for quite a while (at least since
mysql-5.1) and nobody cared about it.
There is no strong need to change password column: the only side effect is
that 4.0 -> 10.1 upgrades may get root/debian-sys-maint passwords stored in old
format. This should be perfectly acceptable, since all password at this point
are stored in old format.
Removed redundant attempt to create mysql.plugin table:
- original code was supposed to INSTALL some plugins:
INSERT INTO plugin VALUES ('innodb', 'ha_innodb.so'),
('federated', 'ha_federated.so'), ('blackhole', 'ha_blackhole.so'),
('archive', 'ha_archive.so');
- original code was supposed to fail if mysql.plugin exists:
The query sequence is supposed to be aborted if the CREATE TABLE fails due
to an already existent table in which case the admin might already have
chosen to remove one or more plugins.
- mysql.plugin must've been created by preceeding mysql_install_db anyway
This reverts commit 6bd94cf542.
Without galera as a compulsory dependency, test suite will not pass
due to failing:
wsrep.pool_of_threads wsrep.binlog_format wsrep.mdev_6832 wsrep.mdev_7798
Plus minor other fixes to debian/control file, wrap-and-sort,
versioned mariadb-common dependency etc. All changes based on
comparison with mariadb-10.0 packaging in official Debian
repositories.
Having galera-3 as a Depends stops installation of proceeding
on systems where package galera-3 is not available. The server
can run fine withouth galera enabled, therefore a more slack
relationship is more appropriate.
This is useful for developers who run autobake-deb.sh directly
from the source tree as the resulting source tar package will be
90% smaller and all operations regarding it consequently 10x faster.
* dpatch cannot be removed yet, as packaging standard isn't updated
* we don't want to remove libssl at all, as in upstream we rather
use system provided OpenSSL than bundled, non-system updated and
less commonly trusted YaSSL
* keep versioned dependencies, they might prove helpful when building
for multiple distros and releases
For tracking purposes this step is committed first before
the unnecessary dependencies are trimmed away.
libpcre3-dev (>= 2:8.35-3.2~) is however omitted (compared to
downstream Debian packaging) as it is not available in precise
and we don't want to break builds on precise yet.
* README and NEWS are very old and mostly plain wrong and not needed
* Lintian-overrides are relevant only in actual Debian QA systems
* watch file was plain wrong and anyway relevant only in downstream distros
Use the slightly better Ubuntu version in both Ubuntu and
Debian and latest versions of Debian don't have problems
with AppArmor files included in packaging.
Let mysqld_safe_syslog.cnf force disable error log so that logging to syslog is
not affected by previous log_error setting.
Added handling of --skip-log-error to mysqld_safe.
fix upgrade[2] tests on trusty and utopic: add missing
conflicts/replaces, client-10.0 should conflict/replace client-5.5.
reformat other conflicts/replaces lines to make them easier
to read and merge
jessie has newer automake so build-depends could not be satisfied.
refresh build-depends, remove automake, libtool,
doxygen, texlive-latex-base, ghostscript.
issue, no mariadb-server in provides
MDEV-7233: Fix issue with missing dependency socat
when installing MariaDB-galera-server on
RedhatEL/OracleEL/(Others?) RPM based
* Added mariadb-server to "provides" for MariaDB Galera
server package. (rpm)
* Removed "socat" from MariaDB Galera server's mandatory
dependency list. (rpm)
* Moved "socat" from mandatory to optional dependency. (deb)
issue, no mariadb-server in provides
MDEV-7233: Fix issue with missing dependency socat
when installing MariaDB-galera-server on
RedhatEL/OracleEL/(Others?) RPM based
* Added mariadb-server to "provides" for MariaDB Galera
server package. (rpm)
* Removed "socat" from MariaDB Galera server's mandatory
dependency list. (rpm)
* Moved "socat" from mandatory to optional dependency. (deb)
* fix debian patch
* update the copyright
* rename include guards to follow conventions
* restore incorectly deleted test file, add clarification in a comment
* capitalize the first letter of the status variable
* skip debian 44_scripts__mysql_config__libs.dpatch it does not apply anymore
(and anyway it would not work for a static library)
* fix the path for install(mariadb.pc)
Merged lp:maria/maria-10.0-galera up to revision 3879.
Added a new functions to handler API to forcefully abort_transaction,
producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These
were added for future possiblity to add more storage engines that
could use galera replication.
packages
* Added "galera" as default option group.
* Updated deb/rpm server config files to include mandatory
and optional settings (as comments) required to configure
Galera cluster.
using "MariaDB-Galera-server"
rpm: Updated components' requires-list to include "MariaDB"
instead of "MariaDB-server".
deb: Added (ORed) 'mariadb-galera-server-10.0' to the 'Depends'
list of connect and oqgraph engine packages.
MDEV-6281 Typo in mysql_install_db scripts
and collateral changes:
* remove mysql_tableinfo.1 and references to it (there's no mysql_tableinfo)
* for debian: create manpages for mysqlrepair, mysqlanalyze, mysqloptimize
(as symlinks for mysqlcheck.1, just as executables are symlinks to mysqlcheck)
* remove mysqlmanager.8 and references to it
* correct "very long line" error in mysqladmin.1
* simplify and fix table formatting in mysqlbinlog.1 and mysqldump.1
* fix a typo in the help text in mysql_install_db
* aria_chk: say "for Linux on x86_64", like other tools do
(not "for Linux at x86_64")
* add simple manpages for aria_* utilities
Automatic merge, except for server_audit.cc that had to be modified slightly
Changes to xtradb and innobase where ignored was these made no sence for 10.0
trying to perform wsrep position recovery.
Fixed by correcting the erroneous mysqld command
by properly quoting it.
* Merged the changes made to Ubuntu rules in previous
revision to Debian rules.
- include metadata_lock_info plugin into debian packages
- ignore metadata_lock_info plugin in mysqld--help test
- let test suite run with built-in metadata_lock_info plugin