* [gentoo-commits] proj/portage:repoman commit in: pym/repoman/modules/scan/arches/, pym/repoman/
@ 2016-01-06 4:21 Brian Dolbec
0 siblings, 0 replies; 6+ messages in thread
From: Brian Dolbec @ 2016-01-06 4:21 UTC (permalink / raw
To: gentoo-commits
commit: 8be4338eb048c36197b207fce836cac818f5dc05
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 3 19:11:22 2016 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Wed Jan 6 04:08:22 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=8be4338e
repoman: Create a new ArchChecks class plugin
pym/repoman/modules/scan/arches/__init__.py | 23 +++++++++++
pym/repoman/modules/scan/arches/arches.py | 64 +++++++++++++++++++++++++++++
pym/repoman/scanner.py | 47 +--------------------
3 files changed, 89 insertions(+), 45 deletions(-)
diff --git a/pym/repoman/modules/scan/arches/__init__.py b/pym/repoman/modules/scan/arches/__init__.py
new file mode 100644
index 0000000..b570dac
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/__init__.py
@@ -0,0 +1,23 @@
+# Copyright 2015-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+doc = """Arches plug-in module for repoman.
+Performs archs checks on ebuilds."""
+__doc__ = doc[:]
+
+
+module_spec = {
+ 'name': 'arches',
+ 'description': doc,
+ 'provides':{
+ 'archs-module': {
+ 'name': "arches",
+ 'class': "ArchChecks",
+ 'description': doc,
+ 'functions': ['check'],
+ 'func_desc': {
+ },
+ },
+ }
+}
+
diff --git a/pym/repoman/modules/scan/arches/arches.py b/pym/repoman/modules/scan/arches/arches.py
new file mode 100644
index 0000000..2c32028
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/arches.py
@@ -0,0 +1,64 @@
+# -*- coding:utf-8 -*-
+
+
+class ArchChecks(object):
+
+ def __init__(self, **kwargs):
+ self.options = kwargs.get('options')
+ self.repo_settings = kwargs.get('repo_settings')
+ self.profiles = kwargs.get('profiles')
+
+ def check(self, **kwargs):
+ ebuild = kwargs.get('ebuild')
+ if self.options.ignore_arches:
+ arches = [[
+ self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
+ self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
+ else:
+ arches = set()
+ for keyword in ebuild.keywords:
+ if keyword[0] == "-":
+ continue
+ elif keyword[0] == "~":
+ arch = keyword[1:]
+ if arch == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (
+ expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, arch, (arch, keyword)))
+ else:
+ # For ebuilds with stable keywords, check if the
+ # dependencies are satisfiable for unstable
+ # configurations, since use.stable.mask is not
+ # applied for unstable configurations (see bug
+ # 563546).
+ if keyword == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (expanded_arch,)))
+ arches.add(
+ (keyword, expanded_arch,
+ (expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, keyword, (keyword,)))
+ arches.add((keyword, keyword,
+ (keyword, "~" + keyword)))
+ if not arches:
+ # Use an empty profile for checking dependencies of
+ # packages that have empty KEYWORDS.
+ arches.add(('**', '**', ('**',)))
+ return {'continue': False, 'arches': arches}
+
+ @property
+ def runInPkgs(self):
+ return (False, [])
+
+ @property
+ def runInEbuilds(self):
+ return (True, [self.check])
diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index 7452d76..67af85b 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -301,6 +301,7 @@ class Scanner(object):
('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'),
('thirdpartymirrors', 'ThirdPartyMirrors'),
('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
+ ('arches', 'ArchChecks'),
]:
if mod[0]:
mod_class = MODULE_CONTROLLER.get_class(mod[0])
@@ -331,50 +332,6 @@ class Scanner(object):
print("**** finished plugin loop, continuing...")
- if self.options.ignore_arches:
- arches = [[
- self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
- self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
- else:
- arches = set()
- for keyword in dynamic_data['ebuild'].keywords:
- if keyword[0] == "-":
- continue
- elif keyword[0] == "~":
- arch = keyword[1:]
- if arch == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (
- expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, arch, (arch, keyword)))
- else:
- # For ebuilds with stable keywords, check if the
- # dependencies are satisfiable for unstable
- # configurations, since use.stable.mask is not
- # applied for unstable configurations (see bug
- # 563546).
- if keyword == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (expanded_arch,)))
- arches.add(
- (keyword, expanded_arch,
- (expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, keyword, (keyword,)))
- arches.add((keyword, keyword,
- (keyword, "~" + keyword)))
- if not arches:
- # Use an empty profile for checking dependencies of
- # packages that have empty KEYWORDS.
- arches.add(('**', '**', ('**',)))
-
unknown_pkgs = set()
baddepsyntax = False
badlicsyntax = False
@@ -534,7 +491,7 @@ class Scanner(object):
continue
relevant_profiles = []
- for keyword, arch, groups in arches:
+ for keyword, arch, groups in dynamic_data['arches']:
if arch not in self.profiles:
# A missing profile will create an error further down
# during the KEYWORDS verification.
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: pym/repoman/modules/scan/arches/, pym/repoman/
@ 2016-01-10 20:17 Brian Dolbec
0 siblings, 0 replies; 6+ messages in thread
From: Brian Dolbec @ 2016-01-10 20:17 UTC (permalink / raw
To: gentoo-commits
commit: 4d9b1d6fc00b48583bec7439b548cd29530c518b
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 3 19:11:22 2016 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sun Jan 10 20:15:08 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=4d9b1d6f
repoman: Create a new ArchChecks class plugin
pym/repoman/modules/scan/arches/__init__.py | 23 +++++++++++
pym/repoman/modules/scan/arches/arches.py | 64 +++++++++++++++++++++++++++++
pym/repoman/scanner.py | 47 +--------------------
3 files changed, 89 insertions(+), 45 deletions(-)
diff --git a/pym/repoman/modules/scan/arches/__init__.py b/pym/repoman/modules/scan/arches/__init__.py
new file mode 100644
index 0000000..b570dac
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/__init__.py
@@ -0,0 +1,23 @@
+# Copyright 2015-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+doc = """Arches plug-in module for repoman.
+Performs archs checks on ebuilds."""
+__doc__ = doc[:]
+
+
+module_spec = {
+ 'name': 'arches',
+ 'description': doc,
+ 'provides':{
+ 'archs-module': {
+ 'name': "arches",
+ 'class': "ArchChecks",
+ 'description': doc,
+ 'functions': ['check'],
+ 'func_desc': {
+ },
+ },
+ }
+}
+
diff --git a/pym/repoman/modules/scan/arches/arches.py b/pym/repoman/modules/scan/arches/arches.py
new file mode 100644
index 0000000..2c32028
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/arches.py
@@ -0,0 +1,64 @@
+# -*- coding:utf-8 -*-
+
+
+class ArchChecks(object):
+
+ def __init__(self, **kwargs):
+ self.options = kwargs.get('options')
+ self.repo_settings = kwargs.get('repo_settings')
+ self.profiles = kwargs.get('profiles')
+
+ def check(self, **kwargs):
+ ebuild = kwargs.get('ebuild')
+ if self.options.ignore_arches:
+ arches = [[
+ self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
+ self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
+ else:
+ arches = set()
+ for keyword in ebuild.keywords:
+ if keyword[0] == "-":
+ continue
+ elif keyword[0] == "~":
+ arch = keyword[1:]
+ if arch == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (
+ expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, arch, (arch, keyword)))
+ else:
+ # For ebuilds with stable keywords, check if the
+ # dependencies are satisfiable for unstable
+ # configurations, since use.stable.mask is not
+ # applied for unstable configurations (see bug
+ # 563546).
+ if keyword == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (expanded_arch,)))
+ arches.add(
+ (keyword, expanded_arch,
+ (expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, keyword, (keyword,)))
+ arches.add((keyword, keyword,
+ (keyword, "~" + keyword)))
+ if not arches:
+ # Use an empty profile for checking dependencies of
+ # packages that have empty KEYWORDS.
+ arches.add(('**', '**', ('**',)))
+ return {'continue': False, 'arches': arches}
+
+ @property
+ def runInPkgs(self):
+ return (False, [])
+
+ @property
+ def runInEbuilds(self):
+ return (True, [self.check])
diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index 83193fd..7b07a95 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -301,6 +301,7 @@ class Scanner(object):
('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'),
('thirdpartymirrors', 'ThirdPartyMirrors'),
('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
+ ('arches', 'ArchChecks'),
]:
if mod[0]:
mod_class = MODULE_CONTROLLER.get_class(mod[0])
@@ -351,50 +352,6 @@ class Scanner(object):
self.liveeclasscheck.check(
dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild, dynamic_data['ebuild'].keywords, self.repo_metadata['pmaskdict'])
- if self.options.ignore_arches:
- arches = [[
- self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
- self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
- else:
- arches = set()
- for keyword in dynamic_data['ebuild'].keywords:
- if keyword[0] == "-":
- continue
- elif keyword[0] == "~":
- arch = keyword[1:]
- if arch == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (
- expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, arch, (arch, keyword)))
- else:
- # For ebuilds with stable keywords, check if the
- # dependencies are satisfiable for unstable
- # configurations, since use.stable.mask is not
- # applied for unstable configurations (see bug
- # 563546).
- if keyword == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (expanded_arch,)))
- arches.add(
- (keyword, expanded_arch,
- (expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, keyword, (keyword,)))
- arches.add((keyword, keyword,
- (keyword, "~" + keyword)))
- if not arches:
- # Use an empty profile for checking dependencies of
- # packages that have empty KEYWORDS.
- arches.add(('**', '**', ('**',)))
-
unknown_pkgs = set()
baddepsyntax = False
badlicsyntax = False
@@ -551,7 +508,7 @@ class Scanner(object):
continue
relevant_profiles = []
- for keyword, arch, groups in arches:
+ for keyword, arch, groups in dynamic_data['arches']:
if arch not in self.profiles:
# A missing profile will create an error further down
# during the KEYWORDS verification.
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: pym/repoman/modules/scan/arches/, pym/repoman/
@ 2016-01-21 18:30 Brian Dolbec
0 siblings, 0 replies; 6+ messages in thread
From: Brian Dolbec @ 2016-01-21 18:30 UTC (permalink / raw
To: gentoo-commits
commit: 5979393f1a5e046fbb1ed2e4d6fe5fa23ea37e9a
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 3 19:11:22 2016 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu Jan 21 00:35:22 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=5979393f
repoman: Create a new ArchChecks class plugin
pym/repoman/modules/scan/arches/__init__.py | 23 +++++++++++
pym/repoman/modules/scan/arches/arches.py | 64 +++++++++++++++++++++++++++++
pym/repoman/scanner.py | 47 +--------------------
3 files changed, 89 insertions(+), 45 deletions(-)
diff --git a/pym/repoman/modules/scan/arches/__init__.py b/pym/repoman/modules/scan/arches/__init__.py
new file mode 100644
index 0000000..b570dac
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/__init__.py
@@ -0,0 +1,23 @@
+# Copyright 2015-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+doc = """Arches plug-in module for repoman.
+Performs archs checks on ebuilds."""
+__doc__ = doc[:]
+
+
+module_spec = {
+ 'name': 'arches',
+ 'description': doc,
+ 'provides':{
+ 'archs-module': {
+ 'name': "arches",
+ 'class': "ArchChecks",
+ 'description': doc,
+ 'functions': ['check'],
+ 'func_desc': {
+ },
+ },
+ }
+}
+
diff --git a/pym/repoman/modules/scan/arches/arches.py b/pym/repoman/modules/scan/arches/arches.py
new file mode 100644
index 0000000..2c32028
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/arches.py
@@ -0,0 +1,64 @@
+# -*- coding:utf-8 -*-
+
+
+class ArchChecks(object):
+
+ def __init__(self, **kwargs):
+ self.options = kwargs.get('options')
+ self.repo_settings = kwargs.get('repo_settings')
+ self.profiles = kwargs.get('profiles')
+
+ def check(self, **kwargs):
+ ebuild = kwargs.get('ebuild')
+ if self.options.ignore_arches:
+ arches = [[
+ self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
+ self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
+ else:
+ arches = set()
+ for keyword in ebuild.keywords:
+ if keyword[0] == "-":
+ continue
+ elif keyword[0] == "~":
+ arch = keyword[1:]
+ if arch == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (
+ expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, arch, (arch, keyword)))
+ else:
+ # For ebuilds with stable keywords, check if the
+ # dependencies are satisfiable for unstable
+ # configurations, since use.stable.mask is not
+ # applied for unstable configurations (see bug
+ # 563546).
+ if keyword == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (expanded_arch,)))
+ arches.add(
+ (keyword, expanded_arch,
+ (expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, keyword, (keyword,)))
+ arches.add((keyword, keyword,
+ (keyword, "~" + keyword)))
+ if not arches:
+ # Use an empty profile for checking dependencies of
+ # packages that have empty KEYWORDS.
+ arches.add(('**', '**', ('**',)))
+ return {'continue': False, 'arches': arches}
+
+ @property
+ def runInPkgs(self):
+ return (False, [])
+
+ @property
+ def runInEbuilds(self):
+ return (True, [self.check])
diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index 83193fd..7b07a95 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -301,6 +301,7 @@ class Scanner(object):
('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'),
('thirdpartymirrors', 'ThirdPartyMirrors'),
('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
+ ('arches', 'ArchChecks'),
]:
if mod[0]:
mod_class = MODULE_CONTROLLER.get_class(mod[0])
@@ -351,50 +352,6 @@ class Scanner(object):
self.liveeclasscheck.check(
dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild, dynamic_data['ebuild'].keywords, self.repo_metadata['pmaskdict'])
- if self.options.ignore_arches:
- arches = [[
- self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
- self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
- else:
- arches = set()
- for keyword in dynamic_data['ebuild'].keywords:
- if keyword[0] == "-":
- continue
- elif keyword[0] == "~":
- arch = keyword[1:]
- if arch == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (
- expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, arch, (arch, keyword)))
- else:
- # For ebuilds with stable keywords, check if the
- # dependencies are satisfiable for unstable
- # configurations, since use.stable.mask is not
- # applied for unstable configurations (see bug
- # 563546).
- if keyword == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (expanded_arch,)))
- arches.add(
- (keyword, expanded_arch,
- (expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, keyword, (keyword,)))
- arches.add((keyword, keyword,
- (keyword, "~" + keyword)))
- if not arches:
- # Use an empty profile for checking dependencies of
- # packages that have empty KEYWORDS.
- arches.add(('**', '**', ('**',)))
-
unknown_pkgs = set()
baddepsyntax = False
badlicsyntax = False
@@ -551,7 +508,7 @@ class Scanner(object):
continue
relevant_profiles = []
- for keyword, arch, groups in arches:
+ for keyword, arch, groups in dynamic_data['arches']:
if arch not in self.profiles:
# A missing profile will create an error further down
# during the KEYWORDS verification.
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: pym/repoman/modules/scan/arches/, pym/repoman/
@ 2016-01-30 6:58 Brian Dolbec
0 siblings, 0 replies; 6+ messages in thread
From: Brian Dolbec @ 2016-01-30 6:58 UTC (permalink / raw
To: gentoo-commits
commit: e16d23c5b8f746b4809f49336f8e45f462c58ce9
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 3 19:11:22 2016 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 30 06:33:55 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=e16d23c5
repoman: Create a new ArchChecks class plugin
pym/repoman/modules/scan/arches/__init__.py | 24 +++++++++++
pym/repoman/modules/scan/arches/arches.py | 64 +++++++++++++++++++++++++++++
pym/repoman/scanner.py | 47 +--------------------
3 files changed, 90 insertions(+), 45 deletions(-)
diff --git a/pym/repoman/modules/scan/arches/__init__.py b/pym/repoman/modules/scan/arches/__init__.py
new file mode 100644
index 0000000..d080c30
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/__init__.py
@@ -0,0 +1,24 @@
+# Copyright 2015-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+doc = """Arches plug-in module for repoman.
+Performs archs checks on ebuilds."""
+__doc__ = doc[:]
+
+
+module_spec = {
+ 'name': 'arches',
+ 'description': doc,
+ 'provides':{
+ 'archs-module': {
+ 'name': "arches",
+ 'sourcefile': "arches",
+ 'class': "ArchChecks",
+ 'description': doc,
+ 'functions': ['check'],
+ 'func_desc': {
+ },
+ },
+ }
+}
+
diff --git a/pym/repoman/modules/scan/arches/arches.py b/pym/repoman/modules/scan/arches/arches.py
new file mode 100644
index 0000000..2c32028
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/arches.py
@@ -0,0 +1,64 @@
+# -*- coding:utf-8 -*-
+
+
+class ArchChecks(object):
+
+ def __init__(self, **kwargs):
+ self.options = kwargs.get('options')
+ self.repo_settings = kwargs.get('repo_settings')
+ self.profiles = kwargs.get('profiles')
+
+ def check(self, **kwargs):
+ ebuild = kwargs.get('ebuild')
+ if self.options.ignore_arches:
+ arches = [[
+ self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
+ self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
+ else:
+ arches = set()
+ for keyword in ebuild.keywords:
+ if keyword[0] == "-":
+ continue
+ elif keyword[0] == "~":
+ arch = keyword[1:]
+ if arch == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (
+ expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, arch, (arch, keyword)))
+ else:
+ # For ebuilds with stable keywords, check if the
+ # dependencies are satisfiable for unstable
+ # configurations, since use.stable.mask is not
+ # applied for unstable configurations (see bug
+ # 563546).
+ if keyword == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (expanded_arch,)))
+ arches.add(
+ (keyword, expanded_arch,
+ (expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, keyword, (keyword,)))
+ arches.add((keyword, keyword,
+ (keyword, "~" + keyword)))
+ if not arches:
+ # Use an empty profile for checking dependencies of
+ # packages that have empty KEYWORDS.
+ arches.add(('**', '**', ('**',)))
+ return {'continue': False, 'arches': arches}
+
+ @property
+ def runInPkgs(self):
+ return (False, [])
+
+ @property
+ def runInEbuilds(self):
+ return (True, [self.check])
diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index f0a4bef..7a1433a 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -304,6 +304,7 @@ class Scanner(object):
('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'),
('thirdpartymirrors', 'ThirdPartyMirrors'),
('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
+ ('arches', 'ArchChecks'),
]:
if mod[0]:
mod_class = MODULE_CONTROLLER.get_class(mod[0])
@@ -354,50 +355,6 @@ class Scanner(object):
self.liveeclasscheck.check(
dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild, dynamic_data['ebuild'].keywords, self.repo_metadata['pmaskdict'])
- if self.options.ignore_arches:
- arches = [[
- self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
- self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
- else:
- arches = set()
- for keyword in dynamic_data['ebuild'].keywords:
- if keyword[0] == "-":
- continue
- elif keyword[0] == "~":
- arch = keyword[1:]
- if arch == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (
- expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, arch, (arch, keyword)))
- else:
- # For ebuilds with stable keywords, check if the
- # dependencies are satisfiable for unstable
- # configurations, since use.stable.mask is not
- # applied for unstable configurations (see bug
- # 563546).
- if keyword == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (expanded_arch,)))
- arches.add(
- (keyword, expanded_arch,
- (expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, keyword, (keyword,)))
- arches.add((keyword, keyword,
- (keyword, "~" + keyword)))
- if not arches:
- # Use an empty profile for checking dependencies of
- # packages that have empty KEYWORDS.
- arches.add(('**', '**', ('**',)))
-
unknown_pkgs = set()
baddepsyntax = False
badlicsyntax = False
@@ -554,7 +511,7 @@ class Scanner(object):
continue
relevant_profiles = []
- for keyword, arch, groups in arches:
+ for keyword, arch, groups in dynamic_data['arches']:
if arch not in self.profiles:
# A missing profile will create an error further down
# during the KEYWORDS verification.
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: pym/repoman/modules/scan/arches/, pym/repoman/
@ 2016-01-30 8:00 Brian Dolbec
0 siblings, 0 replies; 6+ messages in thread
From: Brian Dolbec @ 2016-01-30 8:00 UTC (permalink / raw
To: gentoo-commits
commit: 691541feccdfcbf06004e4e545851337780c56e3
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 3 19:11:22 2016 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 30 07:50:17 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=691541fe
repoman: Create a new ArchChecks class plugin
pym/repoman/modules/scan/arches/__init__.py | 24 +++++++++++
pym/repoman/modules/scan/arches/arches.py | 64 +++++++++++++++++++++++++++++
pym/repoman/scanner.py | 47 +--------------------
3 files changed, 90 insertions(+), 45 deletions(-)
diff --git a/pym/repoman/modules/scan/arches/__init__.py b/pym/repoman/modules/scan/arches/__init__.py
new file mode 100644
index 0000000..d080c30
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/__init__.py
@@ -0,0 +1,24 @@
+# Copyright 2015-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+doc = """Arches plug-in module for repoman.
+Performs archs checks on ebuilds."""
+__doc__ = doc[:]
+
+
+module_spec = {
+ 'name': 'arches',
+ 'description': doc,
+ 'provides':{
+ 'archs-module': {
+ 'name': "arches",
+ 'sourcefile': "arches",
+ 'class': "ArchChecks",
+ 'description': doc,
+ 'functions': ['check'],
+ 'func_desc': {
+ },
+ },
+ }
+}
+
diff --git a/pym/repoman/modules/scan/arches/arches.py b/pym/repoman/modules/scan/arches/arches.py
new file mode 100644
index 0000000..2c32028
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/arches.py
@@ -0,0 +1,64 @@
+# -*- coding:utf-8 -*-
+
+
+class ArchChecks(object):
+
+ def __init__(self, **kwargs):
+ self.options = kwargs.get('options')
+ self.repo_settings = kwargs.get('repo_settings')
+ self.profiles = kwargs.get('profiles')
+
+ def check(self, **kwargs):
+ ebuild = kwargs.get('ebuild')
+ if self.options.ignore_arches:
+ arches = [[
+ self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
+ self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
+ else:
+ arches = set()
+ for keyword in ebuild.keywords:
+ if keyword[0] == "-":
+ continue
+ elif keyword[0] == "~":
+ arch = keyword[1:]
+ if arch == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (
+ expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, arch, (arch, keyword)))
+ else:
+ # For ebuilds with stable keywords, check if the
+ # dependencies are satisfiable for unstable
+ # configurations, since use.stable.mask is not
+ # applied for unstable configurations (see bug
+ # 563546).
+ if keyword == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (expanded_arch,)))
+ arches.add(
+ (keyword, expanded_arch,
+ (expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, keyword, (keyword,)))
+ arches.add((keyword, keyword,
+ (keyword, "~" + keyword)))
+ if not arches:
+ # Use an empty profile for checking dependencies of
+ # packages that have empty KEYWORDS.
+ arches.add(('**', '**', ('**',)))
+ return {'continue': False, 'arches': arches}
+
+ @property
+ def runInPkgs(self):
+ return (False, [])
+
+ @property
+ def runInEbuilds(self):
+ return (True, [self.check])
diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index f0a4bef..7a1433a 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -304,6 +304,7 @@ class Scanner(object):
('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'),
('thirdpartymirrors', 'ThirdPartyMirrors'),
('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
+ ('arches', 'ArchChecks'),
]:
if mod[0]:
mod_class = MODULE_CONTROLLER.get_class(mod[0])
@@ -354,50 +355,6 @@ class Scanner(object):
self.liveeclasscheck.check(
dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild, dynamic_data['ebuild'].keywords, self.repo_metadata['pmaskdict'])
- if self.options.ignore_arches:
- arches = [[
- self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
- self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
- else:
- arches = set()
- for keyword in dynamic_data['ebuild'].keywords:
- if keyword[0] == "-":
- continue
- elif keyword[0] == "~":
- arch = keyword[1:]
- if arch == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (
- expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, arch, (arch, keyword)))
- else:
- # For ebuilds with stable keywords, check if the
- # dependencies are satisfiable for unstable
- # configurations, since use.stable.mask is not
- # applied for unstable configurations (see bug
- # 563546).
- if keyword == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (expanded_arch,)))
- arches.add(
- (keyword, expanded_arch,
- (expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, keyword, (keyword,)))
- arches.add((keyword, keyword,
- (keyword, "~" + keyword)))
- if not arches:
- # Use an empty profile for checking dependencies of
- # packages that have empty KEYWORDS.
- arches.add(('**', '**', ('**',)))
-
unknown_pkgs = set()
baddepsyntax = False
badlicsyntax = False
@@ -554,7 +511,7 @@ class Scanner(object):
continue
relevant_profiles = []
- for keyword, arch, groups in arches:
+ for keyword, arch, groups in dynamic_data['arches']:
if arch not in self.profiles:
# A missing profile will create an error further down
# during the KEYWORDS verification.
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: pym/repoman/modules/scan/arches/, pym/repoman/
@ 2016-01-31 20:03 Brian Dolbec
0 siblings, 0 replies; 6+ messages in thread
From: Brian Dolbec @ 2016-01-31 20:03 UTC (permalink / raw
To: gentoo-commits
commit: b38df6a879419a0cc085e3a74bbdc1b332e238c2
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 3 19:11:22 2016 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 30 20:25:07 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=b38df6a8
repoman: Create a new ArchChecks class plugin
pym/repoman/modules/scan/arches/__init__.py | 24 +++++++++++
pym/repoman/modules/scan/arches/arches.py | 64 +++++++++++++++++++++++++++++
pym/repoman/scanner.py | 47 +--------------------
3 files changed, 90 insertions(+), 45 deletions(-)
diff --git a/pym/repoman/modules/scan/arches/__init__.py b/pym/repoman/modules/scan/arches/__init__.py
new file mode 100644
index 0000000..d080c30
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/__init__.py
@@ -0,0 +1,24 @@
+# Copyright 2015-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+doc = """Arches plug-in module for repoman.
+Performs archs checks on ebuilds."""
+__doc__ = doc[:]
+
+
+module_spec = {
+ 'name': 'arches',
+ 'description': doc,
+ 'provides':{
+ 'archs-module': {
+ 'name': "arches",
+ 'sourcefile': "arches",
+ 'class': "ArchChecks",
+ 'description': doc,
+ 'functions': ['check'],
+ 'func_desc': {
+ },
+ },
+ }
+}
+
diff --git a/pym/repoman/modules/scan/arches/arches.py b/pym/repoman/modules/scan/arches/arches.py
new file mode 100644
index 0000000..2c32028
--- /dev/null
+++ b/pym/repoman/modules/scan/arches/arches.py
@@ -0,0 +1,64 @@
+# -*- coding:utf-8 -*-
+
+
+class ArchChecks(object):
+
+ def __init__(self, **kwargs):
+ self.options = kwargs.get('options')
+ self.repo_settings = kwargs.get('repo_settings')
+ self.profiles = kwargs.get('profiles')
+
+ def check(self, **kwargs):
+ ebuild = kwargs.get('ebuild')
+ if self.options.ignore_arches:
+ arches = [[
+ self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
+ self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
+ else:
+ arches = set()
+ for keyword in ebuild.keywords:
+ if keyword[0] == "-":
+ continue
+ elif keyword[0] == "~":
+ arch = keyword[1:]
+ if arch == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (
+ expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, arch, (arch, keyword)))
+ else:
+ # For ebuilds with stable keywords, check if the
+ # dependencies are satisfiable for unstable
+ # configurations, since use.stable.mask is not
+ # applied for unstable configurations (see bug
+ # 563546).
+ if keyword == "*":
+ for expanded_arch in self.profiles:
+ if expanded_arch == "**":
+ continue
+ arches.add(
+ (keyword, expanded_arch, (expanded_arch,)))
+ arches.add(
+ (keyword, expanded_arch,
+ (expanded_arch, "~" + expanded_arch)))
+ else:
+ arches.add((keyword, keyword, (keyword,)))
+ arches.add((keyword, keyword,
+ (keyword, "~" + keyword)))
+ if not arches:
+ # Use an empty profile for checking dependencies of
+ # packages that have empty KEYWORDS.
+ arches.add(('**', '**', ('**',)))
+ return {'continue': False, 'arches': arches}
+
+ @property
+ def runInPkgs(self):
+ return (False, [])
+
+ @property
+ def runInEbuilds(self):
+ return (True, [self.check])
diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index 2c910a6..829dba1 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -304,6 +304,7 @@ class Scanner(object):
('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'),
('thirdpartymirrors', 'ThirdPartyMirrors'),
('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
+ ('arches', 'ArchChecks'),
]:
if mod[0]:
mod_class = MODULE_CONTROLLER.get_class(mod[0])
@@ -354,50 +355,6 @@ class Scanner(object):
self.liveeclasscheck.check(
dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild, dynamic_data['ebuild'].keywords, self.repo_metadata['pmaskdict'])
- if self.options.ignore_arches:
- arches = [[
- self.repo_settings.repoman_settings["ARCH"], self.repo_settings.repoman_settings["ARCH"],
- self.repo_settings.repoman_settings["ACCEPT_KEYWORDS"].split()]]
- else:
- arches = set()
- for keyword in dynamic_data['ebuild'].keywords:
- if keyword[0] == "-":
- continue
- elif keyword[0] == "~":
- arch = keyword[1:]
- if arch == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (
- expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, arch, (arch, keyword)))
- else:
- # For ebuilds with stable keywords, check if the
- # dependencies are satisfiable for unstable
- # configurations, since use.stable.mask is not
- # applied for unstable configurations (see bug
- # 563546).
- if keyword == "*":
- for expanded_arch in self.profiles:
- if expanded_arch == "**":
- continue
- arches.add(
- (keyword, expanded_arch, (expanded_arch,)))
- arches.add(
- (keyword, expanded_arch,
- (expanded_arch, "~" + expanded_arch)))
- else:
- arches.add((keyword, keyword, (keyword,)))
- arches.add((keyword, keyword,
- (keyword, "~" + keyword)))
- if not arches:
- # Use an empty profile for checking dependencies of
- # packages that have empty KEYWORDS.
- arches.add(('**', '**', ('**',)))
-
unknown_pkgs = set()
baddepsyntax = False
badlicsyntax = False
@@ -554,7 +511,7 @@ class Scanner(object):
continue
relevant_profiles = []
- for keyword, arch, groups in arches:
+ for keyword, arch, groups in dynamic_data['arches']:
if arch not in self.profiles:
# A missing profile will create an error further down
# during the KEYWORDS verification.
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-01-31 20:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-30 8:00 [gentoo-commits] proj/portage:repoman commit in: pym/repoman/modules/scan/arches/, pym/repoman/ Brian Dolbec
-- strict thread matches above, loose matches on Subject: below --
2016-01-31 20:03 Brian Dolbec
2016-01-30 6:58 Brian Dolbec
2016-01-21 18:30 Brian Dolbec
2016-01-10 20:17 Brian Dolbec
2016-01-06 4:21 Brian Dolbec
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox