From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- www-misc/vdradmin-am/Manifest | 13 ++ www-misc/vdradmin-am/files/vdradmin-3.6.6.conf | 26 +++ .../vdradmin-am/files/vdradmin-3.6.6.logrotate | 9 ++ www-misc/vdradmin-am/files/vdradmin-3.6.7.init | 56 +++++++ www-misc/vdradmin-am/files/vdradmind.conf | 2 + www-misc/vdradmin-am/files/vdradmind.service | 13 ++ www-misc/vdradmin-am/metadata.xml | 21 +++ www-misc/vdradmin-am/vdradmin-am-3.6.10.ebuild | 177 +++++++++++++++++++++ www-misc/vdradmin-am/vdradmin-am-3.6.9-r3.ebuild | 177 +++++++++++++++++++++ www-misc/vdradmin-am/vdradmin-am-3.6.9.ebuild | 160 +++++++++++++++++++ 10 files changed, 654 insertions(+) create mode 100644 www-misc/vdradmin-am/Manifest create mode 100644 www-misc/vdradmin-am/files/vdradmin-3.6.6.conf create mode 100644 www-misc/vdradmin-am/files/vdradmin-3.6.6.logrotate create mode 100644 www-misc/vdradmin-am/files/vdradmin-3.6.7.init create mode 100644 www-misc/vdradmin-am/files/vdradmind.conf create mode 100644 www-misc/vdradmin-am/files/vdradmind.service create mode 100644 www-misc/vdradmin-am/metadata.xml create mode 100644 www-misc/vdradmin-am/vdradmin-am-3.6.10.ebuild create mode 100644 www-misc/vdradmin-am/vdradmin-am-3.6.9-r3.ebuild create mode 100644 www-misc/vdradmin-am/vdradmin-am-3.6.9.ebuild (limited to 'www-misc/vdradmin-am') diff --git a/www-misc/vdradmin-am/Manifest b/www-misc/vdradmin-am/Manifest new file mode 100644 index 000000000000..e829751490ad --- /dev/null +++ b/www-misc/vdradmin-am/Manifest @@ -0,0 +1,13 @@ +AUX vdradmin-3.6.6.conf 557 SHA256 4208bf776bb594e373f0fe215a285f0a4523ce65b083505f15bd501b27c7aa01 SHA512 253ad76deb8c4b5d8ca69464381a7322efa6c638bb78049db8dce3dfc44aaa9a36e37ac62d0ac945418dd4afbde573b0b11ecab3ace149c06a8ded2c4832afe6 WHIRLPOOL 31065d079f6f6367220f288e572853776d3abc3a3bf94328f3dd409c6e3b703f40a950bf7b66f1d78b26eccb0735197302798352ef8e46a01706d1f8f8b2c39c +AUX vdradmin-3.6.6.logrotate 116 SHA256 2eb705ff7ab186d2a0287d3e91afe7d59be39f896fd9a62d875d8f13db1312af SHA512 27d730b67210adf314c53e87fb4ba7e6ab0a1461db0f8ddb517878341badcb27531eaedc8034ba2e72572bbaa8db07c61781be6063aaee7ef63043d4d5979b98 WHIRLPOOL 3c80e6c95a447ed23697b454b4176a72a4f30282d77eee0278c0b8038ce95853982d67aec16cf88f50636a51b64b66666d241bd9e01421b78d04e3adec5787c9 +AUX vdradmin-3.6.7.init 1860 SHA256 c8dc8e91cd32ed5d9bb75106f0045fb2dc75a4c5bdcc55172f2643754a51156a SHA512 73a175c7ae8f233442dedc5d2d94a81a4a63d3973c4548d508496f2d99e06eeb0683f51b8621ee8cefd5111ad2240c90d7225b96fef96b15e618b21418136731 WHIRLPOOL c91a432b738d885922aa03f0335d4487a8645209d61d8aee06267143fe31a1bfb616feca3378965f9028d72027a0a1c37c08471b5dd8cf44da7ae72c0dedad05 +AUX vdradmind.conf 92 SHA256 e1ca8d661db9b3077495b2b51e1292e3dda531d840cbce0170f1b6d0597c3b05 SHA512 d54253b0eb684dfcfa924e141b5f0975cea659f3258a519afd625e692855de45d9c863a8d9eb11d4b16597fa76eee955694350f224b443733b238071b3ad9d16 WHIRLPOOL f5362fd588a1a8c202be29a923f6454f1ed45a94ed305e1858921f372b166455fbca56e7bd2ac0da5cb1a33d99be056d52705699c713bea53af4c48830c66640 +AUX vdradmind.service 278 SHA256 7e6288d205c401e0e5facc740a7825082a84f35a8668caa51043b6224cf86d1a SHA512 e862d5a54e0f9b1b8c3604933ccea840e1256fac49f1b93cd7c6446f9aa4f6b8371fbd8d8b767574efe2420c7141e7af0cd5578733311a94377db8797de32b28 WHIRLPOOL 850b7a8b8cc4e4b4767e604de2c8ab9d3e11f45b91931f4ec51b8aea896240882baf74877975f66e38a902990e3187ff5b75b8ed2ef80147ab1da4c64ea48fb6 +DIST vdradmin-am-3.6.10.tar.bz2 606665 SHA256 a206b85f26860d0adc65bea93756445bf418db1d19e51c83b1caa3355cd496a6 SHA512 f7546f79b786ca383c0846656e74bd69dc9faf57fe5794ffd68776123497ec2a96c2f131801e3d5d19247ac36eaa896801e1ac9cd11291418abb518ba208e597 WHIRLPOOL 91286787f4693a6f5045d50661668254c66afe155866f5c8d3dfa9c2744c36b6109098914bb8f136b2b96af05465d6872310d6b8a7e6f431d2315646dbaaa495 +DIST vdradmin-am-3.6.9.tar.bz2 562006 SHA256 5f0421ca0ea2b4c7669d5332d43b04af8b0c40d2964dd152a265c18f4d7f2715 SHA512 1c84ce56da238db6ab2a2fc3d59582945440436e174b3998c21b6bcb5b99c914a195728aa24fef7de8841c3be09b6e9976497acd873e768aab5fdaacddd473d5 WHIRLPOOL 25f21395fda80a35b7e67fdcf1bdf2a789af73ba59c049d3604da8ecd4863e85c2e551334757d0ac53bfc33d128747ee570520171648be3818a406baa23b0737 +EBUILD vdradmin-am-3.6.10.ebuild 4733 SHA256 ed6cda495cb38ebd0366f6bdc750aec52a6fb3fbac26cc9bf1aef9f38febfb23 SHA512 fe8f935a54169aa261696d07e90f02958c120d610b5b11a0608f3fd6df50fb2f9d38641a28e7e5b4faa5aa604d5846d184a6d60f8b478d02cd11808be18c5b8a WHIRLPOOL 8703a71f94bdf68fc906f30d68b455ebf3bcea66dfe6e273a7d21304e2911bb42f9bf9fffa21c800409ccf5747a746c1fb00cf8a0fcb0bf0cfe14a7667420fa2 +EBUILD vdradmin-am-3.6.9-r3.ebuild 4733 SHA256 ed6cda495cb38ebd0366f6bdc750aec52a6fb3fbac26cc9bf1aef9f38febfb23 SHA512 fe8f935a54169aa261696d07e90f02958c120d610b5b11a0608f3fd6df50fb2f9d38641a28e7e5b4faa5aa604d5846d184a6d60f8b478d02cd11808be18c5b8a WHIRLPOOL 8703a71f94bdf68fc906f30d68b455ebf3bcea66dfe6e273a7d21304e2911bb42f9bf9fffa21c800409ccf5747a746c1fb00cf8a0fcb0bf0cfe14a7667420fa2 +EBUILD vdradmin-am-3.6.9.ebuild 4318 SHA256 999dd92039ad5cb4211e89b9dbca800641fd85ac99f590051694813a5507262d SHA512 f64a92d865b4647d70140bfd89faeeba2e926b0c4cc65a803c9a084ff11091166c11a51e3f4aafe511a146204d6194ccb7d950d83e365edab0585a06748da4dd WHIRLPOOL 488bf7c22476dca133f5ad797f413d1e3098f66453115c7aeb4936a127dcd27bb2f8f37bf2cb525c80e4cfff754ead571eba976cb9cef3d4d493301ba9d67c89 +MISC ChangeLog 2849 SHA256 00153254b89eda76baaa97a08d1ca22ab2cfd5421f15aebecd600acd498d03d0 SHA512 97e5d70c027fd7b1fa7d6d60b47c2310c48ca729a808608fc9d2b69d64a62ce70801e12cade3c2186b4fd4189812f472950d3bdac7ef3eab4a9e3b2064471dbe WHIRLPOOL 12432f886442ce1b779fa39bd529b2c12de591604a5498366e3b3be842aea612ce59a811cd886948f3eb97f1d13f6e3b4f40c3081e0f63c6fa48fdb94ead54af +MISC ChangeLog-2015 12152 SHA256 495a169ee2245a7d95bc5f494750a45678a6b1749c627023577eadcad2fe35eb SHA512 150c2b13840835c6d4f1c3a522e11bc9c5d714dba8eb7825e2ebd69417e82f0e08c9097fa7c15c5fc7a0aa7695608c38cb6556ad0bd96557f0e161e35e84f079 WHIRLPOOL 415e040d395c504982bbc592c8d67f342ded2cceb59bd0db92305d5f71aada735a2f68321ac1d83ea663dbe2cb2d334b5e073fba40858d956b41ae9f50ec9562 +MISC metadata.xml 644 SHA256 cfdb718ffcf604604bea48660b7a6666e7eb3575f45dd0675681ed39b84f9e2a SHA512 a51923afa708144a4ee6ea9b5f5ee08b90c69840218979a855f5021f2ea351838206c2d2bd6f9be52a61884ce4da3990630672d85e2a077b504351ddb202422f WHIRLPOOL bafcb7e70896f369956ac31627c3b7475c97419e5869143b1986b8946a4a7bef9597e9dfcc2955e1a0085c01d0cc6cf0e6ef2eb019d034ee3cf6896e8605b955 diff --git a/www-misc/vdradmin-am/files/vdradmin-3.6.6.conf b/www-misc/vdradmin-am/files/vdradmin-3.6.6.conf new file mode 100644 index 000000000000..fe6efecbab89 --- /dev/null +++ b/www-misc/vdradmin-am/files/vdradmin-3.6.6.conf @@ -0,0 +1,26 @@ +# Settings for vdradmin-am + +# Run vdradmin-am as this user: +# +# If you want vdradmin to run on a port below 1024 you +# should nevertheless have vdradmin running as root. +# +VDRADMIN_USER="vdradmin" + +# Use ssl connection +# Allowed values: yes no +# SSL using will disable non SSL connections +#SSL=no + +# Use the ipv6 protocol [EXPERIMENTAL] +# Allowed values: yes no +#IPV6=no + +# Enable Logging +# Allowed values: syslog file no +# Setting this value to file will log to /var/log/vdradmin/vdradmind.log +#LOGGING=no + +# Set loglevel +# Allowed values: 0-7 +#LOGLEVEL=4 diff --git a/www-misc/vdradmin-am/files/vdradmin-3.6.6.logrotate b/www-misc/vdradmin-am/files/vdradmin-3.6.6.logrotate new file mode 100644 index 000000000000..a4f726c63c15 --- /dev/null +++ b/www-misc/vdradmin-am/files/vdradmin-3.6.6.logrotate @@ -0,0 +1,9 @@ +/var/log/vdradmin/vdradmind.log { + compress + rotate 4 + weekly + delaycompress + copytruncate + missingok + notifempty +} diff --git a/www-misc/vdradmin-am/files/vdradmin-3.6.7.init b/www-misc/vdradmin-am/files/vdradmin-3.6.7.init new file mode 100644 index 000000000000..10ffa6cd74ec --- /dev/null +++ b/www-misc/vdradmin-am/files/vdradmin-3.6.7.init @@ -0,0 +1,56 @@ +#!/sbin/openrc-run +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +depend() { + use vdr +} + +start() { + ebegin "Starting vdradmin" + + : ${VDRADMIN_USER:=vdradmin} + + local dir vdradmin_opts + + # Prepare directories + for dir in cache log run; do + checkpath -q -d -m 0755 -o ${VDRADMIN_USER}:vdradmin "/var/${dir}/vdradmin" + done + checkpath -q -d -m 0755 -o ${VDRADMIN_USER}:vdradmin "/etc/vdradmin" \ + "/etc/vdradmin/certs" + checkpath -q -f -m 0644 -o ${VDRADMIN_USER}:vdradmin "/etc/vdradmin/vdradmind.conf" \ + "/etc/vdradmin/certs/server-cert.pem" \ + "/etc/vdradmin/certs/server-key.pem" + + if [ "${SSL}" = "yes" ]; then vdradmin_opts="${vdradmin_opts} --ssl"; fi + if [ "${IPV6}" = "yes" ]; then vdradmin_opts="${vdradmin_opts} --ipv6"; fi + vdradmin_opts="${vdradmin_opts} --log ${LOGLEVEL:=4}" + + if [ "${LOGGING}" = "syslog" ]; then + sed -i -e "/LOGGING/s-LOGGING.*-LOGGING = 1-" /etc/vdradmin/vdradmind.conf + sed -i -e "/LOGFILE/s-LOGFILE.*-LOGFILE = syslog-" /etc/vdradmin/vdradmind.conf + elif [ "${LOGGING}" = "file" ]; then + sed -i -e "/LOGGING/s-LOGGING.*-LOGGING = 1-" /etc/vdradmin/vdradmind.conf + sed -i -e "/LOGFILE/s-LOGFILE.*-LOGFILE = vdradmind.log-" /etc/vdradmin/vdradmind.conf + else + sed -i -e "/LOGGING/s-LOGGING.*-LOGGING = 0-" /etc/vdradmin/vdradmind.conf + fi + + if [ -n "${RC_UNAME}" ]; then + # running on baselayout-2/openrc + start-stop-daemon --start --background --user "${VDRADMIN_USER}" \ + --pidfile /var/run/vdradmin/vdradmind.pid \ + --exec /usr/bin/perl /usr/bin/vdradmind -- ${vdradmin_opts} + else + start-stop-daemon --start --background --chuid "${VDRADMIN_USER}" \ + --exec /usr/bin/vdradmind -- ${vdradmin_opts} + fi + eend $? +} + +stop() { + ebegin "Stopping vdradmin" + start-stop-daemon --stop --quiet --pidfile /var/run/vdradmin/vdradmind.pid + eend $? +} diff --git a/www-misc/vdradmin-am/files/vdradmind.conf b/www-misc/vdradmin-am/files/vdradmind.conf new file mode 100644 index 000000000000..a5208a89b1b9 --- /dev/null +++ b/www-misc/vdradmin-am/files/vdradmind.conf @@ -0,0 +1,2 @@ +d /var/cache/vdradmin 0755 vdradmin vdradmin - +d /var/log/vdradmin 0755 vdradmin vdradmin - diff --git a/www-misc/vdradmin-am/files/vdradmind.service b/www-misc/vdradmin-am/files/vdradmind.service new file mode 100644 index 000000000000..c7cd8752b3d6 --- /dev/null +++ b/www-misc/vdradmin-am/files/vdradmind.service @@ -0,0 +1,13 @@ +[Unit] +Description=WWW interface daemon for VDR +Documentation=man:vdradmind(8) +Documentation=file:///usr/share/doc/vdradmin-am/INSTALL + +[Service] +ExecStart=/usr/bin/vdradmind --nofork +User=vdradmin +StandardOutput=syslog +SyslogLevel=warning + +[Install] +WantedBy=multi-user.target diff --git a/www-misc/vdradmin-am/metadata.xml b/www-misc/vdradmin-am/metadata.xml new file mode 100644 index 000000000000..3213a8bef936 --- /dev/null +++ b/www-misc/vdradmin-am/metadata.xml @@ -0,0 +1,21 @@ + + + + + vdr@gentoo.org + Gentoo VDR Project + + + To program and steer central service over a Browser the VDR + + + Zentraler Dienst um ueber einen Browser den VDR zu programmiern + und zu steuern. + + + + Support for media-video/vdr. + Disable this if the VDR you want to control runs at a remote machine. + + + diff --git a/www-misc/vdradmin-am/vdradmin-am-3.6.10.ebuild b/www-misc/vdradmin-am/vdradmin-am-3.6.10.ebuild new file mode 100644 index 000000000000..dd8b73c217f3 --- /dev/null +++ b/www-misc/vdradmin-am/vdradmin-am-3.6.10.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils ssl-cert systemd user + +DESCRIPTION="WWW Admin for the Video Disk Recorder" +HOMEPAGE="http://andreas.vdr-developer.org/vdradmin-am/index.html" +SRC_URI="http://andreas.vdr-developer.org/vdradmin-am/download/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ipv6 ssl" + +DEPEND="dev-lang/perl + dev-perl/Template-Toolkit + dev-perl/libwww-perl + dev-perl/URI + dev-perl/Locale-gettext + virtual/perl-IO-Compress + ipv6? ( dev-perl/IO-Socket-INET6 ) + ssl? ( dev-perl/IO-Socket-SSL ) + virtual/perl-libnet + dev-perl/Authen-SASL + dev-perl/Digest-HMAC" +RDEPEND="${DEPEND}" + +ETC_DIR=/etc/vdradmin +CERTS_DIR=/etc/vdradmin/certs +LIB_DIR=/usr/share/vdradmin +CACHE_DIR=/var/cache/vdradmin +VDRADMIN_USER=vdradmin +VDRADMIN_GROUP=vdradmin + +create_ssl_cert() { + # The ssl-cert eclass is not flexible enough so do some steps manually + SSL_ORGANIZATION="${SSL_ORGANIZATION:-vdradmin-am}" + SSL_COMMONNAME="${SSL_COMMONNAME:-`hostname -f`}" + + gen_cnf || return 1 + + gen_key 1 || return 1 + gen_csr 1 || return 1 + gen_crt 1 || return 1 +} + +pkg_setup() { + enewgroup ${VDRADMIN_GROUP} + enewuser ${VDRADMIN_USER} -1 /bin/bash ${CACHE_DIR} ${VDRADMIN_GROUP} +} + +src_unpack() { + unpack ${A} + cp "${FILESDIR}"/vdradmind.service "${WORKDIR}"/vdradmind.service +} + +src_prepare() { + sed -i vdradmind.pl \ + -e "s-FILES_IN_SYSTEM = 0;-FILES_IN_SYSTEM = 1;-g" || die + + if use ipv6; then + sed -e "s:/usr/bin/vdradmind:/usr/bin/vdradmind --ipv6:" \ + -i "${WORKDIR}"/vdradmind.service + fi + + if use ssl; then + sed -e "s:/usr/bin/vdradmind:/usr/bin/vdradmind --ssl:" \ + -i "${WORKDIR}"/vdradmind.service + fi +} + +src_install() { + newinitd "${FILESDIR}"/vdradmin-3.6.7.init vdradmin + newconfd "${FILESDIR}"/vdradmin-3.6.6.conf vdradmin + + systemd_dounit "${WORKDIR}"/vdradmind.service + systemd_dotmpfilesd "${FILESDIR}"/vdradmind.conf + + insinto /etc/logrotate.d + newins "${FILESDIR}"/vdradmin-3.6.6.logrotate vdradmin + + newbin vdradmind.pl vdradmind + + insinto ${LIB_DIR}/template + doins -r "${S}"/template/* + + insinto ${LIB_DIR}/lib/Template/Plugin + doins -r "${S}"/lib/Template/Plugin/JavaScript.pm + + insinto /usr/share/locale/ + doins -r "${S}"/locale/* + + newman vdradmind.pl.1 vdradmind.8 + + dodoc CREDITS ChangeLog FAQ HISTORY INSTALL README* REQUIREMENTS + docinto contrib + dodoc "${S}"/contrib/* + + diropts "-m755 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP}" + keepdir ${ETC_DIR} + use ssl && keepdir ${CERTS_DIR} +} + +pkg_preinst() { + install -m 0644 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} /dev/null \ + "${D}"${ETC_DIR}/vdradmind.conf || die + + if [[ -f "${ROOT}"${ETC_DIR}/vdradmind.conf ]]; then + cp "${ROOT}"${ETC_DIR}/vdradmind.conf \ + "${D}"${ETC_DIR}/vdradmind.conf || die + else + elog + elog "Creating a new config-file." + echo + + cat <<-EOF > "${D}"${ETC_DIR}/vdradmind.conf + VDRCONFDIR = "${ROOT%/}"/etc/vdr + VIDEODIR = "${ROOT%/}"/var/vdr/video + EPG_FILENAME = "${ROOT%/}"/var/vdr/video/epg.data + EPGIMAGES = "${ROOT%/}"/var/vdr/video/epgimages + PASSWORD = gentoo-vdr + USERNAME = gentoo-vdr + EOF + # Feed it with newlines + yes "" \ + | "${D}"/usr/bin/vdradmind --cfgdir "${D}"${ETC_DIR} --config \ + |sed -e 's/: /: \n/g' + + [[ ${PIPESTATUS[1]} == "0" ]] \ + || die "Failed to create initial configuration." + + elog + elog "Created default user/password: gentoo-vdr/gentoo-vdr" + elog + elog "You can run \"emerge --config ${PN}\" if the default-values" + elog "do not match your installation or change them in the Setup-Menu" + elog "of the Web-Interface." + fi +} + +pkg_postinst() { + if use ipv6; then + elog + elog "To make use of the ipv6 protocol" + elog "you need to enable it in ${ROOT%/}/etc/conf.d/vdradmin" + fi + + if use ssl; then + elog + elog "To use ssl connection to your vdr" + elog "you need to enable it in ${ROOT%/}/etc/conf.d/vdradmin" + + if [[ ! -f "${ROOT}"${CERTS_DIR}/server-cert.pem || \ + ! -f "${ROOT}"${CERTS_DIR}/server-key.pem ]]; then + create_ssl_cert + local base=$(get_base 1) + install -D -m 0400 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} \ + "${base}".key "${ROOT}"${CERTS_DIR}/server-key.pem || die + install -D -m 0444 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} \ + "${base}".crt "${ROOT}"${CERTS_DIR}/server-cert.pem || die + fi + fi + + elog + elog "To extend ${PN} you can emerge" + elog ">=media-plugins/vdr-epgsearch-0.9.25 to search the EPG," + elog "media-plugins/vdr-streamdev for livetv streaming and/or" + elog "media-video/vdr with USE=\"liemikuutio/vasarajanauloja/none\" " + elog "(depend on your vdr version) to rename recordings" + elog "on the machine running the VDR you connect to with ${PN}." +} + +pkg_config() { + "${ROOT}"/usr/bin/vdradmind -c +} diff --git a/www-misc/vdradmin-am/vdradmin-am-3.6.9-r3.ebuild b/www-misc/vdradmin-am/vdradmin-am-3.6.9-r3.ebuild new file mode 100644 index 000000000000..dd8b73c217f3 --- /dev/null +++ b/www-misc/vdradmin-am/vdradmin-am-3.6.9-r3.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils ssl-cert systemd user + +DESCRIPTION="WWW Admin for the Video Disk Recorder" +HOMEPAGE="http://andreas.vdr-developer.org/vdradmin-am/index.html" +SRC_URI="http://andreas.vdr-developer.org/vdradmin-am/download/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ipv6 ssl" + +DEPEND="dev-lang/perl + dev-perl/Template-Toolkit + dev-perl/libwww-perl + dev-perl/URI + dev-perl/Locale-gettext + virtual/perl-IO-Compress + ipv6? ( dev-perl/IO-Socket-INET6 ) + ssl? ( dev-perl/IO-Socket-SSL ) + virtual/perl-libnet + dev-perl/Authen-SASL + dev-perl/Digest-HMAC" +RDEPEND="${DEPEND}" + +ETC_DIR=/etc/vdradmin +CERTS_DIR=/etc/vdradmin/certs +LIB_DIR=/usr/share/vdradmin +CACHE_DIR=/var/cache/vdradmin +VDRADMIN_USER=vdradmin +VDRADMIN_GROUP=vdradmin + +create_ssl_cert() { + # The ssl-cert eclass is not flexible enough so do some steps manually + SSL_ORGANIZATION="${SSL_ORGANIZATION:-vdradmin-am}" + SSL_COMMONNAME="${SSL_COMMONNAME:-`hostname -f`}" + + gen_cnf || return 1 + + gen_key 1 || return 1 + gen_csr 1 || return 1 + gen_crt 1 || return 1 +} + +pkg_setup() { + enewgroup ${VDRADMIN_GROUP} + enewuser ${VDRADMIN_USER} -1 /bin/bash ${CACHE_DIR} ${VDRADMIN_GROUP} +} + +src_unpack() { + unpack ${A} + cp "${FILESDIR}"/vdradmind.service "${WORKDIR}"/vdradmind.service +} + +src_prepare() { + sed -i vdradmind.pl \ + -e "s-FILES_IN_SYSTEM = 0;-FILES_IN_SYSTEM = 1;-g" || die + + if use ipv6; then + sed -e "s:/usr/bin/vdradmind:/usr/bin/vdradmind --ipv6:" \ + -i "${WORKDIR}"/vdradmind.service + fi + + if use ssl; then + sed -e "s:/usr/bin/vdradmind:/usr/bin/vdradmind --ssl:" \ + -i "${WORKDIR}"/vdradmind.service + fi +} + +src_install() { + newinitd "${FILESDIR}"/vdradmin-3.6.7.init vdradmin + newconfd "${FILESDIR}"/vdradmin-3.6.6.conf vdradmin + + systemd_dounit "${WORKDIR}"/vdradmind.service + systemd_dotmpfilesd "${FILESDIR}"/vdradmind.conf + + insinto /etc/logrotate.d + newins "${FILESDIR}"/vdradmin-3.6.6.logrotate vdradmin + + newbin vdradmind.pl vdradmind + + insinto ${LIB_DIR}/template + doins -r "${S}"/template/* + + insinto ${LIB_DIR}/lib/Template/Plugin + doins -r "${S}"/lib/Template/Plugin/JavaScript.pm + + insinto /usr/share/locale/ + doins -r "${S}"/locale/* + + newman vdradmind.pl.1 vdradmind.8 + + dodoc CREDITS ChangeLog FAQ HISTORY INSTALL README* REQUIREMENTS + docinto contrib + dodoc "${S}"/contrib/* + + diropts "-m755 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP}" + keepdir ${ETC_DIR} + use ssl && keepdir ${CERTS_DIR} +} + +pkg_preinst() { + install -m 0644 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} /dev/null \ + "${D}"${ETC_DIR}/vdradmind.conf || die + + if [[ -f "${ROOT}"${ETC_DIR}/vdradmind.conf ]]; then + cp "${ROOT}"${ETC_DIR}/vdradmind.conf \ + "${D}"${ETC_DIR}/vdradmind.conf || die + else + elog + elog "Creating a new config-file." + echo + + cat <<-EOF > "${D}"${ETC_DIR}/vdradmind.conf + VDRCONFDIR = "${ROOT%/}"/etc/vdr + VIDEODIR = "${ROOT%/}"/var/vdr/video + EPG_FILENAME = "${ROOT%/}"/var/vdr/video/epg.data + EPGIMAGES = "${ROOT%/}"/var/vdr/video/epgimages + PASSWORD = gentoo-vdr + USERNAME = gentoo-vdr + EOF + # Feed it with newlines + yes "" \ + | "${D}"/usr/bin/vdradmind --cfgdir "${D}"${ETC_DIR} --config \ + |sed -e 's/: /: \n/g' + + [[ ${PIPESTATUS[1]} == "0" ]] \ + || die "Failed to create initial configuration." + + elog + elog "Created default user/password: gentoo-vdr/gentoo-vdr" + elog + elog "You can run \"emerge --config ${PN}\" if the default-values" + elog "do not match your installation or change them in the Setup-Menu" + elog "of the Web-Interface." + fi +} + +pkg_postinst() { + if use ipv6; then + elog + elog "To make use of the ipv6 protocol" + elog "you need to enable it in ${ROOT%/}/etc/conf.d/vdradmin" + fi + + if use ssl; then + elog + elog "To use ssl connection to your vdr" + elog "you need to enable it in ${ROOT%/}/etc/conf.d/vdradmin" + + if [[ ! -f "${ROOT}"${CERTS_DIR}/server-cert.pem || \ + ! -f "${ROOT}"${CERTS_DIR}/server-key.pem ]]; then + create_ssl_cert + local base=$(get_base 1) + install -D -m 0400 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} \ + "${base}".key "${ROOT}"${CERTS_DIR}/server-key.pem || die + install -D -m 0444 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} \ + "${base}".crt "${ROOT}"${CERTS_DIR}/server-cert.pem || die + fi + fi + + elog + elog "To extend ${PN} you can emerge" + elog ">=media-plugins/vdr-epgsearch-0.9.25 to search the EPG," + elog "media-plugins/vdr-streamdev for livetv streaming and/or" + elog "media-video/vdr with USE=\"liemikuutio/vasarajanauloja/none\" " + elog "(depend on your vdr version) to rename recordings" + elog "on the machine running the VDR you connect to with ${PN}." +} + +pkg_config() { + "${ROOT}"/usr/bin/vdradmind -c +} diff --git a/www-misc/vdradmin-am/vdradmin-am-3.6.9.ebuild b/www-misc/vdradmin-am/vdradmin-am-3.6.9.ebuild new file mode 100644 index 000000000000..bc4de53ee76e --- /dev/null +++ b/www-misc/vdradmin-am/vdradmin-am-3.6.9.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +inherit eutils ssl-cert user + +DESCRIPTION="WWW Admin for the Video Disk Recorder" +HOMEPAGE="http://andreas.vdr-developer.org/vdradmin-am/index.html" +SRC_URI="http://andreas.vdr-developer.org/vdradmin-am/download/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="ipv6 ssl +vdr" + +DEPEND="dev-lang/perl + dev-perl/Template-Toolkit + dev-perl/libwww-perl + dev-perl/URI + dev-perl/Locale-gettext + virtual/perl-IO-Compress + ipv6? ( dev-perl/IO-Socket-INET6 ) + ssl? ( dev-perl/IO-Socket-SSL ) + vdr? ( media-video/vdr ) + virtual/perl-libnet + dev-perl/Authen-SASL + dev-perl/Digest-HMAC" +RDEPEND="${DEPEND}" + +ETC_DIR=/etc/vdradmin +CERTS_DIR=/etc/vdradmin/certs +LIB_DIR=/usr/share/vdradmin +CACHE_DIR=/var/cache/vdradmin +VDRADMIN_USER=vdradmin +VDRADMIN_GROUP=vdradmin + +create_ssl_cert() { + # The ssl-cert eclass is not flexible enough so do some steps manually + SSL_ORGANIZATION="${SSL_ORGANIZATION:-vdradmin-am}" + SSL_COMMONNAME="${SSL_COMMONNAME:-`hostname -f`}" + + gen_cnf || return 1 + + gen_key 1 || return 1 + gen_csr 1 || return 1 + gen_crt 1 || return 1 +} + +pkg_setup() { + enewgroup ${VDRADMIN_GROUP} + enewuser ${VDRADMIN_USER} -1 /bin/bash ${CACHE_DIR} ${VDRADMIN_GROUP} +} + +src_prepare() { + sed -i vdradmind.pl \ + -e "s-FILES_IN_SYSTEM = 0;-FILES_IN_SYSTEM = 1;-g" || die +} + +src_install() { + newinitd "${FILESDIR}"/vdradmin-3.6.7.init vdradmin + newconfd "${FILESDIR}"/vdradmin-3.6.6.conf vdradmin + + insinto /etc/logrotate.d + newins "${FILESDIR}"/vdradmin-3.6.6.logrotate vdradmin + + newbin vdradmind.pl vdradmind + + insinto ${LIB_DIR}/template + doins -r "${S}"/template/* + + insinto ${LIB_DIR}/lib/Template/Plugin + doins -r "${S}"/lib/Template/Plugin/JavaScript.pm + + insinto /usr/share/locale/ + doins -r "${S}"/locale/* + + newman vdradmind.pl.1 vdradmind.8 + + dodoc CREDITS ChangeLog FAQ HISTORY INSTALL README* REQUIREMENTS + docinto contrib + dodoc "${S}"/contrib/* + + diropts "-m755 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP}" + keepdir ${ETC_DIR} + use ssl && keepdir ${CERTS_DIR} +} + +pkg_preinst() { + install -m 0644 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} /dev/null \ + "${D}"${ETC_DIR}/vdradmind.conf || die + + if [[ -f "${ROOT}"${ETC_DIR}/vdradmind.conf ]]; then + cp "${ROOT}"${ETC_DIR}/vdradmind.conf \ + "${D}"${ETC_DIR}/vdradmind.conf || die + else + elog + elog "Creating a new config-file." + echo + + cat <<-EOF > "${D}"${ETC_DIR}/vdradmind.conf + VDRCONFDIR = "${ROOT%/}"/etc/vdr + VIDEODIR = "${ROOT%/}"/var/vdr/video + EPG_FILENAME = "${ROOT%/}"/var/vdr/video/epg.data + EPGIMAGES = "${ROOT%/}"/var/vdr/video/epgimages + PASSWORD = gentoo-vdr + USERNAME = gentoo-vdr + EOF + # Feed it with newlines + yes "" \ + | "${D}"/usr/bin/vdradmind --cfgdir "${D}"${ETC_DIR} --config \ + |sed -e 's/: /: \n/g' + + [[ ${PIPESTATUS[1]} == "0" ]] \ + || die "Failed to create initial configuration." + + elog + elog "Created default user/password: gentoo-vdr/gentoo-vdr" + elog + elog "You can run \"emerge --config ${PN}\" if the default-values" + elog "do not match your installation or change them in the Setup-Menu" + elog "of the Web-Interface." + fi +} + +pkg_postinst() { + if use ipv6; then + elog + elog "To make use of the ipv6 protocol" + elog "you need to enable it in ${ROOT%/}/etc/conf.d/vdradmin" + fi + + if use ssl; then + elog + elog "To use ssl connection to your vdr" + elog "you need to enable it in ${ROOT%/}/etc/conf.d/vdradmin" + + if [[ ! -f "${ROOT}"${CERTS_DIR}/server-cert.pem || \ + ! -f "${ROOT}"${CERTS_DIR}/server-key.pem ]]; then + create_ssl_cert + local base=$(get_base 1) + install -D -m 0400 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} \ + "${base}".key "${ROOT}"${CERTS_DIR}/server-key.pem || die + install -D -m 0444 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} \ + "${base}".crt "${ROOT}"${CERTS_DIR}/server-cert.pem || die + fi + fi + + elog + elog "To extend ${PN} you can emerge" + elog ">=media-plugins/vdr-epgsearch-0.9.25 to search the EPG," + elog "media-plugins/vdr-streamdev for livetv streaming and/or" + elog "media-video/vdr with USE=\"liemikuutio/vasarajanauloja/none\" " + elog "(depend on your vdr version) to rename recordings" + elog "on the machine running the VDR you connect to with ${PN}." +} + +pkg_config() { + "${ROOT}"/usr/bin/vdradmind -c +} -- cgit v1.2.3