[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2022-07-16 Thread Mart Raudsepp
commit: 743be09bb789efe8423411e3e369ebaf10f8739e
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Sat Jul 16 20:15:31 2022 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Sat Jul 16 20:16:00 2022 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=743be09b

gnome: Rename "Portage Version" header to "Gentoo Version"

Signed-off-by: Mart Raudsepp  gentoo.org>

 modules/gnome_output.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gnome_output.py b/modules/gnome_output.py
index d406d16..407d213 100644
--- a/modules/gnome_output.py
+++ b/modules/gnome_output.py
@@ -71,7 +71,7 @@ class Output:
 
 lines.append('')
 lines.append('')
-lines.append("Package NamePortage 
VersionOfficial VersionLatest Version")
+lines.append("Package NameGentoo VersionOfficial 
VersionLatest Version")
 lines.append('')
 
 current_suite = None



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2022-03-26 Thread Matt Turner
commit: a741869b2a6e19cd3daac3c903a6fc31c8e1342c
Author: Matt Turner  gentoo  org>
AuthorDate: Sun Mar 27 04:48:35 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sun Mar 27 04:48:35 2022 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=a741869b

Map gtksourceview to gui-libs/gtksourceview

Signed-off-by: Matt Turner  gentoo.org>

 modules/package_module.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/package_module.py b/modules/package_module.py
index ad78eec..f593c10 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -24,6 +24,7 @@ class Package(object):
 "gtk-theme-engine-clearlooks": "gtk-engines-clearlooks",
 "gom":"dev-libs/gom",
 "gnome-themes-extra":"gnome-themes-standard",
+"gtksourceview":"gui-libs/gtksourceview",
 # Perl package mappings
 'Glib'  : 'dev-perl/glib-perl',
 'Gnome2-Canvas' : 'dev-perl/gnome2-canvas',



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2021-12-11 Thread Mart Raudsepp
commit: 99858410eb2f1de5ac5926a52acb8ff94578b861
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Sat Dec 11 22:11:11 2021 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Sat Dec 11 22:11:11 2021 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=99858410

Add support for GNOME 40 in "Latest Version" column

Signed-off-by: Mart Raudsepp  gentoo.org>

 modules/gnome_module.py | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 7280a16..a66d305 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -101,11 +101,15 @@ class GNOME:
 if data[0] != 4:
 print("Warning: unknown cache.json version for package %s" % 
name)
 continue
-if pkg.major_minor not in data[3]:
-print("Warning: can't find latest version for %s-%s" % (name, 
pkg.major_minor))
-continue
 major_minor = pkg.major_minor
-if pkg.major != "0" and pkg.minor.isdigit() and int(pkg.minor) % 2 
and "%s.%d" % (pkg.major, int(pkg.minor)+1) in data[3]:
+new_versioning = False
+if major_minor not in data[3]:
+major_minor = pkg.major
+new_versioning = True
+if major_minor not in data[3]:
+print("Warning: can't find latest version for %s-%s" % 
(name, pkg.major_minor))
+continue
+if not new_versioning and pkg.major != "0" and pkg.minor.isdigit() 
and int(pkg.minor) % 2 and "%s.%d" % (pkg.major, int(pkg.minor)+1) in data[3]:
 major_minor = "%s.%d" % (pkg.major, int(pkg.minor)+1)
 latest = False
 # Some modules contain more than LATEST-IS-* for some reason, so 
we need to iterate and find the correct item instead of [0] (even though it is 
firsy always, but lets be future-proof)



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/, /

2021-04-14 Thread Matt Turner
commit: 701905938a3b7fad11589830cc36c60775244bf4
Author: Matt Turner  gentoo  org>
AuthorDate: Wed Apr 14 22:56:58 2021 +
Commit: Matt Turner  gentoo  org>
CommitDate: Wed Apr 14 22:57:33 2021 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=70190593

Fix some bad Python

Signed-off-by: Matt Turner  gentoo.org>

 gnome-bumpchecker.py |  4 ++--
 modules/clioptions_module.py |  2 +-
 modules/gnome_module.py  |  8 
 modules/xmodular_module.py   | 12 ++--
 x-modular-bumpchecker.py |  2 +-
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/gnome-bumpchecker.py b/gnome-bumpchecker.py
index c14694f..6aa2470 100755
--- a/gnome-bumpchecker.py
+++ b/gnome-bumpchecker.py
@@ -12,7 +12,7 @@ version = "0.0.2"
 if __name__ == '__main__':
 import clioptions_module
 options = clioptions_module.Options()
-if (options.options.release_number == None):
+if options.options.release_number is None:
 options.parser.error("No revision")
 
 # generate 2 lists.
@@ -53,5 +53,5 @@ if __name__ == '__main__':
 # if we specified to generate a keywords file, generate it
 # keep in mind this will do it for the versions in portage, which
 # may not be the release versions if we are not up to date.
-if True == options.get_arguments().keywords:
+if options.get_arguments().keywords:
 gnome_output.Output(packages_in_portage, False).generate_keywords()

diff --git a/modules/clioptions_module.py b/modules/clioptions_module.py
index b56da67..146a788 100644
--- a/modules/clioptions_module.py
+++ b/modules/clioptions_module.py
@@ -42,6 +42,6 @@ class Options:
help="Force considering stable versions as latest 
available in Gentoo for the GNOME module.")
 
 def get_arguments(self):
-if (self.options.output == None):
+if self.options.output is None:
 self.parser.error("No output file")
 return self.options

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 7a2f5ed..7280a16 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -144,12 +144,12 @@ def compare_packages(release_packages, latest_packages, 
packages_in_portage):
 color = None
 release_package = package
 latest_package = portage_module.findpackage(package.name, 
latest_packages)
-if latest_package == None:
+if latest_package is None:
 print("Warning: latest packages set does not have an entry for %s, 
using release set version %s." % (package.name, package.version))
 latest_package = package
 portage_package = portage_module.findpackage(package.name, 
packages_in_portage)
 
-if portage_package == None:
+if portage_package is None:
 status = package_module.Status.NotFound
 # we need to create a phony package since findpackage
 # returns None
@@ -166,10 +166,10 @@ def compare_packages(release_packages, latest_packages, 
packages_in_portage):
 else:
 status = package_module.Status.Compliant
 
-#if portage_package != None:
+#if portage_package is not None:
 
 # FIXME: Reports release version as latest version to not have to deal 
with this right now
-if latest_package == None:
+if latest_package is None:
 print("No latest version known for %s, FIXME!" % 
release_package.name)
 latest_package = release_package
 

diff --git a/modules/xmodular_module.py b/modules/xmodular_module.py
index abd8de8..2d56630 100644
--- a/modules/xmodular_module.py
+++ b/modules/xmodular_module.py
@@ -107,7 +107,7 @@ class X_modular:
 else:
 loc_subsubminor = int(paclist.version.split(".")[3])
 
-if snapshots == "false" and ( ( loc_major > 98 or loc_minor > 
98 or loc_subminor > 98 or loc_subsubminor > 98 ) or ( name == "pixman" and  
self.is_prvocislo(loc_minor) == True ) ):
+if snapshots == "false" and ( ( loc_major > 98 or loc_minor > 
98 or loc_subminor > 98 or loc_subsubminor > 98 ) or ( name == "pixman" and  
self.is_prvocislo(loc_minor) ) ):
 continue
 # Debuging why some package does not show correct version...
 #if name == "xkeyboard-config":
@@ -175,14 +175,14 @@ def compare_packages(release_packages, latest_packages, 
packages_in_portage, sta
 portage_package = portage_module.findpackage(package.name, 
packages_in_portage)
 stable_portage_package = portage_module.findpackage(package.name, 
stable_packages_in_portage)
 
-if stable_portage_package == None and portage_package == None:
+if stable_portage_package is None and portage_package is None:
 status = package_module.Status.NotFound
 stable_portage_package = package_module.Package(package.name)
 portage_package = 

[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2021-04-14 Thread Matt Turner
commit: 3f300c8204a90fdbe3f9cee98b16d880dc5442e7
Author: Matt Turner  gentoo  org>
AuthorDate: Wed Apr 14 22:52:27 2021 +
Commit: Matt Turner  gentoo  org>
CommitDate: Wed Apr 14 22:57:33 2021 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=3f300c82

Add support for GNOME 40

Signed-off-by: Matt Turner  gentoo.org>

 modules/gnome_module.py | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 7ef3b12..7a2f5ed 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -28,6 +28,13 @@ name_mapping = {
 "gnome-themes-standard": "gnome-themes-extra",
 }
 
+# Turns GNOME versions (40.beta) into the PMS version format (40_beta)
+def normalize_version(version: str) -> str:
+if version.endswith(('.rc', '.beta', '.alpha')):
+i = version.rindex('.')
+return f"{version[:i]}_{version[i + 1:]}"
+return version
+
 class GNOME:
 def __init__(self, nextrev=False):
 options = clioptions_module.Options()
@@ -40,7 +47,7 @@ class GNOME:
 # gnome_release is the major release number the development is leading 
up to or is part of. E.g, 2.21.5 will turn to 2.22 and 2.22.2 becomes 2.22
 # This is used in latest versions list fetching URL construction
 gnome_release_list = args.release_number.split(".")
-if int(gnome_release_list[1]) % 2 != 0:
+if int(gnome_release_list[0]) < 40 and int(gnome_release_list[1]) % 2 
!= 0:
 gnome_release_list[1] = str(int(gnome_release_list[1]) + 1)
 self.gnome_release = ".".join(gnome_release_list[:2])
 
@@ -64,7 +71,7 @@ class GNOME:
 # Skip invalid lines
 if len(components) != 4 or len(components[2]) == 0:
 continue
-pkg = package_module.Package(components[1] + "-" + components[2], 
suite=components[0])
+pkg = package_module.Package(components[1] + "-" + 
normalize_version(components[2]), suite=components[0])
 if (pkg.name and pkg.version):
 ret.append(pkg)
 else:
@@ -109,7 +116,7 @@ class GNOME:
 if not latest:
 print("Warning: couldn't find latest version from within 
cache.json[3]")
 continue
-latest_pkg = package_module.Package(name + "-" + latest)
+latest_pkg = package_module.Package(name + "-" + 
normalize_version(latest))
 if pkg.name and pkg.version:
 ret.append(latest_pkg)
 else:



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2021-04-14 Thread Matt Turner
commit: a9708d1acbd0fa5c3c54b2db65e163053ed18245
Author: Matt Turner  gentoo  org>
AuthorDate: Wed Apr 14 21:25:20 2021 +
Commit: Matt Turner  gentoo  org>
CommitDate: Wed Apr 14 22:57:33 2021 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=a9708d1a

Add mapping for gui-libs/gtk

Signed-off-by: Matt Turner  gentoo.org>

 modules/package_module.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/package_module.py b/modules/package_module.py
index 5551f60..ad78eec 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -35,6 +35,7 @@ class Package(object):
 'Pango' : 'dev-perl/Pango',
 # Haskell mess
 "glib":"dev-libs/glib",
+"gtk":"gui-libs/gtk",
 "pango":"x11-libs/pango",
 "gstreamer":"media-libs/gstreamer",
 "vte":"x11-libs/vte",



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2019-08-24 Thread Mart Raudsepp
commit: 652b08999ccc382dcbcfb647eb0ce92060488ae0
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Sat Aug 24 16:37:38 2019 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Sat Aug 24 16:37:38 2019 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=652b0899

gnome: Map gnome-themes-extra to gnome-themes-standard for now

We haven't done a pkgmove yet, so map them up for the time being.

 modules/gnome_module.py   | 1 +
 modules/package_module.py | 1 +
 2 files changed, 2 insertions(+)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 22ab10a..7ef3b12 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -25,6 +25,7 @@ name_mapping = {
 "libgfbgraph": "gfbgraph",
 "nm-applet": "network-manager-applet",
 "networkmanager": "NetworkManager",
+"gnome-themes-standard": "gnome-themes-extra",
 }
 
 class GNOME:

diff --git a/modules/package_module.py b/modules/package_module.py
index a7b5126..5551f60 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -23,6 +23,7 @@ class Package(object):
 "NetworkManager": "networkmanager",
 "gtk-theme-engine-clearlooks": "gtk-engines-clearlooks",
 "gom":"dev-libs/gom",
+"gnome-themes-extra":"gnome-themes-standard",
 # Perl package mappings
 'Glib'  : 'dev-perl/glib-perl',
 'Gnome2-Canvas' : 'dev-perl/gnome2-canvas',



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2019-03-26 Thread Mart Raudsepp
commit: 22171dc148f87e3d21219783db41521c0ac15323
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Mar 26 13:32:35 2019 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Mar 26 13:33:01 2019 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=22171dc1

gnome: Fix syntax error in a rare warning path message

Signed-off-by: Mart Raudsepp  gentoo.org>

 modules/gnome_module.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index a9fd306..22ab10a 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -94,7 +94,7 @@ class GNOME:
 print("Warning: unknown cache.json version for package %s" % 
name)
 continue
 if pkg.major_minor not in data[3]:
-print("Warning: can't find latest version for %s-%s" % (name, 
pkg.major-minor))
+print("Warning: can't find latest version for %s-%s" % (name, 
pkg.major_minor))
 continue
 major_minor = pkg.major_minor
 if pkg.major != "0" and pkg.minor.isdigit() and int(pkg.minor) % 2 
and "%s.%d" % (pkg.major, int(pkg.minor)+1) in data[3]:



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2019-01-15 Thread Mart Raudsepp
commit: e555b952ad38ba5dfb50e8453691d892b4d12454
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Wed Jan 16 00:20:38 2019 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Wed Jan 16 00:26:53 2019 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=e555b952

Add workaround for packages with only one version component

Signed-off-by: Mart Raudsepp  gentoo.org>

 modules/package_module.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/package_module.py b/modules/package_module.py
index e967973..a7b5126 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -88,7 +88,7 @@ class Package(object):
 
 @property
 def minor(self):
-return self.major_minor.split('.')[1]
+return self.major_minor.split('.')[1] if self.major_minor.find('.') != 
-1 else 'NONE' # TODO: workaround for gudev, refactor
 
 def print_info(self):
 print("Name: " + str(self.name))



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-10-31 Thread Mart Raudsepp
commit: 94555e919be9640aea08ad096c25cddf3f67a6d0
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Oct 31 23:09:58 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Oct 31 23:11:32 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=94555e91

gnome: Put "Stable" in the titles when it's a stable tree report

 modules/gnome_output.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/gnome_output.py b/modules/gnome_output.py
index 6f0f6be..d406d16 100644
--- a/modules/gnome_output.py
+++ b/modules/gnome_output.py
@@ -54,11 +54,11 @@ class Output:
 lines.append('http://www.w3.org/TR/html4/loose.dtd;>')
 lines.append("")
 lines.append('')
-lines.append('Gnome ' + 
clioptions_module.Options().get_arguments().release_number + ' 
Progress')
+lines.append('Gnome ' + 
clioptions_module.Options().get_arguments().release_number + (' Stable' if 
clioptions_module.Options().options.stable else '') + ' Progress')
 lines.append('')
 lines.append('')
 lines.append("")
-lines.append("Gnome " + 
clioptions_module.Options().get_arguments().release_number + " Progress")
+lines.append("Gnome " + 
clioptions_module.Options().get_arguments().release_number + (' Stable' if 
clioptions_module.Options().options.stable else '') + " Progress")
 lines.append("contact " + os.environ["USER"] + "@gentoo.org if 
anything is not correct")
 lines.append("Generated UTC date: " + current_time + "")
 



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: /, modules/

2017-10-31 Thread Mart Raudsepp
commit: e0500caab6def51bc04af43c9e17e5bba195d131
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Oct 31 22:54:35 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Oct 31 22:56:30 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=e0500caa

gnome: Add a hackish way to force looking at Gentoo stable tree only

The tree configuration seems to come from main make.conf right now, so until
(if ever) we rework that to be better (or be more like x-modular that handles
both at once), add an easy way to generate stable tree reports on ~arch
machines with the existing logic without having to edit make.conf for it.

This allows to see the stabilization status of the current GNOME stable series
in Gentoo via a report generated with -S argument against the appropriate 
version.

 gnome-bumpchecker.py | 3 ++-
 modules/clioptions_module.py | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnome-bumpchecker.py b/gnome-bumpchecker.py
index c9f6e55..c14694f 100755
--- a/gnome-bumpchecker.py
+++ b/gnome-bumpchecker.py
@@ -38,7 +38,8 @@ if __name__ == '__main__':
 portage_module.find_packages_in_tree(release_packages, \
 options.get_arguments().portdir, \
 options.get_arguments().all_overlays, \
-options.get_arguments().overlays)
+options.get_arguments().overlays, \
+options.options.stable)
 
 # compare the versions in order to check if we are up to date.
 comparison_result_packages = 
gnome_module.compare_packages(release_packages, \

diff --git a/modules/clioptions_module.py b/modules/clioptions_module.py
index 1175ac8..b56da67 100644
--- a/modules/clioptions_module.py
+++ b/modules/clioptions_module.py
@@ -37,6 +37,9 @@ class Options:
 self.parser.add_option("-a", "--overlay", metavar="OVERLAY",
action="append", dest="overlays", default=None,
help="Overlay to scan in addition to PORTDIR. 
Specify multiple times to scan more than one overlay.")
+self.parser.add_option("-S", "--stable",
+   action="store_true", dest="stable", default=False,
+   help="Force considering stable versions as latest 
available in Gentoo for the GNOME module.")
 
 def get_arguments(self):
 if (self.options.output == None):



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-20 Thread Mart Raudsepp
commit: e3e72ec761ab556f62b272a226b48726dab5cfde
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Mar 21 02:54:25 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Mar 21 02:54:25 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=e3e72ec7

gnome: Hack latest version to see newstable release when official version is 
still at release candidate

When running against e.g 3.23.92 release before a 3.24.0 versions file from 
gnome releng
exists to run against, we want to still see the 3.24.0 releases, should any 
exist. So hack
the logic to look into latest newstable version, if any exist, and the version 
is not a 0.x
(for which the gnome numbering might not follow odd-even nomenclature).
Without this all the 3.24.0 releases that are coming out on "tarballs due" date 
and the
preceeding weekend aren't seen by bumpchecker, as we don't have a 3.24.0 to -r 
 against.

 modules/gnome_module.py   | 5 -
 modules/package_module.py | 8 
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 38639ee..a9fd306 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -96,9 +96,12 @@ class GNOME:
 if pkg.major_minor not in data[3]:
 print("Warning: can't find latest version for %s-%s" % (name, 
pkg.major-minor))
 continue
+major_minor = pkg.major_minor
+if pkg.major != "0" and pkg.minor.isdigit() and int(pkg.minor) % 2 
and "%s.%d" % (pkg.major, int(pkg.minor)+1) in data[3]:
+major_minor = "%s.%d" % (pkg.major, int(pkg.minor)+1)
 latest = False
 # Some modules contain more than LATEST-IS-* for some reason, so 
we need to iterate and find the correct item instead of [0] (even though it is 
firsy always, but lets be future-proof)
-for tarball in data[3][pkg.major_minor]:
+for tarball in data[3][major_minor]:
 if tarball.startswith('LATEST-IS-'):
 latest = tarball[10:] # len('LATEST-IS-') == 10
 break

diff --git a/modules/package_module.py b/modules/package_module.py
index 30f79a2..e967973 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -82,6 +82,14 @@ class Package(object):
 def parse_mm(self, version):
 return '.'.join(version.split('.')[0:2])
 
+@property
+def major(self):
+return self.major_minor.split('.')[0]
+
+@property
+def minor(self):
+return self.major_minor.split('.')[1]
+
 def print_info(self):
 print("Name: " + str(self.name))
 print("Version: " + str(self.package_version))



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-20 Thread Mart Raudsepp
commit: 0ca25ccc1130b4a6c35f50f990cd2faa5a7f8fdc
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Mar 21 02:29:07 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Mar 21 02:29:07 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=0ca25ccc

gnome: Stop skipping mobile suite, as it doesn't exist anymore anyway

 modules/gnome_module.py | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 1780b92..38639ee 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -63,9 +63,6 @@ class GNOME:
 # Skip invalid lines
 if len(components) != 4 or len(components[2]) == 0:
 continue
-# Skip mobile stuff, because we don't care. And they are mostly 
dupes anyway
-if components[0] == 'mobile':
-continue
 pkg = package_module.Package(components[1] + "-" + components[2], 
suite=components[0])
 if (pkg.name and pkg.version):
 ret.append(pkg)



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-20 Thread Mart Raudsepp
commit: a5436eb581d92aebd3eb3535ed328a30bc4ac2a0
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Mar 21 02:26:55 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Mar 21 02:26:55 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=a5436eb5

gnome: add libgfbgraph reverse mapping as well

 modules/gnome_module.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index aaf5b5c..7f162dd 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -22,6 +22,7 @@ DEBUG = False
 # TODO: So this reverses it back again for the modules we care for this until 
a proper fix
 name_mapping = {
 "cantarell": "cantarell-fonts",
+"libgfbgraph": "gfbgraph",
 "nm-applet": "network-manager-applet",
 "networkmanager": "NetworkManager",
 }



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-20 Thread Mart Raudsepp
commit: 56b597912e36dce997598642465a2322e6b11c7d
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Mar 21 02:28:12 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Mar 21 02:28:12 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=56b59791

gnome: Track upstream core vs apps suite handling and show it in the output

 modules/gnome_module.py   | 4 ++--
 modules/gnome_output.py   | 4 
 modules/package_module.py | 6 --
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 7f162dd..1780b92 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -66,7 +66,7 @@ class GNOME:
 # Skip mobile stuff, because we don't care. And they are mostly 
dupes anyway
 if components[0] == 'mobile':
 continue
-pkg = package_module.Package(components[1] + "-" + components[2])
+pkg = package_module.Package(components[1] + "-" + components[2], 
suite=components[0])
 if (pkg.name and pkg.version):
 ret.append(pkg)
 else:
@@ -172,6 +172,6 @@ def compare_packages(release_packages, latest_packages, 
packages_in_portage):
  " | lp: " + str(latest_package.version) +
  " | status: " + str(status))
 
-
status_packages.append(package_module.PackageStatus(release_package.name, 
str(portage_package.version), str(release_package.version), 
str(latest_package.version), status))
+
status_packages.append(package_module.PackageStatus(release_package.name, 
str(portage_package.version), str(release_package.version), 
str(latest_package.version), status, suite=release_package.suite))
 
 return status_packages

diff --git a/modules/gnome_output.py b/modules/gnome_output.py
index 19b6da0..6f0f6be 100644
--- a/modules/gnome_output.py
+++ b/modules/gnome_output.py
@@ -74,8 +74,12 @@ class Output:
 lines.append("Package NamePortage 
VersionOfficial VersionLatest Version")
 lines.append('')
 
+current_suite = None
 # data
 for package in self.packages:
+if package.suite != current_suite:
+current_suite = package.suite
+lines.append('%s' % current_suite.capitalize())
 if package.status == package_module.Status.NeedUpdate:
 lines.append('') # "red"
 elif package.status == package_module.Status.Compliant:

diff --git a/modules/package_module.py b/modules/package_module.py
index 53e3018..30f79a2 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -39,8 +39,9 @@ class Package(object):
 "vte":"x11-libs/vte",
 }
 
-def __init__(self, raw_data):
+def __init__(self, raw_data, suite=None):
 self.raw_string = raw_data
+self.suite = suite
 
 self.name = None
 self.version = None
@@ -91,7 +92,7 @@ class Package(object):
 return self.name_plus_version
 
 class PackageStatus:
-def __init__(self, name, portage_version, gnome_version, latest_version, 
status, stable_version = False):
+def __init__(self, name, portage_version, gnome_version, latest_version, 
status, stable_version = False, suite=None):
 self.name = name
 if stable_version is not False:
 self.stable_version = stable_version
@@ -99,6 +100,7 @@ class PackageStatus:
 self.gnome_version = gnome_version
 self.latest_version = latest_version
 self.status = status
+self.suite = suite
 
 class Status(object):
 def Compliant(self):



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-20 Thread Mart Raudsepp
commit: 3e5d2a54b6774cb278b751546867498dab918879
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Mar 21 01:58:34 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Mar 21 01:58:34 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=3e5d2a54

gnome: Fix generation breaking typo in fallback codepath

 modules/gnome_module.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index e6544b6..aaf5b5c 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -87,7 +87,7 @@ class GNOME:
 if name in name_mapping:
 name = name_mapping[name]
 # pkg.requests_result is the resulting Response if 
parallel_requests else Future that we need to call result() on to wait/retrieve 
the response
-data = pkg.requests_result.result() if parallel_requests else 
pkg.requests_results
+data = pkg.requests_result.result() if parallel_requests else 
pkg.requests_result
 if not data:
 print("Warning: Unable to read cache.json for %s" % pkg.name)
 continue



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-20 Thread Mart Raudsepp
commit: a98ad730424c974125bc8f19f2920d8ab457e29d
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Tue Mar 21 01:58:57 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Tue Mar 21 01:58:57 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=a98ad730

gnome: map gfbgraph to our libgfbgraph

 modules/package_module.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/package_module.py b/modules/package_module.py
index e10e835..53e3018 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -10,6 +10,7 @@ import portage_module
 class Package(object):
 special_cases = {
 "cantarell-fonts":"cantarell",
+"gfbgraph":"libgfbgraph",
 "GConf":"gnome-base/gconf",
 "ORBit2":"orbit",
 "libidl":"libIDL",



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-20 Thread Mart Raudsepp
commit: 285a95500835248045b0736469e382a1f73fc6be
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Mon Mar 20 22:52:44 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Mon Mar 20 23:11:10 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=285a9550

gnome: make the cache.json requests parallel; reduces a run from 3m01 to 0m23 
for me

This relies on the requests-futures package, which in turn relies on 
python-3.2+ Futures
(or a backport of it). If requests-futures import fail, it will fall back to 
the old slower
fetching one by one.

 modules/gnome_module.py | 26 --
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index afba235..e6544b6 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -4,8 +4,16 @@
 # vim: set sts=4 sw=4 et tw=0 :
 
 import requests
+try:
+from requests_futures.sessions import FuturesSession
+parallel_requests = True
+except:
+print("requests-futures not found for parallel fetching - will fallback to 
slower one-by-one version retrieval for latest version")
+parallel_requests = False
+
 import package_module, clioptions_module
 
+MAX_WORKERS = 10
 DEBUG = False
 
 
@@ -34,12 +42,17 @@ class GNOME:
 gnome_release_list[1] = str(int(gnome_release_list[1]) + 1)
 self.gnome_release = ".".join(gnome_release_list[:2])
 
-self.http = requests.session()
+if parallel_requests:
+self.http = FuturesSession(max_workers=MAX_WORKERS)
+else:
+self.http = requests.session()
 self.url_base = "https://download.gnome.org/;
 self.release_versions_file_path = self.url_base + 'teams/releng/'
 
 def generate_data_from_versions_markup(self, url):
 data = self.http.get(url)
+if parallel_requests:
+data = data.result()
 if not data:
 raise ValueError("Couldn't open %s" % url)
 
@@ -61,11 +74,20 @@ class GNOME:
 
 def generate_data_individual(self, release_packages):
 ret = []
+# First query all results; if parallel_requests==True, this will run 
in parallel
+for pkg in release_packages:
+name = pkg.name.split('/')[-1]
+if name in name_mapping:
+name = name_mapping[name]
+pkg.requests_result = self.http.get(self.url_base + '/sources/' + 
name + '/cache.json')
+
+# And now handle the results - this is a separate loop for parallel 
fetch support
 for pkg in release_packages:
 name = pkg.name.split('/')[-1]
 if name in name_mapping:
 name = name_mapping[name]
-data = self.http.get(self.url_base + '/sources/' + name + 
'/cache.json')
+# pkg.requests_result is the resulting Response if 
parallel_requests else Future that we need to call result() on to wait/retrieve 
the response
+data = pkg.requests_result.result() if parallel_requests else 
pkg.requests_results
 if not data:
 print("Warning: Unable to read cache.json for %s" % pkg.name)
 continue



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: /, modules/

2017-03-20 Thread Mart Raudsepp
commit: 7e556e101024f201267b16e5120e9b76e62cdec9
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Mon Mar 20 22:02:14 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Mon Mar 20 22:17:13 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=7e556e10

gnome: Quick port to python3

Just what's necessary to get it going on python3 (just print changes and some 
bytes vs
str error) for now.

 gnome-bumpchecker.py  |  2 +-
 modules/ftp_module.py | 10 +-
 modules/gnome_module.py   | 20 ++--
 modules/gnome_output.py   |  4 ++--
 modules/package_module.py | 10 +-
 modules/portage_module.py | 10 +-
 6 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/gnome-bumpchecker.py b/gnome-bumpchecker.py
index c9656e9..c9f6e55 100755
--- a/gnome-bumpchecker.py
+++ b/gnome-bumpchecker.py
@@ -1,4 +1,4 @@
-#! /usr/bin/python2
+#!/usr/bin/env python3
 # Copyright John N. Laliberte 
 # Copyright Daniel Gryniewicz 
 # LICENSE - GPL2

diff --git a/modules/ftp_module.py b/modules/ftp_module.py
index 837624c..f3c5ea9 100644
--- a/modules/ftp_module.py
+++ b/modules/ftp_module.py
@@ -14,16 +14,16 @@ DEBUG = False
 class FTPWalker:
 def __init__(self, site, user, passwd):
 self.ftp = ftplib.FTP(site, user, passwd)
-if DEBUG: print "logged into ftp"
+if DEBUG: print("logged into ftp")
 
 def cd(self, path):
 try:
 self.ftp.cwd(path)
 #sys.stdout.write(".")
-if DEBUG: print "successfully changed path to " + path
+if DEBUG: print("successfully changed path to " + path)
 return True
 except:
-print "Directory does not exist " + path
+print("Directory does not exist " + path)
 return False
 
 def pwd(self):
@@ -46,7 +46,7 @@ class FTPWalker:
 name, symbolic = name.split("->")
 name = name.strip()
 symbolic = symbolic.strip()
-if DEBUG: print "Name of the file is: " + name
+if DEBUG: print("Name of the file is: " + name)
 
 return FileInformation(name, isdir)
 
@@ -88,7 +88,7 @@ def find_files(walker, dir, excluded_names, 
excluded_suffixes):
 
 for fileinfo in listSiteGen(walker, dir, excluded_names):
 #if not excluded( excluded_suffixes, fileinfo):
-if DEBUG: print "Appending: " + str(fileinfo.name)
+if DEBUG: print("Appending: " + str(fileinfo.name))
 file_listing.append(fileinfo.name)
 
 return file_listing

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 06fe6d8..afba235 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -44,8 +44,8 @@ class GNOME:
 raise ValueError("Couldn't open %s" % url)
 
 ret = []
-for line in data.iter_lines():
-components = str.strip(line).split(':')
+for line in data.text.splitlines():
+components = line.strip().split(':')
 # Skip invalid lines
 if len(components) != 4 or len(components[2]) == 0:
 continue
@@ -56,7 +56,7 @@ class GNOME:
 if (pkg.name and pkg.version):
 ret.append(pkg)
 else:
-print "Warning: Ignoring package %s because parsing of its 
name or version string '%s' failed" % (components[1], components[2])
+print("Warning: Ignoring package %s because parsing of its 
name or version string '%s' failed" % (components[1], components[2]))
 return ret
 
 def generate_data_individual(self, release_packages):
@@ -114,7 +114,7 @@ def compare_packages(release_packages, latest_packages, 
packages_in_portage):
 release_package = package
 latest_package = portage_module.findpackage(package.name, 
latest_packages)
 if latest_package == None:
-print "Warning: latest packages set does not have an entry for %s, 
using release set version %s." % (package.name, package.version)
+print("Warning: latest packages set does not have an entry for %s, 
using release set version %s." % (package.name, package.version))
 latest_package = package
 portage_package = portage_module.findpackage(package.name, 
packages_in_portage)
 
@@ -139,15 +139,15 @@ def compare_packages(release_packages, latest_packages, 
packages_in_portage):
 
 # FIXME: Reports release version as latest version to not have to deal 
with this right now
 if latest_package == None:
-print "No latest version known for %s, FIXME!" % 
release_package.name
+print("No latest version known for %s, FIXME!" % 
release_package.name)
 latest_package = release_package
 
 if DEBUG:
-print "package: " + str(release_package.name) + \
- " | pp: " + str(portage_package.version) + \
- " | rp: 

[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-11 Thread Mart Raudsepp
commit: 4222ef114f8366c7c1865a5e02d9c5bdd0882b52
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Sat Mar 11 14:08:36 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Sat Mar 11 14:08:36 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=4222ef11

gnome: Use UTC date for generation date note in output

 modules/gnome_output.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/gnome_output.py b/modules/gnome_output.py
index f1fcfdf..f127e6a 100644
--- a/modules/gnome_output.py
+++ b/modules/gnome_output.py
@@ -46,7 +46,7 @@ class Output:
 # just time to generate some kind of "useful" output.
 # for now, lets just make a crappy html file. ( this should use css 
and the like )
 # name, portage_version, gnome_version, status <-- is whats in the 
PackageUpdate object
-current_time = str(time.asctime(time.localtime()))
+current_time = str(time.asctime(time.gmtime()))
 
 lines = []
 
@@ -60,7 +60,7 @@ class Output:
 lines.append("")
 lines.append("Gnome " + 
clioptions_module.Options().get_arguments().release_number + " Progress")
 lines.append("contact " + os.environ["USER"] + "@gentoo.org if 
anything is not correct")
-lines.append("Generated date: " + current_time + "")
+lines.append("Generated UTC date: " + current_time + "")
 
 # stats
 lines.append("")



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: 5a0aef2c23dd3bbf66cc530f3daef3f2e84cce9c
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 21:34:08 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 21:35:21 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=5a0aef2c

gnome: Remove the old latest_versions_* vars that won't work

This also removes a GNOME class extra init in gnome_output for retrieving
the broken link, which won't be nice for future plans of requests usage
in terms of HTTP session

 modules/gnome_module.py | 2 --
 modules/gnome_output.py | 2 --
 2 files changed, 4 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index ba1f29f..205d96e 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -34,8 +34,6 @@ class GNOME:
 self.gnome_release = ".".join(gnome_release_list[:2])
 
 self.ftpserver = "download.gnome.org"
-self.latest_versions_file_path = 
'http://www.gnome.org/~vuntz/tmp/versions/'
-self.latest_versions_url = self.latest_versions_file_path + 
'versions-' + self.gnome_release
 self.release_versions_file_path = 
'https://download.gnome.org/teams/releng/'
 
 def generate_data_from_versions_markup(self, url):

diff --git a/modules/gnome_output.py b/modules/gnome_output.py
index 9859a6f..f1fcfdf 100644
--- a/modules/gnome_output.py
+++ b/modules/gnome_output.py
@@ -61,8 +61,6 @@ class Output:
 lines.append("Gnome " + 
clioptions_module.Options().get_arguments().release_number + " Progress")
 lines.append("contact " + os.environ["USER"] + "@gentoo.org if 
anything is not correct")
 lines.append("Generated date: " + current_time + "")
-lines.append("Upstream versions list ")
 
 # stats
 lines.append("")



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: a196c4873b3508e1f2bf60abdefe4887f2b872fb
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 22:28:54 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 22:28:54 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=a196c487

gnome: Use requests instead of urllib2

This should give us connection pooling, which can be important for
further planned changes.

 modules/gnome_module.py | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 0edf973..7c8f613 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -2,7 +2,8 @@
 # LICENSE - GPL2
 # vim: set sts=4 sw=4 et tw=0 :
 
-import urllib2, package_module, clioptions_module
+import requests
+import package_module, clioptions_module
 
 DEBUG = False
 
@@ -23,17 +24,17 @@ class GNOME:
 gnome_release_list[1] = str(int(gnome_release_list[1]) + 1)
 self.gnome_release = ".".join(gnome_release_list[:2])
 
-self.ftpserver = "download.gnome.org"
-self.release_versions_file_path = 
'https://download.gnome.org/teams/releng/'
+self.http = requests.session()
+self.url_base = "https://download.gnome.org/;
+self.release_versions_file_path = self.url_base + 'teams/releng/'
 
 def generate_data_from_versions_markup(self, url):
-try:
-f = urllib2.urlopen(url)
-except:
+data = self.http.get(url)
+if not data:
 raise ValueError("Couldn't open %s" % url)
 
 ret = []
-for line in f.readlines():
+for line in data.iter_lines():
 components = str.strip(line).split(':')
 # Skip invalid lines
 if len(components) != 4 or len(components[2]) == 0:
@@ -46,7 +47,6 @@ class GNOME:
 ret.append(pkg)
 else:
 print "Warning: Ignoring package %s because parsing of its 
name or version string '%s' failed" % (components[1], components[2])
-f.close()
 return ret
 
 def generate_data_individual(self):



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: /, modules/

2017-03-03 Thread Mart Raudsepp
commit: 033f242da9b9f031d8260aca0bf7b70ce8cd93fa
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 23:46:21 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 23:46:21 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=033f242d

gnome: Implement latest version retrieval based on GNOME infra cache.json files

Compared to the no longer working ~vuntz devspace versions file, this is
now doing HTTPS retrievals for each package again; not quite full scraping,
but almost (considering that if we'd hit up the right subdir directly, it's
pretty much the same due to one GET per package again). So it takes a bit
to retrieve the files.
This can probably be made trivially faster by anyone who knows async io
for python-requests or something, but at least it works again.

 gnome-bumpchecker.py|  2 +-
 modules/gnome_module.py | 45 +++--
 2 files changed, 44 insertions(+), 3 deletions(-)

diff --git a/gnome-bumpchecker.py b/gnome-bumpchecker.py
index e7ceb16..c9656e9 100755
--- a/gnome-bumpchecker.py
+++ b/gnome-bumpchecker.py
@@ -25,7 +25,7 @@ if __name__ == '__main__':
 
 # Quick versions file parsing
 release_packages = gnome.generate_data_release()
-latest_packages = gnome.generate_data_individual()
+latest_packages = gnome.generate_data_individual(release_packages)
 
 # Old FTP scraping way:
 # release_packages, latest_packages = gnome.generate_data_ftp()

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 7c8f613..06fe6d8 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -1,4 +1,5 @@
 # Copyright John N. Laliberte 
+# Copyright Mart Raudsepp 
 # LICENSE - GPL2
 # vim: set sts=4 sw=4 et tw=0 :
 
@@ -8,6 +9,15 @@ import package_module, clioptions_module
 DEBUG = False
 
 
+# TODO: Figure out some better handling of mappings together with 
package_module
+# TODO: package_module has made the reverse mapping of what we need, because 
we consume the names from release_packages
+# TODO: So this reverses it back again for the modules we care for this until 
a proper fix
+name_mapping = {
+"cantarell": "cantarell-fonts",
+"nm-applet": "network-manager-applet",
+"networkmanager": "NetworkManager",
+}
+
 class GNOME:
 def __init__(self, nextrev=False):
 options = clioptions_module.Options()
@@ -49,8 +59,39 @@ class GNOME:
 print "Warning: Ignoring package %s because parsing of its 
name or version string '%s' failed" % (components[1], components[2])
 return ret
 
-def generate_data_individual(self):
-return self.generate_data_release()
+def generate_data_individual(self, release_packages):
+ret = []
+for pkg in release_packages:
+name = pkg.name.split('/')[-1]
+if name in name_mapping:
+name = name_mapping[name]
+data = self.http.get(self.url_base + '/sources/' + name + 
'/cache.json')
+if not data:
+print("Warning: Unable to read cache.json for %s" % pkg.name)
+continue
+data = data.json()
+if data[0] != 4:
+print("Warning: unknown cache.json version for package %s" % 
name)
+continue
+if pkg.major_minor not in data[3]:
+print("Warning: can't find latest version for %s-%s" % (name, 
pkg.major-minor))
+continue
+latest = False
+# Some modules contain more than LATEST-IS-* for some reason, so 
we need to iterate and find the correct item instead of [0] (even though it is 
firsy always, but lets be future-proof)
+for tarball in data[3][pkg.major_minor]:
+if tarball.startswith('LATEST-IS-'):
+latest = tarball[10:] # len('LATEST-IS-') == 10
+break
+if not latest:
+print("Warning: couldn't find latest version from within 
cache.json[3]")
+continue
+latest_pkg = package_module.Package(name + "-" + latest)
+if pkg.name and pkg.version:
+ret.append(latest_pkg)
+else:
+print("Warning: Ignoring package %s because parsing of its 
name or version string '%s' failed" % (name, latest))
+continue
+return ret
 
 def generate_data_release(self):
 return 
self.generate_data_from_versions_markup(self.release_versions_file_path + 
self.full_release + '/versions')



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: a92c21c23496c06f0a7056f37db8d8f097f8aa1f
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 21:02:35 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 21:03:38 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=a92c21c2

gnome: Remove some old scraping related code we won't need

gnome includes a JSON file for each package with all the versions that
many other tools rely on now, so we won't need full scraping again

 modules/gnome_module.py | 103 
 1 file changed, 103 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 911391a..062fed7 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -34,10 +34,6 @@ class GNOME:
 self.gnome_release = ".".join(gnome_release_list[:2])
 
 self.ftpserver = "download.gnome.org"
-self.release_directories = ["admin/" + self.major_release + "/" + 
self.full_release + "/",
-   "platform/" + self.major_release + "/" + 
self.full_release + "/",
-   "desktop/" + self.major_release + "/" + 
self.full_release + "/",
-   "bindings/" + self.major_release + "/" + 
self.full_release + "/"]
 self.latest_versions_file_path = 
'http://www.gnome.org/~vuntz/tmp/versions/'
 self.latest_versions_url = self.latest_versions_file_path + 
'versions-' + self.gnome_release
 self.release_versions_file_path = 
'https://download.gnome.org/teams/releng/'
@@ -71,105 +67,6 @@ class GNOME:
 def generate_data_release(self):
 return 
self.generate_data_from_versions_markup(self.release_versions_file_path + 
self.full_release + '/versions')
 
-""" We might want to modify this later to an extra fallback and/or for 
non-official modules whose tarballs are hosted on GNOME or compatible FTP
-def generate_data_ftp(self):
-# Deprecated: connect to ftp and get the list of all the packages in 
the release directories
-walker = 
ftp_module.FTPWalker(self.ftpserver,"anonymous","t...@test.com")
-
-files = []
-for directory in self.release_directories:
-f_files = ftp_module.find_files(walker, directory,"","")
-files.extend(f_files)
-
-# filter out bad files
-files = self.filter_files(files)
-
-# create package objects for the files
-release_packages = [] # the packages that are required for a release
-for package_name in files:
-release_package = package_module.Package(package_name)
-release_packages.append(release_package)
-
-# while connected, find out the latest version of the packages that we 
found in the
-# release directories
-latest_packages = [] # the latest versions of packages on the gnome 
ftp.
-for package in release_packages:
-file_list = ftp_module.find_files(walker, "pub/GNOME/sources" + 
"/" + package.raw_name + "/" + package.major_minor,"","")
-
-# if maintainers release tarballs late, they will not get picked up
-# therefore, if the tarball is 1 less than the y of the x.y you
-# specify, lets also check to see if there are any files for
-# the actual release number.
-major = package.major_minor.split(".")[0]
-minor = package.major_minor.split(".")[1]
-options = clioptions_module.Options()
-args = options.get_arguments()
-release_minor = args.release_number.split(".")[1]
-
-if int(minor) == (int(release_minor) -1):
-file_list_future = ftp_module.find_files(walker, 
"pub/GNOME/sources" + "/" + package.raw_name + "/" + major + "." + 
str(int(minor)+1),"","")
-
-# if there are results, replace the old list.
-if len(file_list_future) > 0:
-file_list = file_list_future
-elif self.nextrev == True:
-# Try to find minor+1
-file_list_future = ftp_module.find_files(walker, 
"pub/GNOME/sources" + "/" + package.raw_name + "/" + major + "." + 
str(int(minor)+1),"","")
-
-# if there are results, replace the old list.
-if len(file_list_future) > 0:
-file_list = file_list_future
-
-# make sure we don't try to do this on directories with no files,
-# or on directories that don't exist
-
-# create package objects for the files
-if len(file_list) > 0:
-latest = self.filter_latest_only(file_list)
-latest_package = package_module.Package(package.name + "-" + 
latest)
-latest_packages.append(latest_package)
-
-# disconnect from the ftp
-
-# cache the results
-cache = simple_cache_module.SimpleCache()
-for release_package in 

[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: 5c64b9cefa767fe3b149c2ea4e360739bee75137
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 22:14:05 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 22:14:59 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=5c64b9ce

gnome: Remove unused simple_cache_module import

 modules/gnome_module.py | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 41d5702..0edf973 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -2,14 +2,11 @@
 # LICENSE - GPL2
 # vim: set sts=4 sw=4 et tw=0 :
 
-# gnome module
-import urllib2, package_module, simple_cache_module
-import clioptions_module
-# import ftp_module
+import urllib2, package_module, clioptions_module
 
+DEBUG = False
 
 
-DEBUG = False
 class GNOME:
 def __init__(self, nextrev=False):
 options = clioptions_module.Options()



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: eb0322d1f2d670167cfce7e75e5d6093d9d56025
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 21:36:22 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 21:36:22 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=eb0322d1

gnome: Add mapping for gom to avoid in-tree ambiguity

 modules/package_module.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/package_module.py b/modules/package_module.py
index ec6935a..b663c28 100644
--- a/modules/package_module.py
+++ b/modules/package_module.py
@@ -21,6 +21,7 @@ class Package(object):
 "network-manager-applet": "nm-applet",
 "NetworkManager": "networkmanager",
 "gtk-theme-engine-clearlooks": "gtk-engines-clearlooks",
+"gom":"dev-libs/gom",
 # Perl package mappings
 'Glib'  : 'dev-perl/glib-perl',
 'Gnome2-Canvas' : 'dev-perl/gnome2-canvas',



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: 65504e5c8b753501d3a89451e5982fa29318f51b
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 21:14:39 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 21:15:38 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=65504e5c

gnome: temporarily report release versions as individual as the latter is broken

vuntz versions files doesn't work anymore and we'll need to migrate to
something working. Fake the data by duplicating the release versions
till then.

 modules/gnome_module.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 062fed7..ba1f29f 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -62,7 +62,7 @@ class GNOME:
 return ret
 
 def generate_data_individual(self):
-return 
self.generate_data_from_versions_markup(self.latest_versions_url)
+return self.generate_data_release()
 
 def generate_data_release(self):
 return 
self.generate_data_from_versions_markup(self.release_versions_file_path + 
self.full_release + '/versions')



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: d96c56521c0598124ac7415784ab7abd040b1373
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 21:35:50 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 21:35:50 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=d96c5652

gnome: Remove _isgnome3 special casing

We won't be creating the list for 2.9x releases anymore..

 modules/gnome_module.py | 9 +
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 205d96e..41d5702 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -11,11 +11,6 @@ import clioptions_module
 
 DEBUG = False
 class GNOME:
-def _isgnome3(self, gnome_release_list):
-if int(gnome_release_list[0]) == 2 and int(gnome_release_list[1]) > 90:
-return True
-return False
-
 def __init__(self, nextrev=False):
 options = clioptions_module.Options()
 args = options.get_arguments()
@@ -27,9 +22,7 @@ class GNOME:
 # gnome_release is the major release number the development is leading 
up to or is part of. E.g, 2.21.5 will turn to 2.22 and 2.22.2 becomes 2.22
 # This is used in latest versions list fetching URL construction
 gnome_release_list = args.release_number.split(".")
-if self._isgnome3(gnome_release_list):
-gnome_release_list = ['3', '0']
-elif int(gnome_release_list[1]) % 2 != 0:
+if int(gnome_release_list[1]) % 2 != 0:
 gnome_release_list[1] = str(int(gnome_release_list[1]) + 1)
 self.gnome_release = ".".join(gnome_release_list[:2])
 



[gentoo-commits] proj/gentoo-bumpchecker:master commit in: modules/

2017-03-03 Thread Mart Raudsepp
commit: 11a51f937cec78394c53961e9075287ac3b052de
Author: Mart Raudsepp  gentoo  org>
AuthorDate: Fri Mar  3 20:17:45 2017 +
Commit: Mart Raudsepp  gentoo  org>
CommitDate: Fri Mar  3 20:17:45 2017 +
URL:
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=11a51f93

gnome: Use download.gnome.org instead of ftp with longer paths

 modules/gnome_module.py | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index b81d0fe..911391a 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -33,14 +33,14 @@ class GNOME:
 gnome_release_list[1] = str(int(gnome_release_list[1]) + 1)
 self.gnome_release = ".".join(gnome_release_list[:2])
 
-self.ftpserver = "ftp.gnome.org"
-self.release_directories = ["pub/GNOME/admin/" + self.major_release + 
"/" + self.full_release + "/",
-   "pub/GNOME/platform/" + self.major_release + 
"/" + self.full_release + "/",
-   "pub/GNOME/desktop/" + self.major_release + "/" 
+ self.full_release + "/",
-   "pub/GNOME/bindings/" + self.major_release + 
"/" + self.full_release + "/"]
+self.ftpserver = "download.gnome.org"
+self.release_directories = ["admin/" + self.major_release + "/" + 
self.full_release + "/",
+   "platform/" + self.major_release + "/" + 
self.full_release + "/",
+   "desktop/" + self.major_release + "/" + 
self.full_release + "/",
+   "bindings/" + self.major_release + "/" + 
self.full_release + "/"]
 self.latest_versions_file_path = 
'http://www.gnome.org/~vuntz/tmp/versions/'
 self.latest_versions_url = self.latest_versions_file_path + 
'versions-' + self.gnome_release
-self.release_versions_file_path = 
'http://ftp.gnome.org/pub/GNOME/teams/releng/'
+self.release_versions_file_path = 
'https://download.gnome.org/teams/releng/'
 
 def generate_data_from_versions_markup(self, url):
 try: