summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Fernhout <hfern@fernhout.info>2020-06-04 10:09:24 +0300
committerJoonas Niilola <juippis@gentoo.org>2020-06-04 10:14:12 +0300
commit58c1002e91e59ca9edba1a4781f3024b0dbdf99e (patch)
treee78f9bfa6d503ce1676adbecc943948a36689a21
parentacct-user/motion: new GLEP-81 package (diff)
downloadgentoo-58c1002e.tar.gz
gentoo-58c1002e.tar.bz2
gentoo-58c1002e.zip
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>
-rw-r--r--media-video/motion/Manifest1
-rw-r--r--media-video/motion/files/motion.confd-r428
-rw-r--r--media-video/motion/files/motion.initd-r430
-rw-r--r--media-video/motion/files/motion.service4
-rw-r--r--media-video/motion/files/motion.service-r426
-rw-r--r--media-video/motion/metadata.xml10
-rw-r--r--media-video/motion/motion-4.3.1.ebuild104
7 files changed, 201 insertions, 2 deletions
diff --git a/media-video/motion/Manifest b/media-video/motion/Manifest
index 00403820c80c..2ea48fa4c591 100644
--- a/media-video/motion/Manifest
+++ b/media-video/motion/Manifest
@@ -1 +1,2 @@
DIST motion-release-4.1.1.tar.gz 447795 BLAKE2B 8c7dfdad89f49ba8ec39689d268b4bc95c6a8bd85d4bd333f66638b2e815b3c59b2e42dd93811601b2ee7870100a0a21eaa789633056f74a5cc9f39f4f92229f SHA512 3b08d464f9243ccfc4b53b16cfc2001d1e0d206bf0295d55d8914914bc14ad0248ce5ac622cb7eb89ed32e1913a9a10add1b56497c4094ba876f7f85d6ad4143
+DIST motion-release-4.3.1.tar.gz 849633 BLAKE2B 33039d9b8b6db0698767892997be958d84a881cc56e8cdc31d8c27242c972e629d328197c92f91c1b71a957d85807877dc602f474d430384b1e27c9213ddc697 SHA512 17033dab055c4f1d9e2912a27d0a5b419d325b0781def98428a6117e38c62201b87199210071ba93d6c4dae514733b749e39cbc1befe6242f157d4583e07dcc6
diff --git a/media-video/motion/files/motion.confd-r4 b/media-video/motion/files/motion.confd-r4
new file mode 100644
index 000000000000..8a200d14928c
--- /dev/null
+++ b/media-video/motion/files/motion.confd-r4
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# Motion OpenRC conf.d file
+# All settings are optional
+
+# Set the user and group under which motion will be run
+#MOTION_USER="motion"
+#MOTION_GROUP="motion"
+
+#Set motion's config file:
+#MOTION_CONFIGFILE="/etc/motion/motion.conf"
+
+#Set motion's log file. Leave unset for syslog:
+#MOTION_LOGFILE="/var/log/motion/motion.log"
+
+#Set log type: 1-9 for COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL
+#MOTION_LOGTYPE="9"
+
+#Set log level: 1-9 for EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL
+#MOTION_LOGLEVEL="6"
+
+#Set a default dir where motion places its output
+#MOTION_DIR="/var/lib/motion"
+
+#Set the umask for the output files, for additonal security
+#MOTION_UMASK="007"
+
diff --git a/media-video/motion/files/motion.initd-r4 b/media-video/motion/files/motion.initd-r4
new file mode 100644
index 000000000000..30d5e25cb08e
--- /dev/null
+++ b/media-video/motion/files/motion.initd-r4
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+: ${MOTION_USER:="motion"}
+: ${MOTION_GROUP:="motion"}
+
+[ "${MOTION_UMASK}" ] && umask="${MOTION_UMASK}"
+[ "${MOTION_CONFIGFILE}" ] && command_args="-c ${MOTION_CONFIGFILE}"
+[ "${MOTION_LOGFILE}" ] && command_args="${command_args} -l ${MOTION_LOGFILE}"
+[ "${MOTION_LOGTYPE}" ] && command_args="${command_args} -k ${MOTION_LOGTYPE}"
+[ "${MOTION_LOGLEVEL}" ] && command_args="${command_args} -d ${MOTION_LOGLEVEL}"
+
+command=/usr/bin/motion
+command_user="${MOTION_USER}:${MOTION_GROUP}"
+
+start_pre() {
+ if [ "${MOTION_DIR}" ] ; then
+ mkdir -p "${MOTION_DIR}"
+ checkpath -d -o "${MOTION_USER}" "${MOTION_DIR}"
+ directory="${MOTION_DIR}"
+ fi
+ if [ "${MOTION_LOGFILE}" ] ; then
+ local LOGFILE=${MOTION_LOGFILE##*/}
+ local LOGDIR=${MOTION_LOGFILE%$LOGFILE}
+ mkdir -p "${LOGDIR}"
+ checkpath -d -o "${MOTION_USER}" "${LOGDIR}"
+ fi
+}
+
diff --git a/media-video/motion/files/motion.service b/media-video/motion/files/motion.service
index 559b94b6b29a..d4755bdb48ea 100644
--- a/media-video/motion/files/motion.service
+++ b/media-video/motion/files/motion.service
@@ -8,13 +8,13 @@ Type=simple
ExecStart=/usr/bin/motion -n -c /etc/motion/motion.conf
StandardError=null
-User=motion
+#User=motion
Group=video
#RuntimeDirectory=motion
#RuntimeDirectoryMode=0750
-WorkingDirectory=/var/lib/motion
+#WorkingDirectory=/var/lib/motion
[Install]
WantedBy=multi-user.target
diff --git a/media-video/motion/files/motion.service-r4 b/media-video/motion/files/motion.service-r4
new file mode 100644
index 000000000000..1564fb2699c4
--- /dev/null
+++ b/media-video/motion/files/motion.service-r4
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# Motion OpenRC systemd service file
+
+
+[Unit]
+Description=Motion detection daemon
+After=local-fs.target network.target
+Documentation=man:motion(1)
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/motion -n -c /etc/motion/motion.conf
+StandardError=null
+
+User=motion
+Group=motion
+
+UMask=007
+WorkingDirectory=-/var/lib/motion
+
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/media-video/motion/metadata.xml b/media-video/motion/metadata.xml
index b1389a2954b4..301a7616abbe 100644
--- a/media-video/motion/metadata.xml
+++ b/media-video/motion/metadata.xml
@@ -1,11 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>hfern@fernhout.info</email>
+ <name>Hans Fernhout</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<maintainer type="project">
<email>media-video@gentoo.org</email>
</maintainer>
<use>
+ <flag name="mariadb">Add mariadb database support</flag>
<flag name="mmal">Enables Multi-Media Abstraction Layer (MMAL) decoding support: Available e.g. on the Raspberry Pi.</flag>
+ <flag name="supervise-daemon">Add experimental suppport for OpenRC's supervise-daemon process supervision</flag>
</use>
<upstream>
<remote-id type="github">Motion-Project/motion</remote-id>
diff --git a/media-video/motion/motion-4.3.1.ebuild b/media-video/motion/motion-4.3.1.ebuild
new file mode 100644
index 000000000000..41e650e61fd3
--- /dev/null
+++ b/media-video/motion/motion-4.3.1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools readme.gentoo-r1 systemd
+
+DESCRIPTION="A software motion detector"
+HOMEPAGE="https://motion-project.github.io"
+SRC_URI="https://github.com/Motion-Project/${PN}/archive/release-${PV}.tar.gz -> ${PN}-release-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="ffmpeg mariadb mmal mysql postgres sqlite supervise-daemon v4l webp"
+
+RDEPEND="
+ acct-group/motion
+ acct-user/motion
+ virtual/jpeg:=
+ ffmpeg? ( 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:= )
+"
+DEPEND="${RDEPEND}
+ net-libs/libmicrohttpd
+ v4l? (
+ media-libs/libv4l
+ virtual/os-headers
+ )
+"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+You need to setup a configuraton file (/etc/motion/motion.conf) before
+running motion for the first time.
+
+If motion is built with the mysql or mariadb use flags then please make
+sure to configure a matching database_type in the config file.
+
+Motion runs by default under user motion and group motion:
+- change this if needed in /etc/conf.d/motion
+- or add users who need access to the output files to the motion group
+
+To install motion as a service, use:
+- rc-update add motion default # with OpenRC
+- systemctl enable motion.service # with systemd
+"
+
+S="${WORKDIR}"/${PN}-release-${PV}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with ffmpeg) \
+ $(use_with mariadb) \
+ $(use_with mmal) \
+ $(use_with mysql) \
+ $(use_with postgres pgsql) \
+ $(use_with sqlite sqlite3) \
+ $(use_with v4l v4l2) \
+ $(use_with webp) \
+ --without-optimizecpu
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ docdir=/usr/share/doc/${PF} \
+ examplesdir=/usr/share/doc/${PF}/examples \
+ install
+
+ # build INITDAD string cwto be added to initd based on use flags, eg
+ # "depend() {
+ # use mysql
+ # }
+ #
+ # supervisor=supervise-daemon"
+ local INITDADJ=""
+ ( use mysql || use mariadb ) && INITDADJ=" use mysql\n"
+ use postgres && INITDADJ="${INITDADJ} use postgresql\n"
+ [ "${#INITDADJ}" -gt 0 ] && INITDADJ="depend() {\n${INITDADJ}}\n"
+ if use supervise-daemon ; then
+ INITDADJ="${INITDADJ}\nsupervisor=supervise-daemon\n"
+ else
+ INITDADJ="${INITDADJ}\npidfile=/run/\${RC_SVCNAME}.pid\ncommand_background=true\n"
+ fi
+ cp "${FILESDIR}/${PN}.initd-r4" "${T}/initd" || die
+ echo -e ${INITDADJ} >> "${T}/initd" || die
+
+ newinitd "${T}/initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r4" ${PN}
+ systemd_newunit "${FILESDIR}/${PN}.service-r4" "${PN}.service"
+ readme.gentoo_create_doc
+ readme.gentoo_print_elog
+}