public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/motion/, media-video/motion/files/
Date: Thu,  4 Jun 2020 07:14:27 +0000 (UTC)	[thread overview]
Message-ID: <1591254852.58c1002e91e59ca9edba1a4781f3024b0dbdf99e.juippis@gentoo> (raw)

commit:     58c1002e91e59ca9edba1a4781f3024b0dbdf99e
Author:     Hans Fernhout <hfern <AT> fernhout <DOT> info>
AuthorDate: Thu Jun  4 07:09:24 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Jun  4 07:14:12 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58c1002e

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 <AT> fernhout.info>
Signed-off-by: Joonas Niilola <juippis <AT> 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 +-
 .../files/{motion.service => motion.service-r4}    |  14 ++-
 media-video/motion/metadata.xml                    |  10 ++
 media-video/motion/motion-4.3.1.ebuild             | 104 +++++++++++++++++++++
 7 files changed, 185 insertions(+), 6 deletions(-)

diff --git a/media-video/motion/Manifest b/media-video/motion/Manifest
index 00403820c80..2ea48fa4c59 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 00000000000..8a200d14928
--- /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 00000000000..30d5e25cb08
--- /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 559b94b6b29..d4755bdb48e 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 b/media-video/motion/files/motion.service-r4
similarity index 56%
copy from media-video/motion/files/motion.service
copy to media-video/motion/files/motion.service-r4
index 559b94b6b29..1564fb2699c 100644
--- a/media-video/motion/files/motion.service
+++ b/media-video/motion/files/motion.service-r4
@@ -1,3 +1,9 @@
+# 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
@@ -9,12 +15,12 @@ ExecStart=/usr/bin/motion -n -c /etc/motion/motion.conf
 StandardError=null
 
 User=motion
-Group=video
+Group=motion
 
-#RuntimeDirectory=motion
-#RuntimeDirectoryMode=0750
+UMask=007
+WorkingDirectory=-/var/lib/motion
 
-WorkingDirectory=/var/lib/motion
 
 [Install]
 WantedBy=multi-user.target
+

diff --git a/media-video/motion/metadata.xml b/media-video/motion/metadata.xml
index b1389a2954b..301a7616abb 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 00000000000..41e650e61fd
--- /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
+}


             reply	other threads:[~2020-06-04  7:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-04  7:14 Joonas Niilola [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-26 18:05 [gentoo-commits] repo/gentoo:master commit in: media-video/motion/, media-video/motion/files/ David Seifert
2021-04-14 14:44 John Helmert III
2017-02-10 13:44 Wolfram Schlich
2017-01-16 11:49 Wolfram Schlich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1591254852.58c1002e91e59ca9edba1a4781f3024b0dbdf99e.juippis@gentoo \
    --to=juippis@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox