summaryrefslogtreecommitdiff
path: root/www-misc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-02-13 21:41:11 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-02-13 21:41:11 +0000
commitc8d60dada2ec8eb48b2d2b290cd6683ccec40e39 (patch)
treec44943ee0563a3fa957716de909fed683117fcb9 /www-misc
parent69051588e2f955485fe5d45d45e616bc60a2de57 (diff)
gentoo (valentine's day) resync : 14.02.2021
Diffstat (limited to 'www-misc')
-rw-r--r--www-misc/Manifest.gzbin3087 -> 3086 bytes
-rw-r--r--www-misc/buku/Manifest3
-rw-r--r--www-misc/buku/buku-4.5.ebuild15
-rw-r--r--www-misc/buku/files/buku-4.5-hypothesis-fix.patch494
-rw-r--r--www-misc/monitorix/Manifest2
-rw-r--r--www-misc/monitorix/monitorix-3.13.1.ebuild91
-rw-r--r--www-misc/vdradmin-am/Manifest6
-rw-r--r--www-misc/vdradmin-am/files/vdradmin-3.6.6.conf26
-rw-r--r--www-misc/vdradmin-am/files/vdradmind.service2
-rw-r--r--www-misc/vdradmin-am/metadata.xml8
-rw-r--r--www-misc/vdradmin-am/vdradmin-am-3.6.10-r2.ebuild187
11 files changed, 799 insertions, 35 deletions
diff --git a/www-misc/Manifest.gz b/www-misc/Manifest.gz
index d809fa4154ab..123afb19e149 100644
--- a/www-misc/Manifest.gz
+++ b/www-misc/Manifest.gz
Binary files differ
diff --git a/www-misc/buku/Manifest b/www-misc/buku/Manifest
index 044f9d767739..fbfe537d804c 100644
--- a/www-misc/buku/Manifest
+++ b/www-misc/buku/Manifest
@@ -1,3 +1,4 @@
+AUX buku-4.5-hypothesis-fix.patch 17711 BLAKE2B fb5b57e25f36b15d8f3a48bb0291a657370d6d4c9f6df002a8bbf4a0e5af9b45cc2a53fb31e855b055775abf312aab2f752ed7621c9fca96163aecaa44a396bf SHA512 8489537c7c0c8ba81a4ca8e2b26e8a8a81f10f8b0f40c3481c55ce13abff1602ccc837351b00a4be6dad90e78820f144741753bf6f3ce39515a38c4a743e6d21
DIST buku-4.5.tar.gz 488913 BLAKE2B 29ed93fa9af4503f72a711889fbf17d86bcde1bc1abbfc88242c4ebd18f1c1a57077781eebdd79d9d993078d2f5b5883c9a0ec4fee94e37c0e7bfb727c5154d0 SHA512 7bbb598d5c970e8e594d58c0a18f9b85245d4a214c01d64b537a5ccaadab32c964521046b90754c2f2c721bf816dc7f4438cfeff3a7e7eec75ce958cc41dfa7d
-EBUILD buku-4.5.ebuild 2619 BLAKE2B fd0fbd95f7268fa985a4c630581d0d38e508ebd027370db100c57dce76cb40152e7b8157ff532899aa763c3ad2cde7715baef4f65ff131cfbbc996b0a253751b SHA512 b5d42740b0d14443f37f8eca3057fb3b8472a96b144deedd2a1587c1fb94ef5e97ac49f235213c83a6d0fc66f59de730e1ef119609c51eab9d16c125747be871
+EBUILD buku-4.5.ebuild 3019 BLAKE2B 92c4deb07a3dfaca4762f5a877173d7fbf0576be73a2e485b17d17fc8a4c748da68a9c27ca7e6c5e1fcd1238a02cdf47b7aad0982f50f02079d9bed96b650059 SHA512 39ae35d6b80e5838bb7eb8792d52437c5ca961514ef2f0644fba06a14b4ff839599caf7172e18e82e8240f17441f598b9710885251c807456975568f0f2f3bfe
MISC metadata.xml 555 BLAKE2B a867009ea23046f3c2e11a5687f4368e3456a7b2cb3bb3c03f8c552c62485120b6ff664266150696ebf1caea50b59df00727c2c9697d452b8ff2bf99a1be7731 SHA512 aee7256d7bfbc85d8e80bb579f75d9b54367ea500339049f293d07daab9cda2839954e5908b99817ab2225f1b4159333d70610127199e5ca0331280cf63eec12
diff --git a/www-misc/buku/buku-4.5.ebuild b/www-misc/buku/buku-4.5.ebuild
index befec965f441..8091f25bdd67 100644
--- a/www-misc/buku/buku-4.5.ebuild
+++ b/www-misc/buku/buku-4.5.ebuild
@@ -37,6 +37,10 @@ DEPEND="${RDEPEND}
)
"
+PATCHES=(
+ "${FILESDIR}/${P}-hypothesis-fix.patch"
+)
+
python_prepare_all() {
# Remove support for bukuserver - complex depgraph which isn't all
# sufficiently packaged in Gentoo
@@ -73,12 +77,17 @@ python_test() {
tests/test_bukuDb.py::TestBukuDb::test_tnyfy_url
tests/test_bukuDb.py::test_add_rec_exec_arg
tests/test_bukuDb.py::test_load_firefox
- tests/test_bukuDb.py::test_print_rec_hypothesis
+ tests/test_bukuDb.py::test_print_db
+ tests/test_bukuDb.py::test_print_rec
tests/test_bukuDb.py::test_refreshdb
- # Passes when called alone, fails when run from the suite,
- # but only when the network is disabled
+ # Hard to debug sandbox issue - these pass when run outside portage
+ # There also appears to be some state issue between these, because
+ # skipping one can result in a later one failing.
tests/test_bukuDb.py::test_delete_rec_index_and_delay_commit[1-True-False]
+ tests/test_bukuDb.py::test_delete_rec_index_and_delay_commit[1-False-True]
+ tests/test_bukuDb.py::test_delete_rec_index_and_delay_commit[1-False-False]
+ tests/test_bukuDb.py::test_delete_rec_index_and_delay_commit[1-True-True]
)
# tests/test_server.py is bukuserver tests, ignore it
diff --git a/www-misc/buku/files/buku-4.5-hypothesis-fix.patch b/www-misc/buku/files/buku-4.5-hypothesis-fix.patch
new file mode 100644
index 000000000000..c742162ab1ca
--- /dev/null
+++ b/www-misc/buku/files/buku-4.5-hypothesis-fix.patch
@@ -0,0 +1,494 @@
+From e4ef997dbbddcb372ba20cff18c8dc2a17da215c Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 13:35:34 +0800
+Subject: [PATCH 1/8] chg: test: basic for print_rec
+
+---
+ tests/test_bukuDb.py | 86 ++++++++++++++++++++------------------------
+ 1 file changed, 38 insertions(+), 48 deletions(-)
+
+diff --git a/tests/test_bukuDb.py b/tests/test_bukuDb.py
+index 4413760c..b5c0d7a7 100644
+--- a/tests/test_bukuDb.py
++++ b/tests/test_bukuDb.py
+@@ -9,22 +9,21 @@
+ import shutil
+ import sqlite3
+ import sys
++import unittest
+ import urllib
+ import zipfile
+-from tempfile import TemporaryDirectory, NamedTemporaryFile
+-
+-from unittest import mock
+-import unittest
+ from genericpath import exists
++from tempfile import NamedTemporaryFile, TemporaryDirectory
++from unittest import mock
++
+ import pytest
++import vcr
+ import yaml
+-from hypothesis import given, example, settings
++from hypothesis import HealthCheck, example, given, settings
+ from hypothesis import strategies as st
+-import vcr
+
+ from buku import BukuDb, parse_tags, prompt
+
+-
+ logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from vcrpy
+ vcr_log = logging.getLogger("vcr")
+ vcr_log.setLevel(logging.INFO)
+@@ -686,54 +685,45 @@ def test_refreshdb(refreshdb_fixture, title_in, exp_res):
+ assert from_db[2] == exp_res, 'from_db: {}'.format(from_db)
+
+
+-@given(
+- index=st.integers(min_value=-10, max_value=10),
+- low=st.integers(min_value=-10, max_value=10),
+- high=st.integers(min_value=-10, max_value=10),
+- is_range=st.booleans(),
+-)
+-@settings(deadline=None)
+-def test_print_rec_hypothesis(caplog, setup, index, low, high, is_range):
+- """test when index, low or high is less than 0."""
+- # setup
+- caplog.handler.records.clear()
+- caplog.records.clear()
+-
+- bdb = BukuDb()
++@pytest.fixture
++def test_print_db(tmp_path):
++ bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
+ # clear all record first before testing
+ bdb.delete_rec_all()
+ bdb.add_rec("http://one.com", "", parse_tags(['cat,ant,bee,1']), "")
+- db_len = 1
+- bdb.print_rec(index=index, low=low, high=high, is_range=is_range)
+-
+- check_print = False
+- err_msg = ['Actual log:']
+- err_msg.extend(['{}:{}'.format(x.levelname, x.getMessage()) for x in caplog.records])
+-
+- if index < 0 or (0 <= index <= db_len and not is_range):
+- check_print = True
+- # negative index/range on is_range
+- elif (is_range and any([low < 0, high < 0])):
+- assert any([x.levelname == "ERROR" for x in caplog.records]), \
+- '\n'.join(err_msg)
+- assert any([x.getMessage() == "Negative range boundary" for x in caplog.records]), \
+- '\n'.join(err_msg)
+- elif is_range:
+- check_print = True
+- else:
+- assert any([x.levelname == "ERROR" for x in caplog.records]), \
+- '\n'.join(err_msg)
+- assert any([x.getMessage().startswith("No matching index") for x in caplog.records]), \
+- '\n'.join(err_msg)
++ yield bdb
++ bdb.delete_rec(index=1)
+
+- if check_print:
+- assert not any([x.levelname == "ERROR" for x in caplog.records]), \
+- '\n'.join(err_msg)
+
+- # teardown
+- bdb.delete_rec(index=1)
++@pytest.fixture
++def test_print_caplog(caplog):
+ caplog.handler.records.clear()
+ caplog.records.clear()
++ yield caplog
++
++
++@pytest.mark.parametrize('kwargs, exp_res', [
++ [{}, (True, [])],
++ [{'is_range': True}, (True, [])],
++ [{'index': 0}, (True, [])],
++ [{'index': -1}, (True, [])],
++ [{'index': -2}, (True, [])],
++ [{'index': 2}, (False, [('root', 40, 'No matching index 2')])],
++])
++def test_print_rec(kwargs, exp_res, test_print_db, caplog):
++ bdb = test_print_db
++ # run the function
++ assert (bdb.print_rec(**kwargs), caplog.record_tuples) == exp_res
++
++
++@pytest.mark.parametrize('index, exp_res', [
++ [0, (True, [('root', 40, '0 records')])],
++ [-1, (False, [('root', 40, 'Empty database')])],
++ [1, (False, [('root', 40, 'No matching index 1')])],
++])
++def test_print_rec_on_empty_db(tmp_path, caplog, index, exp_res):
++ bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
++ assert (bdb.print_rec(index=index), caplog.record_tuples) == exp_res
+
+
+ def test_list_tags(capsys, setup):
+
+From adb7314d49e47823d83bb7a07ef21ac1d628998a Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 13:42:17 +0800
+Subject: [PATCH 2/8] new: dev: type hint for print_rec
+
+---
+ buku | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/buku b/buku
+index 540c7d5e..a18c6b47 100755
+--- a/buku
++++ b/buku
+@@ -1658,7 +1658,7 @@ class BukuDb:
+
+ return False
+
+- def print_rec(self, index=0, low=0, high=0, is_range=False):
++ def print_rec(self, index : int = 0 , low : int = 0, high : int = 0, is_range : bool = False) -> bool:
+ """Print bookmark details at index or all bookmarks if index is 0.
+
+ A negative index behaves like tail, if title is blank show "Untitled".
+
+From 92caf1c6c8687773cb288434fff7e1218ae918ce Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 14:11:16 +0800
+Subject: [PATCH 3/8] chg: test: print_rec
+
+- merge no db and single rec test
+- more test case
+---
+ tests/test_bukuDb.py | 52 +++++++++++++++++++++++++++-----------------
+ 1 file changed, 32 insertions(+), 20 deletions(-)
+
+diff --git a/tests/test_bukuDb.py b/tests/test_bukuDb.py
+index b5c0d7a7..2142dcf3 100644
+--- a/tests/test_bukuDb.py
++++ b/tests/test_bukuDb.py
+@@ -33,6 +33,7 @@
+ TEST_TEMP_DBDIR_PATH = os.path.join(TEST_TEMP_DIR_PATH, 'buku')
+ TEST_TEMP_DBFILE_PATH = os.path.join(TEST_TEMP_DBDIR_PATH, 'bookmarks.db')
+ MAX_SQLITE_INT = int(math.pow(2, 63) - 1)
++TEST_PRINT_REC = ("https://example.com", "", parse_tags(['cat,ant,bee,1']), "")
+
+ TEST_BOOKMARKS = [
+ ['http://slashdot.org',
+@@ -690,7 +691,7 @@ def test_print_db(tmp_path):
+ bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
+ # clear all record first before testing
+ bdb.delete_rec_all()
+- bdb.add_rec("http://one.com", "", parse_tags(['cat,ant,bee,1']), "")
++ bdb.add_rec
+ yield bdb
+ bdb.delete_rec(index=1)
+
+@@ -702,30 +703,41 @@ def test_print_caplog(caplog):
+ yield caplog
+
+
+-@pytest.mark.parametrize('kwargs, exp_res', [
+- [{}, (True, [])],
+- [{'is_range': True}, (True, [])],
+- [{'index': 0}, (True, [])],
+- [{'index': -1}, (True, [])],
+- [{'index': -2}, (True, [])],
+- [{'index': 2}, (False, [('root', 40, 'No matching index 2')])],
++@pytest.mark.parametrize('kwargs, rec, exp_res', [
++ [{}, TEST_PRINT_REC, (True, [])],
++ [{'is_range': True}, TEST_PRINT_REC, (True, [])],
++ [{'index': 0}, TEST_PRINT_REC, (True, [])],
++ [{'index': -1}, TEST_PRINT_REC, (True, [])],
++ [{'index': -2}, TEST_PRINT_REC, (True, [])],
++ [{'index': 2}, TEST_PRINT_REC, (False, [('root', 40, 'No matching index 2')])],
++ [{'low': -1, 'high': -1}, TEST_PRINT_REC, (True, [])],
++ [{'low': -1, 'high': -1, 'is_range': True}, TEST_PRINT_REC, (False, [('root', 40, 'Negative range boundary')])],
++ [{'low': 0, 'high': 0, 'is_range': True}, TEST_PRINT_REC, (True, [])],
++ [{'low': 0, 'high': 1, 'is_range': True}, TEST_PRINT_REC, (True, [])],
++ [{'low': 0, 'high': 2, 'is_range': True}, TEST_PRINT_REC, (True, [])],
++ [{'low': 2, 'high': 2, 'is_range': True}, TEST_PRINT_REC, (True, [])],
++ [{'low': 2, 'high': 3, 'is_range': True}, TEST_PRINT_REC, (True, [])],
++ # empty database
++ [{'is_range': True}, None, (True, [])],
++ [{'index': 0}, None, (True, [('root', 40, '0 records')])],
++ [{'index': -1}, None, (False, [('root', 40, 'Empty database')])],
++ [{'index': 1}, None, (False, [('root', 40, 'No matching index 1')])],
++ [{'low': -1, 'high': -1}, TEST_PRINT_REC, (True, [])],
++ [{'low': -1, 'high': -1, 'is_range': True}, None, (False, [('root', 40, 'Negative range boundary')])],
++ [{'low': 0, 'high': 0, 'is_range': True}, None, (True, [])],
++ [{'low': 0, 'high': 1, 'is_range': True}, None, (True, [])],
++ [{'low': 0, 'high': 2, 'is_range': True}, None, (True, [])],
++ [{'low': 2, 'high': 2, 'is_range': True}, None, (True, [])],
++ [{'low': 2, 'high': 3, 'is_range': True}, None, (True, [])],
+ ])
+-def test_print_rec(kwargs, exp_res, test_print_db, caplog):
+- bdb = test_print_db
++def test_print_rec(setup, kwargs, rec, exp_res, tmp_path, caplog):
++ bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
++ if rec:
++ bdb.add_rec(*rec)
+ # run the function
+ assert (bdb.print_rec(**kwargs), caplog.record_tuples) == exp_res
+
+
+-@pytest.mark.parametrize('index, exp_res', [
+- [0, (True, [('root', 40, '0 records')])],
+- [-1, (False, [('root', 40, 'Empty database')])],
+- [1, (False, [('root', 40, 'No matching index 1')])],
+-])
+-def test_print_rec_on_empty_db(tmp_path, caplog, index, exp_res):
+- bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
+- assert (bdb.print_rec(index=index), caplog.record_tuples) == exp_res
+-
+-
+ def test_list_tags(capsys, setup):
+ bdb = BukuDb()
+
+
+From ae088057ccf5e7f0d6b4916293b5d3b3535a71ed Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 14:52:06 +0800
+Subject: [PATCH 4/8] chg: test: simplify
+ test_delete_rec_range_and_delay_commit
+
+---
+ tests/test_bukuDb.py | 76 ++++++++++----------------------------------
+ 1 file changed, 16 insertions(+), 60 deletions(-)
+
+diff --git a/tests/test_bukuDb.py b/tests/test_bukuDb.py
+index 2142dcf3..ad1ef5ba 100644
+--- a/tests/test_bukuDb.py
++++ b/tests/test_bukuDb.py
+@@ -774,74 +774,30 @@ def test_compactdb(setup):
+
+
+ @vcr.use_cassette('tests/vcr_cassettes/test_delete_rec_range_and_delay_commit.yaml')
+-@given(
+- low=st.integers(min_value=-10, max_value=10),
+- high=st.integers(min_value=-10, max_value=10),
+- delay_commit=st.booleans(),
+- input_retval=st.characters()
+-)
+-@example(low=0, high=0, delay_commit=False, input_retval='y')
+-@settings(max_examples=2, deadline=None)
+-def test_delete_rec_range_and_delay_commit(setup, low, high, delay_commit, input_retval):
++@pytest.mark.parametrize('low, high, delay_commit, input_retval, exp_res', [
++ # delay_commit, y input_retval
++ [0, 0, True, 'y', (True, [])],
++ # delay_commit, non-y input_retval
++ [0, 0, True, 'x', (False, [tuple([x] + y + [0]) for x,y in zip(range(1, 4), TEST_BOOKMARKS)])],
++ # non delay_commit, y input_retval
++ [0, 0, False, 'y', (True, [])],
++ # non delay_commit, non-y input_retval
++ [0, 0, False, 'x', (False, [tuple([x] + y + [0]) for x,y in zip(range(1, 4), TEST_BOOKMARKS)])],
++])
++def test_delete_rec_range_and_delay_commit(setup, tmp_path, low, high, delay_commit, input_retval, exp_res):
+ """test delete rec, range and delay commit."""
+- bdb = BukuDb()
+- bdb_dc = BukuDb() # instance for delay_commit check.
+- index = 0
+- is_range = True
++ bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
++ kwargs = {'is_range': True, 'low': low, 'high': high, 'delay_commit': delay_commit}
++ kwargs['index'] = 0
+
+ # Fill bookmark
+ for bookmark in TEST_BOOKMARKS:
+ bdb.add_rec(*bookmark)
+- db_len = len(TEST_BOOKMARKS)
+-
+- # use normalized high and low variable
+- n_low, n_high = normalize_range(db_len=db_len, low=low, high=high)
+-
+- exp_res = True
+- if n_high > db_len >= n_low:
+- exp_db_len = db_len - (db_len + 1 - n_low)
+- elif n_high == n_low > db_len:
+- exp_db_len = db_len
+- exp_res = False
+- elif n_high == n_low <= db_len:
+- exp_db_len = db_len - 1
+- else:
+- exp_db_len = db_len - (n_high + 1 - n_low)
+
+ with mock.patch('builtins.input', return_value=input_retval):
+- res = bdb.delete_rec(
+- index=index, low=low, high=high, is_range=is_range, delay_commit=delay_commit)
++ res = bdb.delete_rec(**kwargs)
+
+- if n_low < 0:
+- assert not res
+- assert len(bdb_dc.get_rec_all()) == db_len
+- # teardown
+- os.environ['XDG_DATA_HOME'] = TEST_TEMP_DIR_PATH
+- return
+- if (low == 0 or high == 0) and input_retval != 'y':
+- assert not res
+- assert len(bdb_dc.get_rec_all()) == db_len
+- # teardown
+- os.environ['XDG_DATA_HOME'] = TEST_TEMP_DIR_PATH
+- return
+- if (low == 0 or high == 0) and input_retval == 'y':
+- assert res == exp_res
+- assert len(bdb_dc.get_rec_all()) == 0
+- # teardown
+- os.environ['XDG_DATA_HOME'] = TEST_TEMP_DIR_PATH
+- return
+- if n_low > db_len and n_low > 0:
+- assert not res
+- assert len(bdb_dc.get_rec_all()) == db_len
+- # teardown
+- os.environ['XDG_DATA_HOME'] = TEST_TEMP_DIR_PATH
+- return
+- assert res == exp_res
+- assert len(bdb.get_rec_all()) == exp_db_len
+- if delay_commit:
+- assert len(bdb_dc.get_rec_all()) == db_len
+- else:
+- assert len(bdb_dc.get_rec_all()) == exp_db_len
++ assert (res, bdb.get_rec_all()) == exp_res
+
+ # teardown
+ os.environ['XDG_DATA_HOME'] = TEST_TEMP_DIR_PATH
+
+From 70533309146cace69cc0b1d6163d6a239e73f055 Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 15:02:25 +0800
+Subject: [PATCH 5/8] new: dev: update test package
+
+---
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 1cda44d1..60a36a37 100644
+--- a/setup.py
++++ b/setup.py
+@@ -20,12 +20,12 @@
+ 'beautifulsoup4>=4.6.0',
+ 'Click>=7.0',
+ 'flake8>=3.4.1',
+- 'hypothesis>=3.7.0',
++ 'hypothesis>=6.0.0',
+ 'mypy-extensions==0.4.1',
+ 'py>=1.5.0',
+ 'pylint>=1.7.2',
+ 'pytest-cov',
+- 'pytest>=3.4.2',
++ 'pytest>=6.2.1',
+ 'PyYAML>=4.2b1',
+ 'setuptools>=41.0.1',
+ 'vcrpy>=1.13.0',
+
+From 61592a42dcd1cadf168934a0fc74cb42da5fed0f Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 15:29:00 +0800
+Subject: [PATCH 6/8] fix: test: pylint
+
+---
+ buku | 2 +-
+ tests/test_bukuDb.py | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/buku b/buku
+index a18c6b47..df2e1f8d 100755
+--- a/buku
++++ b/buku
+@@ -1658,7 +1658,7 @@ class BukuDb:
+
+ return False
+
+- def print_rec(self, index : int = 0 , low : int = 0, high : int = 0, is_range : bool = False) -> bool:
++ def print_rec(self, index: int = 0, low: int = 0, high: int = 0, is_range: bool = False) -> bool:
+ """Print bookmark details at index or all bookmarks if index is 0.
+
+ A negative index behaves like tail, if title is blank show "Untitled".
+diff --git a/tests/test_bukuDb.py b/tests/test_bukuDb.py
+index ad1ef5ba..e22ddacb 100644
+--- a/tests/test_bukuDb.py
++++ b/tests/test_bukuDb.py
+@@ -19,7 +19,7 @@
+ import pytest
+ import vcr
+ import yaml
+-from hypothesis import HealthCheck, example, given, settings
++from hypothesis import example, given, settings
+ from hypothesis import strategies as st
+
+ from buku import BukuDb, parse_tags, prompt
+@@ -778,16 +778,16 @@ def test_compactdb(setup):
+ # delay_commit, y input_retval
+ [0, 0, True, 'y', (True, [])],
+ # delay_commit, non-y input_retval
+- [0, 0, True, 'x', (False, [tuple([x] + y + [0]) for x,y in zip(range(1, 4), TEST_BOOKMARKS)])],
++ [0, 0, True, 'x', (False, [tuple([x] + y + [0]) for x, y in zip(range(1, 4), TEST_BOOKMARKS)])],
+ # non delay_commit, y input_retval
+ [0, 0, False, 'y', (True, [])],
+ # non delay_commit, non-y input_retval
+- [0, 0, False, 'x', (False, [tuple([x] + y + [0]) for x,y in zip(range(1, 4), TEST_BOOKMARKS)])],
++ [0, 0, False, 'x', (False, [tuple([x] + y + [0]) for x, y in zip(range(1, 4), TEST_BOOKMARKS)])],
+ ])
+ def test_delete_rec_range_and_delay_commit(setup, tmp_path, low, high, delay_commit, input_retval, exp_res):
+ """test delete rec, range and delay commit."""
+ bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
+- kwargs = {'is_range': True, 'low': low, 'high': high, 'delay_commit': delay_commit}
++ kwargs = {'is_range': True, 'low': low, 'high': high, 'delay_commit': delay_commit}
+ kwargs['index'] = 0
+
+ # Fill bookmark
+
+From 961071eac597206c63aac5c20e692f8b269d0171 Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 15:41:46 +0800
+Subject: [PATCH 7/8] fix: test: pylint wrong import order
+
+---
+ tests/test_bukuDb.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_bukuDb.py b/tests/test_bukuDb.py
+index e22ddacb..32738260 100644
+--- a/tests/test_bukuDb.py
++++ b/tests/test_bukuDb.py
+@@ -12,9 +12,9 @@
+ import unittest
+ import urllib
+ import zipfile
+-from genericpath import exists
+ from tempfile import NamedTemporaryFile, TemporaryDirectory
+ from unittest import mock
++from genericpath import exists
+
+ import pytest
+ import vcr
+
+From c51d454f2f7ff35995265f276a5d96adb5aff995 Mon Sep 17 00:00:00 2001
+From: rachmadaniHaryono <foreturiga@gmail.com>
+Date: Sat, 9 Jan 2021 15:42:00 +0800
+Subject: [PATCH 8/8] chg: test: remove unused fixture
+
+---
+ tests/test_bukuDb.py | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/tests/test_bukuDb.py b/tests/test_bukuDb.py
+index 32738260..23f2f84a 100644
+--- a/tests/test_bukuDb.py
++++ b/tests/test_bukuDb.py
+@@ -686,16 +686,6 @@ def test_refreshdb(refreshdb_fixture, title_in, exp_res):
+ assert from_db[2] == exp_res, 'from_db: {}'.format(from_db)
+
+
+-@pytest.fixture
+-def test_print_db(tmp_path):
+- bdb = BukuDb(dbfile=tmp_path / 'tmp.db')
+- # clear all record first before testing
+- bdb.delete_rec_all()
+- bdb.add_rec
+- yield bdb
+- bdb.delete_rec(index=1)
+-
+-
+ @pytest.fixture
+ def test_print_caplog(caplog):
+ caplog.handler.records.clear()
diff --git a/www-misc/monitorix/Manifest b/www-misc/monitorix/Manifest
index 26e6f033a34b..9895dabe912c 100644
--- a/www-misc/monitorix/Manifest
+++ b/www-misc/monitorix/Manifest
@@ -1,4 +1,6 @@
AUX monitorix 794 BLAKE2B f0e4eb70ff867711b749fbdda5150ef0733f9622fceaf8499600bcae15bea3e6a987d7c5635987e0913a1bd28adc6be5e5273438c59ee434a80e2cb72d8e6bd1 SHA512 92f16de3398673046cb9aa27f70923f35d6f61a5a861bed37a61650371ad714aa6ad2be2eb9f770e4cb734db109a222182ba22eb4a6f9c5b228a8b96c1ef893c
DIST monitorix-3.12.0.tar.gz 348117 BLAKE2B 65f6e5a8ef4acba2e5dd015e3acab1c927a8964de6cf0bb56a426e6e2dc5843083177591f26db639ed36df798db9659cd6345ca38df4f25fc9a4759e84f0d553 SHA512 7cbdb27df1d84e87f0b99d310d3b3a7c27e369adc82c88e297966e36de82c2f800474447dd628041f2feb89817ee496cbae65a4b0e4942a2f75c900f16ccfcf1
+DIST monitorix-3.13.1.tar.gz 364091 BLAKE2B 0e11d1df2d5cbc4a7ec7b448b24409411903370b5fc0f35f7395439b017d0ce27e3d86fe19db70939942165a9e4bf72583030fdcd1b9c0b5be484c1c71af021e SHA512 224ccedd608cda609ea161f62e11266c13f26536d7e3c50a3690ace693ed52c71422f2ef0acabb4e8d69551458a6af2c33e6b776b1dec73cbf621a7f40339573
EBUILD monitorix-3.12.0.ebuild 2790 BLAKE2B be1f972e47615d7fcc9f225da6efea482e8390e5a5cf45bdbf3a1607b0aa7d64f0e04bd4c8fe1b774d910880b7dc51afa781d03aa573277670764e80ff06474f SHA512 786b7608dfe1ce3a0802461316ec64f64b46a9f72f067d1767446fd9f075e861c1e66c5b6a6c1a6fed0b2a37bddfe279e870a3785c5d0297d0f05c9636afc483
+EBUILD monitorix-3.13.1.ebuild 2311 BLAKE2B 9e840d3269e3c519dcc9393af4eb717579e289c14c12bcf7a6da5c511eb77f30f1895170d17333f52838a57632f7c825d34b4363877c15e3f45a80fe422697be SHA512 20c901143fb4bcd06f230dca57d37c169ecdd785bf7073bae3600b30768c50cd6a081e7c768bc502d2ebccd298c2dfb372a743a3742f9fb4227db6dc78a0c7f2
MISC metadata.xml 456 BLAKE2B 8c25de0cdb102ae91def87ffd8722597b787de59402f14a1620649e38272d13ccba6fa1d97df4c587b0d145fef446e7b52b3200d176e30cb632c2702ef104c9e SHA512 1c6934a7ffa1f5cb38336a79dc886cbb0b193668316c4fd246dbee9a9dd071f2c30147163d0ebb97d7f4b9d52b9f048421a1babe85ba5ba7499ecd83f2f56b3c
diff --git a/www-misc/monitorix/monitorix-3.13.1.ebuild b/www-misc/monitorix/monitorix-3.13.1.ebuild
new file mode 100644
index 000000000000..61230025cd86
--- /dev/null
+++ b/www-misc/monitorix/monitorix-3.13.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit systemd optfeature
+
+DESCRIPTION="A lightweight system monitoring tool"
+HOMEPAGE="https://www.monitorix.org/"
+SRC_URI="https://www.monitorix.org/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ acct-user/monitorix
+ acct-group/monitorix
+ dev-perl/Config-General
+ dev-perl/DBI
+ dev-perl/HTTP-Server-Simple
+ dev-perl/IO-Socket-SSL
+ dev-perl/libwww-perl
+ dev-perl/MIME-Lite
+ dev-perl/XML-Simple
+ net-analyzer/rrdtool[graph,perl]
+ dev-perl/CGI"
+
+src_prepare() {
+ # Put better Gentoo defaults in the configuration file.
+ sed -e "s|\(base_dir.*\)/usr/share/${PN}|\1/usr/share/${PN}/htdocs|" \
+ -e "s|\(secure_log.*\)/var/log/secure|\1/var/log/auth.log|" \
+ -e "s|nobody|${PN}|g" -i ${PN}.conf || die
+ # Update systemd binary location
+ sed -e "s|/usr/bin|/usr/sbin|g" -i docs/${PN}.service || die
+ eapply_user
+}
+
+# Override compile phase
+src_compile() { :; }
+
+src_install() {
+ dosbin ${PN}
+
+ newinitd "${FILESDIR}/monitorix" ${PN}
+
+ insinto /etc/monitorix
+ doins ${PN}.conf
+
+ keepdir /etc/${PN}/conf.d
+
+ insinto /etc/logrotate.d
+ newins docs/${PN}.logrotate ${PN}
+
+ dodoc Changes README{,.nginx} docs/${PN}-{alert.sh,apache.conf,lighttpd.conf}
+ doman man/man5/${PN}.conf.5
+ doman man/man8/${PN}.8
+
+ insinto /var/lib/${PN}/www
+ doins logo_bot.png logo_top.png ${PN}ico.png
+
+ keepdir /var/lib/${PN}/www/imgs
+ fowners monitorix:monitorix /var/lib/${PN}/www/imgs
+
+ exeinto /var/lib/${PN}/www/cgi
+ doexe ${PN}.cgi
+
+ exeinto /usr/lib/${PN}
+ doexe lib/*.pm
+
+ keepdir /var/lib/${PN}/usage
+ insinto /var/lib/${PN}/reports
+ doins -r reports
+
+ systemd_dounit docs/${PN}.service
+}
+
+pkg_postinst() {
+ elog "Optional dependencies:"
+ optfeature "disk drive temperatures and health" app-admin/hddtemp
+ optfeature "email reports/statics" mail-mta/postfix mail-mta/sendmail
+ optfeature "lm-sensors and GPU temperatures" sys-apps/lm-sensors
+ optfeature "APC UPS statistics" sys-power/apcupsd
+ optfeature "Network UPS Tools statistics" sys-power/nut
+ elog
+ elog "If you wish to use your own web server:"
+ elog " Web data can be found at: ${EROOT}/var/lib/${PN}/www/"
+ elog " Also please check the correct user and group ownership"
+ elog " of ${EROOT}/var/lib/${PN}/www/imgs/"
+}
diff --git a/www-misc/vdradmin-am/Manifest b/www-misc/vdradmin-am/Manifest
index 1b6a376e39fd..d9e3809a8667 100644
--- a/www-misc/vdradmin-am/Manifest
+++ b/www-misc/vdradmin-am/Manifest
@@ -1,9 +1,9 @@
AUX vdradmin-3.6.10.conf 387 BLAKE2B ababdd27b66bcbcb47ea5e69774b659c2319d3c9d8756bbbfde64c738b75d0a497778a1a6b3529f118f54519ad3895bd4ec51a613d74273a11b64f8f1e8739a2 SHA512 9308c97fd5354c16ffeb8ddaf983710d4e72a443e30ade596d1f0cd3133e28173062ac30efc18e8ec8fdd0ee9747083f697bd52865624dc3e8c8d64b0d3c8cfc
-AUX vdradmin-3.6.6.conf 557 BLAKE2B d5a9991ec16a87986bb9674d1c9b2450f8b34832e45984c731b49f4bb4c55f767e353066b38aa679d78b316431d1ad5d135dedacd9050929fe570da0d9e58455 SHA512 253ad76deb8c4b5d8ca69464381a7322efa6c638bb78049db8dce3dfc44aaa9a36e37ac62d0ac945418dd4afbde573b0b11ecab3ace149c06a8ded2c4832afe6
AUX vdradmin-3.6.6.logrotate 116 BLAKE2B 5db1b231a4a821689c8f6198e02f56e8c8dfb89c56abf6fc4630f59081d34b222f7437186b6cdb169e2a7929c26c8bf86e3f1ae037a57bffdcdb1becca4af8b6 SHA512 27d730b67210adf314c53e87fb4ba7e6ab0a1461db0f8ddb517878341badcb27531eaedc8034ba2e72572bbaa8db07c61781be6063aaee7ef63043d4d5979b98
AUX vdradmin-3.6.7.init 1860 BLAKE2B e8e93378a56a2a2118a5a3ac0cd879690a09c5508a54d6eb0cf7e827c915df2bcbd894fc53f4eee75eaebba0826e6712fbf3a0c1975101799a0d4575b6679fbb SHA512 73a175c7ae8f233442dedc5d2d94a81a4a63d3973c4548d508496f2d99e06eeb0683f51b8621ee8cefd5111ad2240c90d7225b96fef96b15e618b21418136731
AUX vdradmind.conf 92 BLAKE2B 14d1abac4f0718dcf0679ffaab81f2d1867cdca3f3cf8534ddef84129a4bcd4c93c2e18ce9877f44ed9759a81d67b6eb9541c86ac184ffec7705278fcac243b4 SHA512 d54253b0eb684dfcfa924e141b5f0975cea659f3258a519afd625e692855de45d9c863a8d9eb11d4b16597fa76eee955694350f224b443733b238071b3ad9d16
-AUX vdradmind.service 278 BLAKE2B 58b7aca123f3dc6ac00eeed25a241cd4315b93abff33ef66a0a227623a5bfd6fb5c234166a55d66f0d4a7762ab0c9c720f8e2031bf52789a52edc3d07d61bfa2 SHA512 e862d5a54e0f9b1b8c3604933ccea840e1256fac49f1b93cd7c6446f9aa4f6b8371fbd8d8b767574efe2420c7141e7af0cd5578733311a94377db8797de32b28
+AUX vdradmind.service 236 BLAKE2B 605e037f32ab03877b7d33d4cf964cac1a453c2026a34c12e966920c6bdb4e221cff83ca2f54a7288a0fc64cfeec5f1906ad2acbe29024ddbcc77fed1b1e07e4 SHA512 dc674c38be6eb26cda20511c0366c7cff8f70e4d02781508828e8027e4c82c591e62361efa44862382cdf3417c30e679babdc7928a31ad054250aed41c06fff5
DIST vdradmin-am-3.6.10.tar.bz2 606665 BLAKE2B c475b36c840548b6e0d50b2095ce3278b0b526af856c891a25d28bb2f0cb9f950aa9979533a6b6425a2a36a594dc5d6a075fca7713eb1f59071fec854582cf5b SHA512 f7546f79b786ca383c0846656e74bd69dc9faf57fe5794ffd68776123497ec2a96c2f131801e3d5d19247ac36eaa896801e1ac9cd11291418abb518ba208e597
EBUILD vdradmin-am-3.6.10-r1.ebuild 4743 BLAKE2B e0999640ef00b1df683cd36cfd7e4d67420b334b7c3fd66c5ae30b359e6862039859c629fd6015283903ab71c024704bb91f9a6351ad971624bc70b291474fee SHA512 c205fbe8a2995dc9d44270a1e0334010ff6c527f6986414c1e159c6439f8a4606f278a6e94c7c4e8138d78feb615e20266de5ccf7785b818f0b8b885a1447416
-MISC metadata.xml 249 BLAKE2B d4dad5b7d4d1bbb3887888fd8519955b5e1262b2f3af04802d69aef6d836bf8d87d0316d9d3527d3a98c8c8ff98cf61d474bdc4ddbb3873592bae7fbfd9f4551 SHA512 b6440069f895b4d5360dec283faef3b6d3b3d65e7b895d8f8bcc2c7106d19db75ebede53ca8e0e67adf63af73ed54ca4efbc1c58b317dbfa27ed2050e175bde3
+EBUILD vdradmin-am-3.6.10-r2.ebuild 4757 BLAKE2B 30e79cd4044858596fa425eddf3658891b07037117563dee68ba536ac214a18a9e0ddf9d3ff58be5722e7ca97da4bdfef9ccffe81a777011cb964085df22b36b SHA512 f851a6898cfb8c410b1245e312476946770d20bbdfb9761742f0e2c6049732bd425c3b2630aa827073a5f928ffee361cbba3978b8ad20514be044b51d6d1614e
+MISC metadata.xml 477 BLAKE2B 082ad4f53e9c433ebb519be1cba7b079d1372d8b18b169092f4dd17cea14c4be99f4a3ca49934305817a45ca8208c079c85fe4d9bb0ba3c9cfb4754b02dec9c1 SHA512 9d317606d6f1dde6af151f99db3e0a119a47e2a6816da518a343777980236f93942e8fc3694fb5f80ad6a1c6b6e4b9d81064dbb7b2bfe4694a65fbd05cf9ac8f
diff --git a/www-misc/vdradmin-am/files/vdradmin-3.6.6.conf b/www-misc/vdradmin-am/files/vdradmin-3.6.6.conf
deleted file mode 100644
index fe6efecbab89..000000000000
--- a/www-misc/vdradmin-am/files/vdradmin-3.6.6.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-# 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/vdradmind.service b/www-misc/vdradmin-am/files/vdradmind.service
index c7cd8752b3d6..ef4dc4dada15 100644
--- a/www-misc/vdradmin-am/files/vdradmind.service
+++ b/www-misc/vdradmin-am/files/vdradmind.service
@@ -6,8 +6,6 @@ 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
index 984a01fab265..cd73dfdd5965 100644
--- a/www-misc/vdradmin-am/metadata.xml
+++ b/www-misc/vdradmin-am/metadata.xml
@@ -1,6 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>martin.dummer@gmx.net</email>
+ <name>Martin Dummer</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<maintainer type="project">
<email>vdr@gentoo.org</email>
<name>Gentoo VDR Project</name>
diff --git a/www-misc/vdradmin-am/vdradmin-am-3.6.10-r2.ebuild b/www-misc/vdradmin-am/vdradmin-am-3.6.10-r2.ebuild
new file mode 100644
index 000000000000..54754bdb1bf8
--- /dev/null
+++ b/www-misc/vdradmin-am/vdradmin-am-3.6.10-r2.ebuild
@@ -0,0 +1,187 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit ssl-cert systemd tmpfiles
+
+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="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ipv6 ssl systemd"
+
+DEPEND="
+ acct-group/vdradmin
+ acct-user/vdradmin
+ dev-lang/perl
+ dev-perl/Authen-SASL
+ dev-perl/CGI
+ dev-perl/Digest-HMAC
+ 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/IO-Socket-SSL )
+ systemd? ( sys-apps/systemd )
+"
+RDEPEND="${DEPEND}"
+
+ETC_DIR="/etc/vdradmin"
+CERTS_DIR="/etc/vdradmin/certs"
+LIB_DIR="/usr/share/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
+}
+
+src_unpack() {
+ unpack ${A}
+ cp "${FILESDIR}"/vdradmind.service "${WORKDIR}"/vdradmind.service
+}
+
+src_prepare() {
+ default
+
+ 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 || die
+ fi
+
+ if use ssl; then
+ sed -e "s|/usr/bin/vdradmind|/usr/bin/vdradmind --ssl|" \
+ -i "${WORKDIR}"/vdradmind.service || die
+ fi
+}
+
+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
+
+ 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/*
+
+ 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
+}
+
+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 = "${EROOT}"/etc/vdr
+ VIDEODIR = "${EROOT}"/var/vdr/video
+ EPG_FILENAME = "${EROOT}"/var/vdr/video/epg.data
+ EPGIMAGES = "${EROOT}"/var/vdr/video/epgimages
+ PASSWORD = gentoo-vdr
+ USERNAME = gentoo-vdr
+ 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
+ if ! use systemd; then
+ elog
+ elog "To make use of the ipv6 protocol"
+ elog "you need to enable it in ${EROOT}/etc/conf.d/vdradmin"
+ fi
+ fi
+
+ if use ssl; then
+ if ! use systemd; then
+ elog
+ elog "To use ssl connection to your vdr"
+ elog "you need to enable it in ${EROOT}/etc/conf.d/vdradmin"
+ fi
+
+ if [[ ! -f "${EROOT}"${CERTS_DIR}/server-cert.pem || \
+ ! -f "${EROOT}"${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 "${EROOT}"${CERTS_DIR}/server-key.pem || die
+ install -D -m 0444 -o ${VDRADMIN_USER} -g ${VDRADMIN_GROUP} \
+ "${base}".crt "${EROOT}"${CERTS_DIR}/server-cert.pem || die
+ fi
+ fi
+
+ elog
+ elog "To extend ${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
+}