20 Commits
Author SHA1 Message Date
Caolán McNamara a44fc53d05 Related: tdf#170410 remove redundant CRYPT_LIBS
commit a726c634ac
Date:   Mon Jan 12 23:02:34 2026 +0100

    Fix "unable to find library -lcrypt" with recent glibc

added a use of CRYPT_LIBS, but that doesn't appear in config_host.mk.in

so effectively that universally removed -lcrypt from the mysqlc link line

Change-Id: I58f49cddeec2b2d3445e569610e4848d310c84d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198886
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2026-02-07 20:15:58 +01:00
Julien Nabet a726c634ac Fix "unable to find library -lcrypt" with recent glibc
ld.lld: error: unable to find library -lcrypt
[LNK] Library/libunotest.so
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[MOD] svtools
make[1]: *** [/home/julien/lo/libreoffice/connectivity/Library_mysqlc.mk:10: /home/julien/lo/libreoffice/instdir/program/libmysqlclo.so] Error 1

Change-Id: I6472de619971f631c76e2d463d2057fb26562db4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197155
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-01-13 22:54:45 +01:00
Julien Nabet 6d5d9eaa61 tdf#150082: LO Base MariaDB/MySQL connector don't accept auth via gssapi...
take 2 + add sspi support for Windows

Thank you Mike for the suggestion and explanation about error I had done on initial commit!

We need to link with Secur32 to have:
- AcquireCredentialsHandleA
- __imp__FreeCredentialsHandle
- _InitializeSecurityContextA
- __imp__DeleteSecurityContext
referenced by function _auth_client
without this, we've got for example on Windows Jenkins:
mariadb-connector-c.lib(sspi_client.o) : error LNK2019: unresolved external symbol _AcquireCredentialsHandleA@36 referenced in function _auth_client

Change-Id: I138224942f16c0c6a23bb2854ef0ca561e82b061
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167057
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-05-06 09:25:48 +02:00
Julien Nabet 53ab626921 tdf#150082: LO Base MariaDB/MySQL connector don't accept auth via gssapi
Exclude Windows since we're not sure gssapi.h is available (at least Jenkins Windows machine doesn't have it)

Change-Id: Iba396f77b07dce4291de5eb0e6ad7c0c25e6c3c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159954
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-04-22 19:56:48 +02:00
Julien Nabet 4f928a5823 Mysql/Mariadb: implement refreshUsers so get access to users admin page
There's still work to do:
- retrieve privileges of each table since it's empty for the moment
- make the checkboxes editable (it seems read only)
- make the user management work (creating one doesn't work for example)

Change-Id: Ia1d9c4db7faae16ec1903c5d7aa5e679ce5e944a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160244
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-12-02 18:35:20 +01:00
Noel Grandin 793fd21a4d loplugin:unusedmethods
Change-Id: I42cd6d52bd6c0759fa0a8b1b91bbf1af7eb70ba8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132117
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-25 14:53:29 +01:00
Julien Nabet 52443996ef Mysql/MariaDB: implement edit VIEW with GUI or SQL
Delete View works (and the list is updated)
Modifying View works

But, there are at least 2 things to fix:
- adding a view still works but the list isn't updated without manual refresh)
- renaming view doesn't work (a popup error message appear)

Change-Id: I48ffb322910ca64d51a161424f265de387bdd7ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128483
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-01-16 23:38:25 +01:00
Julien Nabet 628fedabdd Mysql/MariaDB: tdf#81430 make tables editable (with or without PK)
Change-Id: I7df464107e692817ef80d887a4addea618d6cc72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128356
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-01-14 21:41:31 +01:00
Julien Nabet 8dd86eb560 Mysql/MariaDB: add catalog+indexes+keys+user(s) skeleton part
+ sort objects in Library_mysqlc.mk

Change-Id: Ide8ea46424b034c109670ee5514b0afebfa376aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128176
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-01-11 20:53:43 +01:00
Stephan Bergmann db3a61cd95 Generally determine Rdb content from gb_*_set_componentfile calls
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb).  To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget.  (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)

Most Rdb_*.mk files are thus mostly empty now.  One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.

1c9a40299d "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option.  However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d):

1  Rdb_services shall not contain the component files of all libraries that are
built.  While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).

2  The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.

3  The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.

4  Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.

The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled.  I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.

Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-12-10 08:14:24 +01:00
Julien Nabet 8c9b8c5970 tdf#135202: Mysql use openssl libs to be able to use caching_sha2_pw
Change-Id: I7552b65022b725c6e87fef61478dc6e9c4322559
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105376
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-11-06 17:00:44 +01:00
Stephan Bergmann b1141fa610 Cut down on -pthread/-lpthread proliferation
Building against libstdc++ effectively always requires -pthread anyway (as
various standard C++ headers require it, see the comment added to
solenv/gbuild/platform/unxgcc.mk), so many explicit uses of -pthread/-lpthread
can be removed.

Doing a (partial) test build on Linux with Clang -stdlib=libc++ suggests that
libc++ indeed doesn't need -pthread as libstdc++ does.

The remaining uses of -pthread/-lpthread are mostly in configure.ac for the
various BSDs (which somebody else might want to clean up now), and related to
external projects.  I tried to be careful to remove -pthread/-lpthread from
makefiles only when C++ object files are involved (so -pthread will now be
included on the link command line by default).

Change-Id: I936e082839cb9a434bd273ce5a1f187a4245dfa1
Reviewed-on: https://gerrit.libreoffice.org/71291
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-04-25 21:27:43 +02:00
Tamas Bunth 406aef41d1 mysqlc: Allow conversions between different types
Change-Id: I54c1f438a755267db0896637c79f915de9113f83
Reviewed-on: https://gerrit.libreoffice.org/71074
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2019-04-25 15:47:38 +02:00
Tamas Bunth 0c6da44c92 mysqlc: allow multiple open statements
Change-Id: I07e57ea7d9e6af1c7543483b1ab54a0b8c5be2d5
Reviewed-on: https://gerrit.libreoffice.org/62640
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2018-11-05 10:06:03 +01:00
Kacper Kasper 4326fb3ef3 Fix build on Haiku
Change-Id: I4a21258c2405bd6e5c539ec0206e28a316c6ce13
Reviewed-on: https://gerrit.libreoffice.org/60835
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-11-01 13:44:47 +01:00
Michael Stahl 340bde5337 Revert "On macOS Library_mysqlc needs _iconv{,_close,_open}"
This reverts commit a191075ee1.

This fix was superceded by commit 13a05eec73
which is better abstracted.

Change-Id: I3b8ba735d279a50f5548a26fcc8fa6f790b2ea42
2018-08-30 17:12:17 +02:00
Caolán McNamara 5061663ce0 drop unnecessary SYSTEM_MYSQL_CONNECTOR_CPP
Change-Id: I41cfbf41247270d29e08e5125adc05aac198b175
Reviewed-on: https://gerrit.libreoffice.org/59608
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-26 17:51:51 +02:00
Caolán McNamara a42f498f45 presumably should be mysqlc here
Change-Id: I328cb639cf1e190e745aa20e0f83b0e3e4fd2f60
Reviewed-on: https://gerrit.libreoffice.org/59606
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-26 17:51:15 +02:00
Caolán McNamara 71cbeeee37 CPPCONN_LIB now unused
since

commit 26b40fcfc6
Author: Tamas Bunth <tamas.bunth@collabora.co.uk>
Date:   Thu Aug 16 16:35:17 2018 +0200

    Moving mysqlc into connectivity as a library

Change-Id: Iafc4fb685d8f7b97f8be83dbf26945f9af976f1a
Reviewed-on: https://gerrit.libreoffice.org/59604
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-08-26 17:49:24 +02:00
Tamas Bunth 26b40fcfc6 Moving mysqlc into connectivity as a library
Additionally I erased the remains of the old mysql C++ connector.

Also update the code where the clang plugins were unhappy after moving
the mysqlc module.

Remove mysql-cpp-connector external.

Change-Id: I771cc7afacf5012fc349afb6b36828fb0fee5a66
Reviewed-on: https://gerrit.libreoffice.org/59200
Tested-by: Jenkins
Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2018-08-24 17:19:51 +02:00