mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
www-misc/vdradmin-am: add 3.6.15
Signed-off-by: Martin Dummer <martin.dummer@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@gentoo.org>
This commit is contained in:
@@ -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
|
||||
|
||||
197
www-misc/vdradmin-am/vdradmin-am-3.6.15.ebuild
Normal file
197
www-misc/vdradmin-am/vdradmin-am-3.6.15.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user