Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 665944

Summary: net-analyzer/icinga2: Validate DEPEND on virtual/mysql
Product: Gentoo Linux Reporter: Brian Evans (RETIRED) <grknight>
Component: Current packagesAssignee: Matthew Thode ( prometheanfire ) <prometheanfire>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 763480    

Description Brian Evans (RETIRED) gentoo-dev 2018-09-12 17:32:22 UTC
THIS IS A MASS FILING TO ALL PACKAGE WITH A DEPEND ON virtual/mysql

As was announced on the gentoo-dev-announce mailing list[1],
virtual/mysql is no longer viable to depend on providing the client libraries
or the mysql_config tool.

Most uses of DEPEND="virtual/mysql" (or conditionals based upon it) will not
work in the future.

If this package (optionally) depends on libmysqlclient.so* or mysql_config for
building, you will need to have dev-db/mysql-connector-c as the DEPEND/RDEPEND.

If this package (optionally) depends on libmariadb.so* or mariadb_config for
building, you will need to have dev-db/mariadb-connector-c as the
DEPEND/RDEPEND.

If this package requires the server running locally, virtual/mysql is
acceptible for RDEPEND and only in DEPEND when tests demand it.

The rare exception when server only files are required at build time should you
keep a compatible server listed.

After 60 days, roughly mid-October 2018, remaining packages will be forcefully
changed to mysql-connector-c with little or no testing. The server packages
will drop their compatibility DEPEND shortly after.

[1] https://archives.gentoo.org/gentoo-dev-announce/message/618f39bce863911d8955ee9f83636ca4
Comment 1 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2018-09-12 17:41:05 UTC
How should we change stable ebuilds? revbump preferred or switch in place (since it's just a dep change that may not be changing things)?

Using this now.

mysql? ( || ( dev-db/mariadb-connector-c dev-db/mysql-connector-c ) )
Comment 2 Larry the Git Cow gentoo-dev 2018-09-12 17:43:02 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3ced381f4ffbab6980f551d8190c2618bf85873

commit c3ced381f4ffbab6980f551d8190c2618bf85873
Author:     Matthew Thode <prometheanfire@gentoo.org>
AuthorDate: 2018-09-12 17:42:37 +0000
Commit:     Matthew Thode <prometheanfire@gentoo.org>
CommitDate: 2018-09-12 17:42:37 +0000

    net-analyzer/icinga2: update mysql/maria depend
    
    Bug: https://bugs.gentoo.org/665944
    Package-Manager: Portage-2.3.48, Repoman-2.3.10

 net-analyzer/icinga2/icinga2-9999.ebuild | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Comment 3 Brian Evans (RETIRED) gentoo-dev 2018-09-12 17:49:19 UTC
This should be treated similar to ffmpeg/libav or openssl/libressl.

The two APIs are normally compatible, the ABIs are not.  If you want to depend on both, something like:

mysql? ( !mariadb? ( dev-db/mysql-connector-c:= )
         mariadb? ( dev-db/mariadb-connector-c:= ) 
       )

or just: mysql? ( dev-db/mysql-connector-c:= )

Do understand that mariadb-connector-c may be runtime incompatible due to it being pthread_once vs mysql-connector-c being just pthread.  Multiple calls to libmariadb.so's initialization (mysql_{library,server}_init()) will fail and should be tested for.
Comment 4 Larry the Git Cow gentoo-dev 2018-09-12 18:10:40 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb1320023c4b367677cb90fee9cfdfc5099e3bdc

commit cb1320023c4b367677cb90fee9cfdfc5099e3bdc
Author:     Matthew Thode <prometheanfire@gentoo.org>
AuthorDate: 2018-09-12 18:10:15 +0000
Commit:     Matthew Thode <prometheanfire@gentoo.org>
CommitDate: 2018-09-12 18:10:15 +0000

    net-analyzer/icinga2: more mysql/maria updates
    
    Bug: https://bugs.gentoo.org/665944
    Package-Manager: Portage-2.3.48, Repoman-2.3.10

 net-analyzer/icinga2/icinga2-9999.ebuild | 19 ++++++++++++-------
 net-analyzer/icinga2/metadata.xml        |  1 +
 2 files changed, 13 insertions(+), 7 deletions(-)
Comment 5 Larry the Git Cow gentoo-dev 2020-10-16 11:49:31 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b287203f0d9b05f226aa9b58018842cb8dbe199

commit 0b287203f0d9b05f226aa9b58018842cb8dbe199
Author:     Louis Sautier <sbraz@gentoo.org>
AuthorDate: 2020-10-16 10:31:46 +0000
Commit:     Louis Sautier <sbraz@gentoo.org>
CommitDate: 2020-10-16 11:49:20 +0000

    net-analyzer/icinga2: bump to 2.12.1, fix build with boost 1.74.0
    
    Also:
    * Switch to EAPI=7, cmake.eclass.
    * Separate dependencies into DEPEND and BDEPEND.
    * Move accounts to DEPEND because of fowners in src_install.
    * Remove unused apache2 flag.
    * Remove unused eutils, toolchain-funcs and wxwidgets inherits.
    * Remove explicit git branch name.
    * Remove pthread sed, should not be needed since
      https://github.com/Icinga/icinga2/commit/9e9298f4face56f891054c25675b05e6f6771faa
    * Simplify usex calls.
    * Simplify USE=lto handling.
    * Simplify schema install, properly set ICINGA2_WITH_MYSQL with USE=mariadb.
    * Stop setting CMAKE_BUILD_TYPE to let the default "Gentoo" type be used.
    * Let the eclass handle CMAKE_VERBOSE_MAKEFILE.
    * Introduce USE=jumbo-build to optionally enable unity builds.
    * Add sub-slot operator to dev-libs/yajl.
    * Stop calling einstalldocs.
    * Fix elog message, account for REPLACING_VERSIONS being a list.
    * Update HOMEPAGE.
    
    Closes: https://bugs.gentoo.org/738234
    Closes: https://bugs.gentoo.org/665944
    Package-Manager: Portage-3.0.8, Repoman-3.0.1
    Signed-off-by: Louis Sautier <sbraz@gentoo.org>

 net-analyzer/icinga2/Manifest                      |   1 +
 .../files/icinga2-2.12.1-boost-1.74.0.patch        | 436 +++++++++++++++++++++
 net-analyzer/icinga2/icinga2-2.12.1.ebuild         | 149 +++++++
 net-analyzer/icinga2/metadata.xml                  |   1 +
 4 files changed, 587 insertions(+)