From b1bf28305358518dea966fd38c1fa0540d3e68c7 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Thu, 19 Aug 2021 21:14:45 +0200 Subject: [PATCH] Add a console script for verify-rpm This makes it possible to use the verification script from the console. Signed-off-by: Patrick Uiterwijk --- python-rpm-head-signing.spec | 2 ++ verify_rpm.py => rpm_head_signing/verify_rpm.py | 6 +++++- setup.py | 5 +++++ test.py | 10 +++++----- 4 files changed, 17 insertions(+), 6 deletions(-) rename verify_rpm.py => rpm_head_signing/verify_rpm.py (99%) diff --git a/python-rpm-head-signing.spec b/python-rpm-head-signing.spec index 9adf00f..36c1953 100644 --- a/python-rpm-head-signing.spec +++ b/python-rpm-head-signing.spec @@ -139,6 +139,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} SKIP_IMA_LIVE_CHECK=true python3 test %license LICENSE %{python2_sitearch}/%{srcname}/ %{python2_sitearch}/%{srcname}-%{version}-py%{python2_version}.egg-info/ +%{_bindir}/verify-rpm-ima-signatures %endif %if %{with python3} @@ -146,6 +147,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} SKIP_IMA_LIVE_CHECK=true python3 test %license LICENSE %{python3_sitearch}/%{srcname}/ %{python3_sitearch}/%{srcname}-%{version}-py%{python3_version}.egg-info/ +%{_bindir}/verify-rpm-ima-signatures %endif diff --git a/verify_rpm.py b/rpm_head_signing/verify_rpm.py similarity index 99% rename from verify_rpm.py rename to rpm_head_signing/verify_rpm.py index 4c2fd66..55cc74f 100755 --- a/verify_rpm.py +++ b/rpm_head_signing/verify_rpm.py @@ -191,7 +191,7 @@ def manual_sigcheck(file_path, correct_keyid, pubkey): ) -if __name__ == "__main__": +def __main__(): args = get_args().parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) @@ -199,3 +199,7 @@ def manual_sigcheck(file_path, correct_keyid, pubkey): logging.basicConfig(level=logging.INFO) if not main(args): raise Exception("At least one exception was thrown during validation") + + +if __name__ == "__main__": + __main__() diff --git a/setup.py b/setup.py index 34c619a..12f9eaa 100644 --- a/setup.py +++ b/setup.py @@ -38,4 +38,9 @@ "rpm", "pyxattr", ], + entry_points={ + "console_scripts": [ + "verify-rpm-ima-signatures=rpm_head_signing.verify_rpm:__main__", + ], + }, ) diff --git a/test.py b/test.py index 5bb0a4b..de6e734 100644 --- a/test.py +++ b/test.py @@ -7,7 +7,7 @@ import unittest import rpm_head_signing -import verify_rpm +import rpm_head_signing.verify_rpm class TestRpmHeadSigning(unittest.TestCase): @@ -179,8 +179,8 @@ def test_verify_rpm(self): args = self._get_verify_rpm_args() args.extend([os.path.join(self.asset_dir, "testpkg-1.rpm")]) - args = verify_rpm.get_args().parse_args(args) - self.assertFalse(verify_rpm.main(args)) + args = rpm_head_signing.verify_rpm.get_args().parse_args(args) + self.assertFalse(rpm_head_signing.verify_rpm.main(args)) def test_insert_ima_valgrind_normal(self): self._test_insert_ima_valgrind("normal", "15f712be") @@ -305,8 +305,8 @@ def _ima_insertion_test(self, insert_command, rpm_keyid, nonhdrsigned=False): args = self._get_verify_rpm_args() args.extend(rpm_paths) - args = verify_rpm.get_args().parse_args(args) - self.assertTrue(verify_rpm.main(args)) + args = rpm_head_signing.verify_rpm.get_args().parse_args(args) + self.assertTrue(rpm_head_signing.verify_rpm.main(args)) def _get_verify_rpm_args(self): args = []