public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Aaron Bauman" <bman@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/syslog-summary/, app-admin/syslog-summary/files/
Date: Mon, 31 Aug 2020 17:16:01 +0000 (UTC)	[thread overview]
Message-ID: <1598894147.fc2ed88084be5fa1595ab7562f1eb6ef8475e5b6.bman@gentoo> (raw)

commit:     fc2ed88084be5fa1595ab7562f1eb6ef8475e5b6
Author:     Paul Healy <lmiphay <AT> gmail <DOT> com>
AuthorDate: Mon Aug 31 09:10:39 2020 +0000
Commit:     Aaron Bauman <bman <AT> gentoo <DOT> org>
CommitDate: Mon Aug 31 17:15:47 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc2ed880

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 <AT> gmail.com>
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org>

 .../files/syslog-summary-1.14-py3.patch            | 142 +++++++++++++++++++++
 .../syslog-summary/syslog-summary-1.14-r5.ebuild   |  46 +++++++
 2 files changed, 188 insertions(+)

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
+}


             reply	other threads:[~2020-08-31 17:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-31 17:16 Aaron Bauman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-06-28 10:41 [gentoo-commits] repo/gentoo:master commit in: app-admin/syslog-summary/, app-admin/syslog-summary/files/ Joonas Niilola
2019-11-12  5:36 Joonas Niilola

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1598894147.fc2ed88084be5fa1595ab7562f1eb6ef8475e5b6.bman@gentoo \
    --to=bman@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox