Commit Graph

508 Commits

Author SHA1 Message Date
Marko Mäkelä
88c35781cc Merge 10.7 into 10.8 2023-01-13 11:11:04 +02:00
Vladislav Vaintroub
5aa58a0d39 MDEV-30374 Windows, MSI - do not cache error, if install directory changes.
If installation directory is not empty, MSI would shows a popup informing
user about it. The error message is stored as MSI property
INSTALLDIRERROR.

Fixed the bug that the error was not cleared, when the user changes
directory in installer UI.
2023-01-12 15:14:37 +01:00
Sergei Golubchik
b7ffccf49b Merge branch '10.7' into 10.8 2022-05-18 13:26:48 +02:00
Vladislav Vaintroub
f027c1217b MDEV-28471 mysql_install_db.exe does not work with --innodb-page-size=64K
The error message "InnoDB: innodb_page_size=65536 requires innodb_buffer_pool_size >= 20MiB current 10MiB" is the relevant one.

The root cause:
mysql_install_db bootstraps with --innodb-buffer-pool-size=10M.
Small bufferpool is here by design - bootstrap should succeed,
even if there is not much RAM available, bootstrap does not need that much
memory.

For pagesize 64K specifically, Innodb thinks it needs a larger bufferpool,
and thus it lets the bootstrap process die (although the expected behavior
in this case would be to adjust value, give warning and continue)

The workaround:
- pass --innodb-buffer-pool-size=20M, which is suitable for all page sizes.
- check the same limit in MSI custom action.

Also, the patch adds mtr test for 64K page size.
2022-05-13 14:17:58 +02:00
Vladislav Vaintroub
eb25f47423 Merge branch '10.7' into 10.8
# Conflicts:
#	storage/innobase/btr/btr0pcur.cc
#	storage/innobase/log/log0log.cc
2022-02-17 12:43:29 +01:00
Vladislav Vaintroub
7aa09af488 Fix whitespaces 2022-02-14 12:04:50 +01:00
Vladislav Vaintroub
e9e6b23987 MDEV-27828 : Windows - major MSI upgrade fails, complaining that install directory not empty 2022-02-14 12:04:08 +01:00
Oleksandr Byelkin
4fb2cb1a30 Merge branch '10.7' into 10.8 2022-02-04 14:50:25 +01:00
Vladislav Vaintroub
8c457dad48 MDEV-27546 MSI should fail if INSTALLDIR is a non-empty existing directory
Make installer fail if INSTALLDIR exists.
In UI mode, show a popup and disable "Next" button until install root is
corrected
2022-01-31 20:10:08 +01:00
Vladislav Vaintroub
12cea09713 MDEV-27535 Service does not start after MSI install into restricted directory
This happens for example if one installs into home directory of a user
C:\Users\<username>\mariadb

The reason is that the service user "NT SERVICE\<service_name>" does
not have read and execute permissions for service executable mysqld.exe
in this directory.
Moreover, it would not have read permissions for server.dll loaded by the
exe, or to plugin directory, where plugins may reside.

The fix is to give service users read and execute permissions to bin, share, and
lib\plugin subdirectories.

The permission setting is doneby  mysql_install_db.exe, but also in MSI.
It is important to do that in MSI, as we want permissions to survive
the MSI upgrade.
2022-01-31 20:10:08 +01:00
Vladislav Vaintroub
e222e44d1b Merge branch 'preview-10.8-MDEV-26713-Windows-i18-support' into 10.8 2022-01-18 21:37:52 +01:00
Vladislav Vaintroub
2e48fbe3f5 MDEV-27525 Invalid (non-UTF8) characters found for option 'plugin_dir'
Two Problems
1. Upgrade wizard failed to retrieve path to service executable,
if it contained non-ASCII.
Fixed by setlocale(LC_ALL, "en_US.UTF8"), which was missing in upgrade wizard

2.mysql_upgrade_service only updated (converted to UTF8) the server's sections
leaving client's as-is

Corrected typo.

3. Fixed assertion in my_getopt, turns out to be too strict.
2022-01-18 17:32:53 +01:00
Vladislav Vaintroub
7dfa1168b4 MDEV-27446 Windows, MSI - fix redistributable merge module path for VS2022 2022-01-08 19:56:13 +01:00
Vladislav Vaintroub
2a6e086902 MDEV-27335 Windows, MSI - Bring the datadir location into the instance config UI 2022-01-05 10:46:54 +01:00
Vladislav Vaintroub
3712808ad2 Windows installer - fix UI of the "Uninstall" Dialog.
Give RemoveDatadirText field extra 10 pixels in height, to avoid
truncated display of directory path
2022-01-05 10:46:54 +01:00
Vladislav Vaintroub
a4fc41b6b4 MDEV-26713 Treat codepage 65001 as utf8mb4, not utf8mb3
Also, fix the "UTF8" option in MSI, which is responsible for character-set-server
setting
2021-12-15 19:13:57 +01:00
Vladislav Vaintroub
ea0a5cb0a4 MDEV-27092 Windows - services that have non-ASCII characters do not work with activeCodePage=UTF8
CreateServiceA, OpenServiceA, and couple of other functions do not work
correctly with non-ASCII character, in the special case where application
has defined activeCodePage=UTF8.

Workaround by redefining affected ANSI functions to own wrapper, which
works by converting narrow(ANSI) to wide, then calling wide function.

Deprecate original ANSI service functions, via declspec, so that we can catch
their use.
2021-12-15 19:13:57 +01:00
Marko Mäkelä
0a168398a0 Merge 10.5 into 10.6 2021-11-17 15:03:47 +02:00
Marko Mäkelä
5489ce0ae1 Merge 10.4 into 10.5 2021-11-17 14:49:12 +02:00
Marko Mäkelä
70e788b1e5 Merge 10.3 into 10.4 2021-11-17 13:59:42 +02:00
Marko Mäkelä
9962cda527 Merge 10.2 into 10.3 2021-11-17 13:55:54 +02:00
Vladislav Vaintroub
c5e09bf81a MDEV-27056 Windows upgrade_wizard - CloseHandle() on invalid (already closed) pipe handle 2021-11-16 01:51:35 +01:00
Marko Mäkelä
15139964d5 Merge 10.5 into 10.6 2021-09-11 17:55:27 +03:00
Marko Mäkelä
2d0847818d Merge 10.4 into 10.5 2021-09-11 11:49:12 +03:00
Marko Mäkelä
101d10b883 Merge 10.3 into 10.4 2021-09-11 11:21:39 +03:00
Marko Mäkelä
bcd25e1066 Merge 10.2 into 10.3 2021-09-11 11:14:18 +03:00
Vicențiu Ciorbaru
7c33ecb665 Merge remote-tracking branch 'upstream/10.4' into 10.5 2021-09-10 17:16:18 +03:00
Vladislav Vaintroub
1c378f1b95 Speedup build of the MSI package 2021-09-10 12:02:44 +02:00
Vladislav Vaintroub
f68c6ccd20 MDEV-26579 fixup 2021-09-10 09:38:40 +02:00
Vladislav Vaintroub
ca4bc3e3a9 MDEV-26579 Support minor MSI in Windows installer.
With this patch, 4-component MSI version can be used, e.g by setting
TINY_VERSION variable in CMake, or by adding a string, e.g
MYSQL_VERSION_EXTRA=-2
which sets TINY_VERSION to 2, and also changes the package name.

The 4-component MSI versions do not support MSI major upgrades, only minor
ones, i.e do not reinstall components, just update existing ones based
on versioning rules.

To support these rules, add DefaultVersion for the files that won't
otherwise be versioned - headers, static and import libraries,
pdbs, text - xml, python and perl scripts Also silence WiX warning
that MSI won't store hashes for those files anymore.
2021-09-10 02:20:16 +02:00
Vicențiu Ciorbaru
de7e027d5e Merge remote-tracking branch 'upstream/10.3' into 10.4 2021-09-09 09:23:35 +03:00
Vicențiu Ciorbaru
b85b8348e7 Merge branch '10.2' into 10.3 2021-09-07 16:32:35 +03:00
Vladislav Vaintroub
7dd85c0ffd MDEV-26527 speedup appveyor build
- set clone_depth to 1. Otherwise, appveyor spends
  4.5 minutes for the "git clone" alone

- Use Ninja instead of msbuild, it is (a bit) faster

- do not compile perfschema, or dynamic plugins
  to save time on compilation, or test execution.

- use -DFAST_BUILD=1 to speedup build a little

- increase number of parallel jobs used in build and test.
- Exclude some slow tests from the main suite.
2021-09-06 13:55:14 +02:00
Elena Stepanova
8382c3260b MDEV-26514 Option to build a separate test zip package on Windows
Add a possibility to run MTR tests on a release zip
2021-08-31 21:13:13 +03:00
Marko Mäkelä
65f1a42788 Merge 10.5 into 10.6 2021-06-09 16:50:58 +03:00
Marko Mäkelä
f4425d3a3d Merge 10.4 into 10.5 2021-06-08 16:03:53 +03:00
Marko Mäkelä
72b2489621 Merge 10.3 into 10.4 2021-06-08 15:02:40 +03:00
Marko Mäkelä
6e9642beb2 Merge 10.2 into 10.3 2021-06-08 14:33:07 +03:00
Vladislav Vaintroub
4927bf2534 MDEV-25870 Windows - MSI generation cleanup, fix ARM64
- Support building ARM64 packages
- require InstallerVersion 5.0 -required for arm64, also
it is there already on Windows 7
2021-06-07 23:15:36 +02:00
Vladislav Vaintroub
9f9a925c39 MDEV-23815 Windows : mysql_upgrade_wizard fails, if service name has spaces
The fix is to quote service name parameter, when it is passed to
mysql_upgrade_service subprocess.
2021-06-06 08:48:12 +02:00
Vladislav Vaintroub
cebc435592 MDEV-25859 - HeidiSQL 11.3 2021-06-05 16:57:46 +02:00
Sergei Golubchik
f33e57a9e6 Merge branch '10.4' into 10.5 2021-02-23 13:06:22 +01:00
Sergei Golubchik
e841957416 Merge branch '10.3' into 10.4 2021-02-23 09:25:57 +01:00
Sergei Golubchik
0ab1e3914c Merge branch '10.2' into 10.3 2021-02-22 22:42:27 +01:00
Vladislav Vaintroub
6ede84f477 MDEV-24762 - HeidiSQL 11.2 2021-02-02 10:28:31 +01:00
Vladislav Vaintroub
5eff7c0226 MDEV-23462 Upgrade wizard not offered during 10.5 MSI installation on Windows
There is no mysql_upgrade_wizard target, only mariadb-upgrade-wizard
2020-08-12 21:38:03 +02:00
Vladislav Vaintroub
7541080214 MDEV-23461 mysql_upgrade_wizard.exe differs from mariadb-upgrade-wizard.exe
The post-build custom command to embed Vista elevation manifest into
mariadb-upgrade-wizard.exe seems to do
something nasty to the executable, perhaps it removes and recreates it.

Thus the previously created hardlink mysql_upgrade_wizard is not marked
to require elevation.

Solved by using MANIFESTUAC linker flag, rather than invoke mt.exe.
This avoids an extra post-build step that modifies mariadb-upgrade-wizard.exe
2020-08-12 21:18:21 +02:00
Marko Mäkelä
a793ae5bc1 Merge 10.4 into 10.5 2020-06-06 08:55:22 +03:00
Marko Mäkelä
6877ef9a7c Merge 10.4 into 10.5 2020-06-05 20:36:43 +03:00
Vladislav Vaintroub
9d479e2577 Merge branch '10.3' into 10.4 2020-06-05 18:00:14 +02:00
Vladislav Vaintroub
b9b279ecc4 Merge remote-tracking branch 'origin/10.2' into 10.3 2020-06-05 17:59:35 +02:00
Vladislav Vaintroub
15cdcb2af8 Fix appveyor build. 2020-06-05 17:56:34 +02:00
Marko Mäkelä
68d9d512e9 Merge 10.3 into 10.4 2020-06-05 18:05:22 +03:00
Marko Mäkelä
680463a8d9 Merge 10.2 into 10.3 2020-06-05 16:51:26 +03:00
Vladislav Vaintroub
1828196f73 Windows, build tweak.
Allow targets for building "noinstall" zip, and debuginfo zip.
2020-06-05 13:29:01 +02:00
Vladislav Vaintroub
6e6d79a5cf Merge branch '10.4' into 10.5 2020-06-01 15:44:01 +02:00
Vladislav Vaintroub
f1c35a996f Merge branch '10.3' into 10.4 2020-06-01 15:43:14 +02:00
Vladislav Vaintroub
fd2b46d879 fix warning 2020-06-01 15:42:34 +02:00
Vladislav Vaintroub
50641db2d1 fix warning 2020-06-01 15:38:04 +02:00
Marko Mäkelä
4a0b56f604 Merge 10.4 into 10.5 2020-05-31 10:28:59 +03:00
Marko Mäkelä
6da14d7b4a Merge 10.3 into 10.4 2020-05-30 11:04:27 +03:00
Marko Mäkelä
e9aaa10c11 Merge 10.2 into 10.3 2020-05-29 22:21:19 +03:00
Vladislav Vaintroub
b00cd3e453 MDEV-22743 Windows 10 MSI installer : port in use is not determined
when checking for free port, use the same logic (IPv6 socket address
/ dual socket), like the server would.

Previous solution for testing whether port is free was trying to bind
IPv4 socket on INADDR_ANY.

This not work now on some reason, that attempt succeeds, even if there is
an existing IPv6-dual socket listening on 0.0.0.0:3306
2020-05-29 12:28:34 +02:00
Vladislav Vaintroub
ff72f36948 MSI installer : Use CAQuietExec64 on Win64 , not CAQuietExec
It works, but irritates people who look into the log and see
traces of 32bit custom action server.
2020-05-29 12:28:34 +02:00
Vladislav Vaintroub
e2d7da4982 Remove unused WiX source file 2020-05-29 12:27:55 +02:00
Vladislav Vaintroub
1f952df44a MDEV-22612 Fix -DWITH_ASAN=1 on Windows. 2020-05-18 13:00:49 +00:00
Vladislav Vaintroub
3bfe305c5c MDEV-22555 Windows, packaging: binaries depend on vcruntime140_1.dll, which is not in MSI
When server is compiled with recent VS2019, then executables,
have dependency on  vcruntime140_1.dll

While we include the VC redistributable merge modules into our MSI package,
those merge modules were stale (taken from older VS version, 2017)

Since VS2019 brough new DLL dependency by introducing new exception handling
https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64
thus the old MSMs were not enough.

The fix is to change logic in win/packaging/CMakeLists.txt to look up for
the correct, new MSMs.

The bug only affects 10.4,as we compile with static CRT before 10.4,
and partly-statically(just vcruntime stub is statically linked, but not UCRT)
after 10.4

For the fix to work, it required also some changes on the build machine
(vs_installer, modify VS2019 installation, add Individual Component
"C++ 2019 Redistributable MSMs")
2020-05-14 15:55:18 +02:00
Marko Mäkelä
fbe2712705 Merge 10.4 into 10.5
The functional changes of commit 5836191c8f
(MDEV-21168) are omitted due to MDEV-742 having addressed the issue.
2020-04-25 21:57:52 +03:00
Marko Mäkelä
af91266498 Merge 10.3 into 10.4
In main.index_merge_myisam we remove the test that was added in
commit a2d24def8c because
it duplicates the test case that was added in
commit 5af12e4635.
2020-04-16 12:12:26 +03:00
Marko Mäkelä
84db10f27b Merge 10.2 into 10.3 2020-04-15 09:56:03 +03:00
Marko Mäkelä
ccaec18b39 Merge 10.1 into 10.2 2020-04-14 16:13:35 +03:00
Vladislav Vaintroub
3ab21fd4e0 Windows build - use InstallRequiredSystemLibraries for MSVC_CRT_TYPE=/MD
CMake parameter

This includes compiler-specific dependencies
- tiny part of CRT, mostly memcpy/memset in msvcr140.dll
- exception handling in msvc140_1.dll
- C++ standard library in msvcp140
not much else

CMake is smart enough to copy the dependencies into the bin directory
itself.
2020-04-10 19:05:26 +02:00
Marko Mäkelä
f813131c7b Merge 5.5 into 10.1 2020-04-01 10:24:36 +03:00
Vladislav Vaintroub
24cb76b8dd MDEV-22032 update HeidiSQL to version 11 2020-03-24 23:30:40 +01:00
Rasmus Johansson
9e1b3af4a4 MDEV-21303 Make executables MariaDB named
To change all executables to have a mariadb name I had to:
- Do name changes in every CMakeLists.txt that produces executables
- CREATE_MARIADB_SYMLINK was removed and GET_SYMLINK added by Wlad to reuse the function in other places also
- The scripts/CMakeLists.txt could make use of GET_SYMLINK instead of introducing redundant code, but I thought I'll leave that for next release
- A lot of changes to debian/.install and debian/.links files due to swapping of real executable and symlink. I did not however change the name of the manpages, so the real name is still mysql there and mariadb are symlinks.
- The Windows part needed a change now when we made the executables mariadb -named. MSI (and ZIP) do not support symlinks and to not break backward compatibility we had to include mysql named binaries also. Done by Wlad
2020-03-21 20:20:29 +01:00
Vladislav Vaintroub
29710b2839 Merge branch '10.4' into 10.5
# Conflicts:
#	win/packaging/extra.wxs.in
2019-11-27 16:02:34 +01:00
Vladislav Vaintroub
96c6b2b649 MDEV-19781 fixups
- It is not enough to have  and DeleteSymlinks actions
because within the same installation some exes executables can be both
added and removed, which needs both adding and removing some symlinks.

Instead of CreateSymlinks, there is now FixSymlinks function, which
goes through the list, and adds or removes the symlinks as needed.

- Implemented rollback for symlink custom action.

- Generate list of symlinks in C++ file, using CMake, rather than storing
lists as MSI properties.
2019-11-27 15:58:06 +01:00
Marko Mäkelä
ddbbf97670 Merge 10.4 into 10.5 2019-11-27 06:29:14 +02:00
Rasmus Johansson
b6f7ec6a5b MDEV-19781 Create MariaDB named commands on Windows
Added CreateSymlinks and DeleteSymlinks functions to
CustomAction.cpp. Extra.wxs.in calls them.
2019-11-26 17:17:54 +02:00
Marko Mäkelä
613e9e7d4d MDEV-20907 Set innodb_log_files_in_group=1 by default
Historically, InnoDB split the redo log into at least 2 files.
MDEV-12061 allowed the minimum to be innodb_log_files_in_group=1,
but it kept the default at innodb_log_files_in_group=2.

Because performance seems to be slightly better with only one log file,
and because implementing an append-only variant of the log would require
a single file, let us define the default to be 1, and have
innodb_log_file_size=96M, to retain the same default total size.
2019-10-28 17:11:10 +02:00
Alexander Barkov
c1599821a5 Merge remote-tracking branch 'origin/10.4' into 10.5 2019-08-13 23:49:10 +04:00
Marko Mäkelä
624dd71b94 Merge 10.4 into 10.5 2019-08-13 18:57:00 +03:00
Oleksandr Byelkin
2792c6e7b0 Merge branch '10.3' into 10.4 2019-07-28 13:43:26 +02:00
Vladislav Vaintroub
5e112a2620 Fix Windows packaging. 2019-07-27 13:53:56 +02:00
Oleksandr Byelkin
d97342b6f2 Merge branch '10.2' into 10.3 2019-07-26 22:42:35 +02:00
Oleksandr Byelkin
cf8c2a3c3b Merge branch '10.1' into 10.2 2019-07-26 07:03:39 +02:00
Oleksandr Byelkin
ae476868a5 Merge branch '5.5' into 10.1 2019-07-25 13:27:11 +02:00
Vladislav Vaintroub
399d012c81 MDEV-19922 Old version of heidisql in mariadb installer
Upgrade HeidiSQL to 10.2
2019-07-05 15:15:26 +02:00
Marko Mäkelä
7a3d34d645 Merge 10.3 into 10.4 2019-07-02 21:44:58 +03:00
Marko Mäkelä
e82fe21e3a Merge 10.2 into 10.3 2019-07-02 17:46:22 +03:00
Vladislav Vaintroub
a89f1faf7b Remove feedback from Windows MSI
Not much use of this feature so far.
2019-06-30 17:48:19 +02:00
Vladislav Vaintroub
cff7cf15d7 Windows MSI : small cleanups, disable Windows 7/8 2019-06-27 20:05:01 +02:00
Vladislav Vaintroub
74a744b51f Windows : Do not package redistributable C runtime , nor merge modules into Windows
installers

Rely on Universal CRT to be on every computer we install.
2019-06-27 19:33:25 +02:00
Vladislav Vaintroub
dc11aab9b3 MDEV-19889 In CMakeLists.txt, use ${CMAKE_CPACK_COMMAND},rather than just cpack 2019-06-27 15:18:02 +02:00
Oleksandr Byelkin
c07325f932 Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
Marko Mäkelä
be85d3e61b Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
Marko Mäkelä
26a14ee130 Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
Vicențiu Ciorbaru
cb248f8806 Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
Vicențiu Ciorbaru
5543b75550 Update FSF Address
* Update wrong zip-code
2019-05-11 21:29:06 +03:00
Vicențiu Ciorbaru
f177f125d4 Merge branch '5.5' into 10.1 2019-05-11 19:15:57 +03:00