summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Healy <lmiphay@gmail.com>2020-08-31 10:10:39 +0100
committerAaron Bauman <bman@gentoo.org>2020-08-31 13:15:47 -0400
commitfc2ed88084be5fa1595ab7562f1eb6ef8475e5b6 (patch)
tree0e7508a327718d662ffca35f306d0b86d1c1e3ef /app-admin
parentnet-dns/unbound: x86 stable (bug #739690) (diff)
downloadgentoo-fc2ed88084be5fa1595ab7562f1eb6ef8475e5b6.tar.gz
gentoo-fc2ed88084be5fa1595ab7562f1eb6ef8475e5b6.tar.bz2
gentoo-fc2ed88084be5fa1595ab7562f1eb6ef8475e5b6.zip
app-admin/syslog-summary: port to py3
Backport upstream py3 PR https://github.com/dpaleino/syslog-summary/pull/4 Remove py2 support Bug: https://bugs.gentoo.org/735202 Signed-off-by: Paul Healy <lmiphay@gmail.com> Signed-off-by: Aaron Bauman <bman@gentoo.org>
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/syslog-summary/files/syslog-summary-1.14-py3.patch142
-rw-r--r--app-admin/syslog-summary/syslog-summary-1.14-r5.ebuild46
2 files changed, 188 insertions, 0 deletions
diff --git a/app-admin/syslog-summary/files/syslog-summary-1.14-py3.patch b/app-admin/syslog-summary/files/syslog-summary-1.14-py3.patch
new file mode 100644
index 00000000000..945c7ce290b
--- /dev/null
+++ b/app-admin/syslog-summary/files/syslog-summary-1.14-py3.patch
@@ -0,0 +1,142 @@
+diff --git a/syslog-summary b/syslog-summary
+index abf6381..a658c14 100755
+--- a/syslog-summary
++++ b/syslog-summary
+@@ -35,6 +35,8 @@ Lars Wirzenius <liw@iki.fi>
+ Tommi Virtanen <tv@debian.org>
+ David Paleino <d.paleino@gmail.com>"""
+
++from __future__ import print_function
++
+ version = "1.14"
+
+ import sys, re, getopt, string
+@@ -62,7 +64,7 @@ def io_error(err, filename, die=True):
+ if die:
+ traceback.print_exc(file=sys.stderr)
+ else:
+- print "[E] %s [%s(%s) - %s]" % (os.strerror(num), errno.errorcode[num], num, filename)
++ print("[E] %s [%s(%s) - %s]" % (os.strerror(num), errno.errorcode[num], num, filename))
+
+ if die:
+ sys.exit(1)
+@@ -72,7 +74,7 @@ def read_patterns(filename):
+ pats = []
+ try:
+ f = open(filename, "r")
+- except IOError, e:
++ except IOError as e:
+ io_error(e, filename, False)
+ return []
+ for line in f:
+@@ -91,7 +93,7 @@ def read_states(filename):
+ return states
+ try:
+ f = open(filename, "r")
+- except IOError, e:
++ except IOError as e:
+ io_error(e, filename, False)
+ return states
+ for line in f:
+@@ -105,9 +107,9 @@ def save_states(filename, states):
+ return
+ try:
+ f = open(filename, "w")
+- except IOError, e:
++ except IOError as e:
+ io_error(e, filename, True)
+- for filename in states.keys():
++ for filename in list(states.keys()):
+ value = states[filename]
+ f.write("%s %d %s\n" % (filename, value[0], value[1]))
+ f.close()
+@@ -123,7 +125,7 @@ def split_date(line):
+ m = pat.match(line)
+ if m:
+ return line[:m.end()], line[m.end():]
+- print "line has bad date", "<" + string.rstrip(line) + ">"
++ print("line has bad date", "<" + string.rstrip(line) + ">")
+ return None, line
+
+ def is_gzipped(filename):
+@@ -152,7 +154,7 @@ def summarize(filename, states):
+ order = []
+ ignored_count = 0
+ if not QUIET:
+- print "Summarizing %s" % filename
++ print("Summarizing %s" % filename)
+
+ # If the file is a gzipped log, open it
+ # using the proper function from the gzip
+@@ -162,7 +164,7 @@ def summarize(filename, states):
+ file = gzopen(filename, "rb")
+ else:
+ file = open(filename, "r")
+- except IOError, e:
++ except IOError as e:
+ io_error(e, filename, True)
+
+ linecount = 0
+@@ -170,7 +172,7 @@ def summarize(filename, states):
+ shaobj = sha1()
+ if filename in states:
+ oldlines, oldsha = states[filename]
+- for i in xrange(oldlines):
++ for i in range(oldlines):
+ line = file.readline()
+ shaobj.update(line)
+ # print "OLD-new: %s" % shaobj.hexdigest()
+@@ -182,7 +184,7 @@ def summarize(filename, states):
+ else:
+ linecount = oldlines
+ if not QUIET:
+- print "%8d Lines skipped (already processed)" % linecount
++ print("%8d Lines skipped (already processed)" % linecount)
+
+ line = file.readline()
+ previous = None
+@@ -190,13 +192,13 @@ def summarize(filename, states):
+ foo=0
+ while line:
+ # foo+=1
+- shaobj.update(line)
++ shaobj.update(line.encode())
+ linecount += 1
+
+ if should_be_ignored(line):
+ ignored_count += 1
+ if DEBUG:
+- print "Ignoring: %s" % line
++ print("Ignoring: %s" % line)
+ line = file.readline()
+
+ date, rest = split_date(line)
+@@ -213,7 +215,7 @@ def summarize(filename, states):
+ count = int(repeated.group(1))
+ rest = previous
+
+- if counts.has_key(rest):
++ if rest in counts:
+ counts[rest] = counts[rest] + count
+ else:
+ assert count == 1
+@@ -233,14 +235,14 @@ def summarize(filename, states):
+ # print states
+
+ if QUIET and order:
+- print "Summarizing %s" % filename
++ print("Summarizing %s" % filename)
+ if not QUIET or order:
+- print "%8d Patterns to ignore" % len(ignore_pats)
+- print "%8d Ignored lines" % ignored_count
++ print("%8d Patterns to ignore" % len(ignore_pats))
++ print("%8d Ignored lines" % ignored_count)
+ for rest in order:
+- print "%8d %s" % (counts[rest], rest),
++ print("%8d %s" % (counts[rest], rest), end='')
+ if not QUIET or order:
+- print
++ print()
+
+ def main():
+ global ignore_pats, IGNORE_FILENAME, STATE_FILENAME, REPEAT, QUIET, DEBUG
diff --git a/app-admin/syslog-summary/syslog-summary-1.14-r5.ebuild b/app-admin/syslog-summary/syslog-summary-1.14-r5.ebuild
new file mode 100644
index 00000000000..e34fa9528f0
--- /dev/null
+++ b/app-admin/syslog-summary/syslog-summary-1.14-r5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit python-single-r1
+
+DESCRIPTION="Summarizes the contents of a syslog log file"
+HOMEPAGE="https://github.com/dpaleino/syslog-summary"
+SRC_URI="https://github.com/downloads/dpaleino/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND=""
+RDEPEND="${PYTHON_DEPS}"
+
+PATCHES=( \
+ "${FILESDIR}/${P}-fix-ignore-code.patch" \
+ "${FILESDIR}/${P}-remove-file-magic.patch" \
+ "${FILESDIR}/${P}-py3.patch" \
+ )
+
+src_prepare() {
+ python_fix_shebang -f syslog-summary
+
+ # Sadly, the makefile is useless for us.
+ rm Makefile || die
+
+ default
+}
+
+src_install() {
+ dobin syslog-summary
+ einstalldocs
+ doman syslog-summary.1
+
+ insinto /etc/syslog-summary
+ doins ignore.rules
+}