commit: 581794bf256a6ccf19f9ae56949676742f9f4eab Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net> AuthorDate: Sun Feb 22 17:22:41 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Mar 11 16:14:11 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=581794bf
www-misc/vdradmin-am: add 3.6.15 Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net> Part-of: https://github.com/gentoo/gentoo/pull/45853 Closes: https://github.com/gentoo/gentoo/pull/45853 Signed-off-by: Sam James <sam <AT> gentoo.org> www-misc/vdradmin-am/Manifest | 1 + www-misc/vdradmin-am/vdradmin-am-3.6.15.ebuild | 197 +++++++++++++++++++++++++ 2 files changed, 198 insertions(+) diff --git a/www-misc/vdradmin-am/Manifest b/www-misc/vdradmin-am/Manifest index 886ecf0c2d3d..db2c99fb0dd9 100644 --- a/www-misc/vdradmin-am/Manifest +++ b/www-misc/vdradmin-am/Manifest @@ -1,2 +1,3 @@ DIST vdradmin-am-3.6.10.tar.bz2 606665 BLAKE2B c475b36c840548b6e0d50b2095ce3278b0b526af856c891a25d28bb2f0cb9f950aa9979533a6b6425a2a36a594dc5d6a075fca7713eb1f59071fec854582cf5b SHA512 f7546f79b786ca383c0846656e74bd69dc9faf57fe5794ffd68776123497ec2a96c2f131801e3d5d19247ac36eaa896801e1ac9cd11291418abb518ba208e597 DIST vdradmin-am-3.6.14.tgz 603368 BLAKE2B 0b3c13c9c92ba01e6ea9968a286006c5fbae6f6491d39f33857cac058d1ae924d8d19d214566b45017412818a57a5ac9788580b13301614523557d78242e8cc7 SHA512 64f75e1ce40086144b4d2d3cec0b2c0560e70e25bbc6ff36ed46261cd58abb1246b6664966adfb39d76266641fe3c6e7febb5644b7bf0c8eb56c7ef8cd4bdbb0 +DIST vdradmin-am-3.6.15.tgz 604304 BLAKE2B 1d99033ac74bdcf1d884c585de88a4d2355564297c541fe440d23888360db8a96496a89e9f140e7e74af1214ea78791b5afe67f0185b044d632d202e3ecda65a SHA512 2bcbe22e4ca2fc781922687bedb45d68fdffa6184b63c56a8886255bb43b0e06983a6a668a926bd26ad1c5d6fd7789ac4b804fe3959c057a521aa6d310c5248d diff --git a/www-misc/vdradmin-am/vdradmin-am-3.6.15.ebuild b/www-misc/vdradmin-am/vdradmin-am-3.6.15.ebuild new file mode 100644 index 000000000000..e4fdf8890dde --- /dev/null +++ b/www-misc/vdradmin-am/vdradmin-am-3.6.15.ebuild @@ -0,0 +1,197 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit ssl-cert systemd tmpfiles + +DESCRIPTION="WWW Admin for the Video Disk Recorder" +HOMEPAGE="https://github.com/vdr-projects/vdradmin-am" +SRC_URI="https://github.com/vdr-projects/vdradmin-am/archive/refs/tags/v${PV}.tar.gz -> ${P}.tgz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ipv6 systemd" + +DEPEND="acct-user/vdradmin + dev-lang/perl + dev-perl/Authen-SASL + dev-perl/CGI + dev-perl/Digest-HMAC + dev-perl/HTTP-Daemon + dev-perl/Locale-gettext + dev-perl/Template-Toolkit + dev-perl/URI + dev-perl/libwww-perl + virtual/perl-IO-Compress + virtual/perl-libnet + ipv6? ( dev-perl/IO-Socket-INET6 ) + ssl? ( dev-perl/HTTP-Daemon-SSL ) + systemd? ( sys-apps/systemd )" +RDEPEND="${DEPEND} + app-admin/sudo" +BDEPEND=" + acct-user/vdradmin + sys-devel/gettext" + +ETC_DIR="/etc/vdradmin" +CERTS_DIR="/etc/vdradmin/certs" +LIB_DIR="/usr/share/vdradmin" +VDRADMIN_USER="vdradmin" +VDRADMIN_GROUP="vdradmin" + +create_ssl_cert() { + elog "Create and install SSL certificate" + SSL_ORGANIZATION="VDR vdradmin-am" + SSL_COMMONNAME=$("${ROOT}"/bin/hostname -f) + elog "install_cert ${CERTS_DIR}/server-cert.pem for host $SSL_COMMONNAME" + rm -f "${ROOT}${CERTS_DIR}/server-cert.pem" "${ROOT}${CERTS_DIR}/server-key.pem" || die + install_cert "${ROOT}${CERTS_DIR}/vdradmin" + ls -la "${ROOT}${CERTS_DIR}/" + rm -f "${ROOT}${CERTS_DIR}/vdradmin.csr" "${ROOT}${CERTS_DIR}/vdradmin.pem" || die + mv "${ROOT}${CERTS_DIR}/vdradmin.key" "${ROOT}${CERTS_DIR}/server-key.pem" || die + mv "${ROOT}${CERTS_DIR}/vdradmin.crt" "${ROOT}${CERTS_DIR}/server-cert.pem" || die + chown "${VDRADMIN_USER}":"${VDRADMIN_GROUP}" "${ROOT}${CERTS_DIR}/server-cert.pem" || die + chown "${VDRADMIN_USER}":"${VDRADMIN_GROUP}" "${ROOT}${CERTS_DIR}/server-key.pem" || die +} + +src_unpack() { + unpack ${A} + cp "${FILESDIR}"/vdradmind.service "${WORKDIR}"/vdradmind.service || die +} + +src_prepare() { + default + + sed -i vdradmind.pl \ + -e "s|FILES_IN_SYSTEM\s*=\s*0;|FILES_IN_SYSTEM = 1;|" || die +} + +src_install() { + newinitd "${FILESDIR}"/vdradmin-3.6.7.init vdradmin + newconfd "${FILESDIR}"/vdradmin-3.6.10.conf vdradmin + + systemd_dounit "${WORKDIR}"/vdradmind.service + dotmpfiles "${FILESDIR}"/vdradmind.conf + + exeinto /usr/share/vdradmin/systemd + doexe "${FILESDIR}"/vdradmin-systemd-helper.sh + + 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 + + newman vdradmind.pl.1 vdradmind.8 + + dodoc CREDITS FAQ HISTORY INSTALL README* REQUIREMENTS + docinto contrib + dodoc "${S}"/contrib/* + + keepdir "${ETC_DIR}" + fowners "${VDRADMIN_USER}":"${VDRADMIN_GROUP}" "${ETC_DIR}" + + if use ssl; then + keepdir "${CERTS_DIR}" + fowners "${VDRADMIN_USER}":"${VDRADMIN_GROUP}" "${CERTS_DIR}" + fi + + mkdir -p "${ED}/etc/sudoers.d/" || die + echo "vdradmin ALL=NOPASSWD:/bin/systemctl daemon-reload" > "${ED}/etc/sudoers.d/${PN}" || die + chmod 0440 "${ED}/etc/sudoers.d/${PN}" || die + + local PO L + for PO in po/*.po + do + L=$(basename $PO .po) + insinto /usr/share/locale/${L}/LC_MESSAGES/ + msgfmt po/${L}.po -o po/${L}.mo + newins po/${L}.mo vdradmin.mo + done + +} + +pkg_preinst() { + install -m 0644 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} /dev/null \ + "${ED}"${ETC_DIR}/vdradmind.conf || die + + if [[ -f "${EROOT}"${ETC_DIR}/vdradmind.conf ]]; then + cp "${EROOT}"${ETC_DIR}/vdradmind.conf \ + "${ED}"${ETC_DIR}/vdradmind.conf || die + else + elog + elog "Creating a new config-file." + echo + + cat <<-EOF > "${ED}"${ETC_DIR}/vdradmind.conf + VDRCONFDIR = /etc/vdr + VIDEODIR = /var/vdr/video + EPG_FILENAME = /var/vdr/video/epg.data + EPGIMAGES = /var/vdr/video/epgimages + PASSWORD = gentoo-vdr + USERNAME = gentoo-vdr + VDR_PORT = 6419 + EOF + # Feed it with newlines + yes "" \ + | "${ED}"/usr/bin/vdradmind --cfgdir "${ED}"${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() { + tmpfiles_process vdradmind.conf + + if use ipv6; then + elog + elog "To make use of the ipv6 protocol" + elog "you need to enable it in ${EROOT}/etc/conf.d/vdradmin" + fi + + if use ssl; then + elog + elog "To use ssl connection to your vdradmin" + elog "you need to enable it in ${EROOT}/etc/conf.d/vdradmin" + + # only create a certificate if none exists + if [[ -f ${ROOT}${CERTS_DIR}/server-cert.pem ]]; then + elog "Existing SSL cert found, not touching it." + else + elog "No SSL cert found, creating a default one now" + create_ssl_cert + fi + fi + + if [[ ! -f "${EROOT}"${ETC_DIR}/vdradmin-systemd.env ]]; then + echo "# systemd environment file, created by pre-exec script, do not edit!" \ + > "${EROOT}"${ETC_DIR}/vdradmin-systemd.env + chown "${VDRADMIN_USER}":"${VDRADMIN_GROUP}" "${EROOT}"${ETC_DIR}/vdradmin-systemd.env || die + fi + + elog + elog "To extend the functionality of ${PN} you can emerge" + elog " media-plugins/vdr-epgsearch to search the EPG" + elog " media-plugins/vdr-streamdev for livetv streaming" + elog "on the machine running the VDR you connect to with ${PN}." +} + +pkg_config() { + "${EROOT}"/usr/bin/vdradmind -c +}
