About the version of libreoffice dependent.

bleakwind

Member

Reaction score: 4
Messages: 53

I install mysql57 from ports.
Code:
mysql57-client-5.7.25          Multithreaded SQL database (client)
mysql57-server-5.7.25_1        Multithreaded SQL database (server)


Then I install libreoffice use pkg install libreoffice, pkg install want to remove mysql57 and install mysql56.
Code:
# pkg install libreoffice
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (1 conflicting)
  - mysql56-client-5.6.43 conflicts with mysql57-client-5.7.25 on /usr/local/bin/mysql
Checking integrity... done (0 conflicting)
The following 5 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
    mysql57-client-5.7.25
    mysql57-server-5.7.25_1

New packages to be INSTALLED:
    libreoffice: 6.2.2_3
    mysql56-client: 5.6.43

Installed packages to be REINSTALLED:
    pkg-1.10.5_5

Number of packages to be removed: 2
Number of packages to be installed: 2
Number of packages to be reinstalled: 1

The process will require 206 MiB more space.

Proceed with this action? [y/N]:


I run this:
Code:
# pkg set -o databases/mysql56-client:databases/mysql57-client

And put this in /etc/make.conf
Code:
DEFAULT_VERSIONS+= mysql=5.7

Nothing help, pkg install still want remove mysql57.
 

rigoletto@

Daemon
Developer

Reaction score: 1,236
Messages: 2,282

In short, if you want to deviate from defaults you should build from ports. It is not a good idea to mix ports and pre-built packages but for this particular case, libreoffice is a leaf, and if nothing more depends on mysql you could probably mix without problems.

DEFAULT_VERSIONS is for ports, doesn't work for pre-built packages.
 
OP
B

bleakwind

Member

Reaction score: 4
Messages: 53

In short, if you want to deviate from defaults you should build from ports. It is not a good idea to mix ports and pre-built packages but for this particular case, libreoffice is a leaf, and if nothing more depends on mysql you could probably mix without problems.

DEFAULT_VERSIONS is for ports, doesn't work for pre-built packages.

Thanks for your reply.

By the way, if I run some pkg set,
Code:
pkg set -o databases/mysql56-client:databases/mysql57-client
and I forgot how many, how can I find these changes dependency list.
How can I delete the pkg set change?

And portmaster,
Code:
portmaster -o databases/mysql57-client databases/mysql56-client
How delete the set?
 

rigoletto@

Daemon
Developer

Reaction score: 1,236
Messages: 2,282

To be fair I never used pkg set -o. That said, I would just de-install mysql and install again later. :-/

You could have a look of what pkg prime-origins or pkg prime-list tell you.

Also, IDK too much about ports-mgmt/portmaster I've briefly used it a couple of years ago, then switched to ports-mgmt/synth for a while, finally ports-mgmt/poudriere; however I suppose portmaster just run pkg set -o behind the scenes for that particular command.
 

free-and-bsd

Aspiring Daemon

Reaction score: 145
Messages: 923

I have the same problem. Besides, I get this message from the installation:

Message from mysql56-client-5.6.43:

* * * * * * * * * * * * * * * * * * * * * * * *

Please be aware the database client is vulnerable
to CVE-2015-3152 - SSL Downgrade aka "BACKRONYM".
You may find more information at the following URL:


Although this database client is not listed as
"affected", it is vulnerable and will not be
receiving a patch. Please take note of this when
deploying this software.
 

free-and-bsd

Aspiring Daemon

Reaction score: 145
Messages: 923

...
I run this:
Code:
# pkg set -o databases/mysql56-client:databases/mysql57-client
Your command is wrong :), but the right one will be this:
Code:
# pkg set -o databases/mysql-client:databases/mysql57-client
That is, you DON'T want to set databases/mysql56-client to be built from databases/mysql57-client origin. Rather, you set the default one to that.

EDIT: while the above is theoretically correct, there is NO generic package like databases/mysql-client. So this won't work in this case. Neither am I sure this system works any longer, now that flavours have been introduced and supported in ports.
 

free-and-bsd

Aspiring Daemon

Reaction score: 145
Messages: 923

Ok, editors/libreoffice has this set in its Makefile:
USES= mysql:client
Now here's what the manual says about this setting:
Possible arguments: (none), version, client (default), server, embedded
Provide support for MySQL. If no version is given, try to find the current installed version. Fall back to the default version, MySQL-5.6. The possible versions are 55, 55m, 55p, 56, 56p, 56w, 57, 57p, 80, 100m, 101m, and 102m. The m and p suffixes are for the MariaDB and Percona variants of MySQL. server and embedded add a build- and run-time dependency on the MySQL server. When using server or embedded, add client to also add a dependency on libmysqlclient.so. A port can set IGNORE_WITH_MYSQL if some versions are not supported.
So, without further investigations, I used this dirty fix: edit Makefile and replace "mysql:client" with "mysql:57,client". Although, per description above, it would be enough to have the right version installed in your system... Well, I was in a hurry and didn't want to take chances and prove to myself that the system indeed works as intended :):) Terribly sorry for that.

There is one thing I don't get. IF my libreoffice was built while the system installed version of mysql was 56, then WHY would the system, upon the upgrade, build mysql57-server/client instead? The port default version is still 5.6! It must have been, then, that I already had mysql57 installed. But if so, then why didn't libreoffice detect it?? So, I just used this fix. Because putting DEFAULT_VERSION in /etc/make.conf didn't help.
 
OP
B

bleakwind

Member

Reaction score: 4
Messages: 53

I use ports rebuild libreoffice, ports works with mysql57 fine.
 
Last edited:
Top