app-misc/chkcrontab: migrate to PEP517 build

Closes: https://bugs.gentoo.org/909878
Signed-off-by: Tomáš Mózes <hydrapolic@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35668
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Tomáš Mózes 2024-03-08 13:05:33 +00:00 committed by Michał Górny
parent e3bf1f5679
commit ae15b23358
No known key found for this signature in database
GPG Key ID: 639ADAE2329E240E
3 changed files with 68 additions and 0 deletions

View File

@ -0,0 +1,33 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="A tool to detect crontab errors"
HOMEPAGE="https://github.com/lyda/chkcrontab"
SRC_URI="https://github.com/lyda/chkcrontab/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}/${PN}-man.patch"
"${FILESDIR}/${PN}-py312.patch"
)
python_prepare_all() {
distutils-r1_python_prepare_all
sed -i 's/assertEquals/assertEqual/g' tests/test_check.py || die
}
python_install_all() {
doman doc/${PN}.1
distutils-r1_python_install_all
}

View File

@ -0,0 +1,12 @@
diff --git a/setup.py b/setup.py
index df72a6a..b2082c6 100755
--- a/setup.py
+++ b/setup.py
@@ -143,6 +143,7 @@ class InstallCmd(install):
def run(self):
install.run(self)
+ return
manpages = ['doc/chkcrontab.1']
if self.manprefix:
for manpage in manpages:

View File

@ -0,0 +1,23 @@
# https://github.com/gregorg/chkcrontab/pull/1
diff --git a/chkcrontab_lib.py b/chkcrontab_lib.py
index 57a7c1f..6334a77 100755
--- a/chkcrontab_lib.py
+++ b/chkcrontab_lib.py
@@ -822,12 +822,12 @@ def ParseLine(self, line, options ):
Returns:
A CronLine* class (must have a ValidateAndLog method).
"""
- chkcrontab_cmd = re.compile('##*\s*chkcrontab:\s*(.*)=(.*)')
- assignment_line_re = re.compile('[a-zA-Z_][a-zA-Z0-9_]*\s*=(.*)')
- at_line_re = re.compile('@(\S+)\s+(\S+)\s+(.*)')
- cron_time_field_re = '[\*0-9a-zA-Z,/-]+'
+ chkcrontab_cmd = re.compile(r'##*\s*chkcrontab:\s*(.*)=(.*)')
+ assignment_line_re = re.compile(r'[a-zA-Z_][a-zA-Z0-9_]*\s*=(.*)')
+ at_line_re = re.compile(r'@(\S+)\s+(\S+)\s+(.*)')
+ cron_time_field_re = r'[\*0-9a-zA-Z,/-]+'
time_field_job_line_re = re.compile(
- '^\s*(%s)\s+(%s)\s+(%s)\s+(%s)\s+(%s)\s+(\S+)\s+(.*)' %
+ r'^\s*(%s)\s+(%s)\s+(%s)\s+(%s)\s+(%s)\s+(\S+)\s+(.*)' %
(cron_time_field_re, cron_time_field_re, cron_time_field_re,
cron_time_field_re, cron_time_field_re))