From c8d60dada2ec8eb48b2d2b290cd6683ccec40e39 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Feb 2021 21:41:11 +0000 Subject: gentoo (valentine's day) resync : 14.02.2021 --- www-misc/Manifest.gz | Bin 3087 -> 3086 bytes www-misc/buku/Manifest | 3 +- www-misc/buku/buku-4.5.ebuild | 15 +- www-misc/buku/files/buku-4.5-hypothesis-fix.patch | 494 ++++++++++++++++++++++ www-misc/monitorix/Manifest | 2 + www-misc/monitorix/monitorix-3.13.1.ebuild | 91 ++++ www-misc/vdradmin-am/Manifest | 6 +- www-misc/vdradmin-am/files/vdradmin-3.6.6.conf | 26 -- www-misc/vdradmin-am/files/vdradmind.service | 2 - www-misc/vdradmin-am/metadata.xml | 8 + www-misc/vdradmin-am/vdradmin-am-3.6.10-r2.ebuild | 187 ++++++++ 11 files changed, 799 insertions(+), 35 deletions(-) create mode 100644 www-misc/buku/files/buku-4.5-hypothesis-fix.patch create mode 100644 www-misc/monitorix/monitorix-3.13.1.ebuild delete mode 100644 www-misc/vdradmin-am/files/vdradmin-3.6.6.conf create mode 100644 www-misc/vdradmin-am/vdradmin-am-3.6.10-r2.ebuild (limited to 'www-misc') diff --git a/www-misc/Manifest.gz b/www-misc/Manifest.gz index d809fa4154ab..123afb19e149 100644 Binary files a/www-misc/Manifest.gz and b/www-misc/Manifest.gz 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 +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 +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 +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 +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 +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 +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 +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 +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 @@ + + martin.dummer@gmx.net + Martin Dummer + + + proxy-maint@gentoo.org + Proxy Maintainers + vdr@gentoo.org Gentoo VDR Project 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 +} -- cgit v1.2.3