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

Bug 665930

Summary: media-video/motion: Validate DEPEND on virtual/mysql
Product: Gentoo Linux Reporter: Brian Evans (RETIRED) <grknight>
Component: Current packagesAssignee: Gentoo Media-video project <media-video>
Status: RESOLVED FIXED    
Severity: normal CC: hfern, media-video, shimarin
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/10020
https://github.com/Motion-Project/motion/issues/875
https://github.com/gentoo/gentoo/pull/15513
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 668560    
Bug Blocks: 763480, 673410    

Description Brian Evans (RETIRED) gentoo-dev 2018-09-12 17:31:50 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 Brian Evans (RETIRED) gentoo-dev 2018-12-19 13:43:23 UTC
Please don't rely on mysqlcompat USE.  It may not be there in the future.
Comment 2 William Breathitt Gray 2018-12-20 09:52:11 UTC
I've opened an issue upstream to help address this problem: https://github.com/Motion-Project/motion/issues/875

The motion project's configure script appears to be broken. Once the configure script is working, we can have the package depend on MariaDB to resolve this Gentoo issue.
Comment 3 Johannes Willem (Hans) Fernhout 2020-04-19 08:40:19 UTC
Motion now supports building with mysql or mariadb support. The dependency has een updated in the ebuild for motion-4.3.1 provided in bug 673410:

RDEPEND="
    virtual/jpeg:=
    ffmpeg? (
        libav? ( media-video/libav:= )
        !libav? ( media-video/ffmpeg:0= )
    )
    mariadb? ( dev-db/mariadb-connector-c )
    mmal? ( media-libs/raspberrypi-userland )
    mysql? ( dev-db/mysql-connector-c )
    postgres? ( dev-db/postgresql:= )
    sqlite? ( dev-db/sqlite:3 )
    webp? ( media-libs/libwebp:= )
"

The detection seems to work fine too, evidenced with the below snippets from the build logs.

<<< With mysql use flag >>>
 * Package:    media-video/motion-4.3.1
 * Repository: localrepo
 * Maintainer: media-video@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc ffmpeg kernel_linux mysql userland_GNU v4l
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
..
..
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/motion-4.3.1 --htmldir=/usr/share/doc/motion-4.3.1/html --libdir=/usr/lib64 --with-ffmpeg --without-mariadb --without-mmal --with-mysql --without-pgsql --without-sqlite3 --with-v4l2 --without-webp --without-optimizecpu
..
..
x86_64-pc-linux-gnu-gcc -D_THREAD_SAFE    -I/usr/include/mysql -march=znver1 -O2 -pipe  -Wl,-O1 -Wl,--as-needed -o motion motion.o logger.o conf.o draw.o jpegutils.o video_loopback.o video_v4l2.o video_common.o video_bktr.o netcam.o netcam_http.o netcam_ftp.o netcam_jpeg.o netcam_wget.o netcam_rtsp.o track.o alg.o event.o picture.o rotate.o translate.o md5.o stream.o ffmpeg.o webu.o webu_html.o webu_stream.o webu_text.o mmalcam.o   -pthread   -ljpeg -lmicrohttpd -lavutil -lavformat -lavcodec -lswscale -lavdevice -lmysqlclient



<<<< With mariadb use flag >>>>
 * Package:    media-video/motion-4.3.1
 * Repository: localrepo
 * Maintainer: media-video@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc ffmpeg kernel_linux mariadb userland_GNU v4l
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
..
..
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/motion-4.3.1 --htmldir=/usr/share/doc/motion-4.3.1/html --libdir=/usr/lib64 --with-ffmpeg --with-mariadb --without-mmal --without-mysql --without-pgsql --without-sqlite3 --with-v4l2 --without-webp --without-optimizecpu
..
..
   **************************
      Configure status
      motion 4.3.1
   **************************

CFLAGS: -D_THREAD_SAFE    -I/usr/include/mysql -I/usr/include/mysql/.. -march=znver1 -O2 -pipe

LIBS:  -pthread   -ljpeg -lmicrohttpd -lavutil -lavformat -lavcodec -lswscale -lavdevice -lmariadb -lpthread -lz -ldl -lm -lssl -lcrypto

LDFLAGS:  -Wl,-O1 -Wl,--as-needed
..
..
x86_64-pc-linux-gnu-gcc -D_THREAD_SAFE    -I/usr/include/mysql -I/usr/include/mysql/.. -march=znver1 -O2 -pipe  -Wl,-O1 -Wl,--as-needed -o motion motion.o logger.o conf.o draw.o jpegutils.o video_loopback.o video_v4l2.o video_common.o video_bktr.o netcam.o netcam_http.o netcam_ftp.o netcam_jpeg.o netcam_wget.o netcam_rtsp.o track.o alg.o event.o picture.o rotate.o translate.o md5.o stream.o ffmpeg.o webu.o webu_html.o webu_stream.o webu_text.o mmalcam.o   -pthread   -ljpeg -lmicrohttpd -lavutil -lavformat -lavcodec -lswscale -lavdevice -lmariadb -lpthread -lz -ldl -lm -lssl -lcrypt
Comment 4 Larry the Git Cow gentoo-dev 2020-06-04 07:14:20 UTC
The bug has been closed via the following commit(s):

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

commit 58c1002e91e59ca9edba1a4781f3024b0dbdf99e
Author:     Hans Fernhout <hfern@fernhout.info>
AuthorDate: 2020-06-04 07:09:24 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2020-06-04 07:14:12 +0000

    media-video/motion: version bump to 4.3.1
    
    Summary of changes:
    - support new version 4.3.1
    - EAPI6 to EAPI7
    - GLEP81 support: user and group management via dedicated packages
    - untangled support for mariadb and mysql
    - remove libav
    - confd support for commandline options, umask and work dir
    - initd checkpre function to check existence of work dir and log dir
    - support for OpenRC's supervise-daemon via a local use flag
    - added myself as proxy-maintainer
    
    Closes: https://bugs.gentoo.org/665930
    Closes: https://bugs.gentoo.org/673410
    Closes: https://bugs.gentoo.org/717312
    Signed-off-by: Johannes Willem Fernhout <hfern@fernhout.info>
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 media-video/motion/Manifest                |   1 +
 media-video/motion/files/motion.confd-r4   |  28 ++++++++
 media-video/motion/files/motion.initd-r4   |  30 +++++++++
 media-video/motion/files/motion.service    |   4 +-
 media-video/motion/files/motion.service-r4 |  26 ++++++++
 media-video/motion/metadata.xml            |  10 +++
 media-video/motion/motion-4.3.1.ebuild     | 104 +++++++++++++++++++++++++++++
 7 files changed, 201 insertions(+), 2 deletions(-)