[gentoo-commits] proj/portage:master commit in: repoman/man/, repoman/cnf/repository/, repoman/cnf/qa_data/, ...
commit: 15cbe87076b512b318fac1729ec94e6d6674a95a Author: Zac Medico gentoo org> AuthorDate: Sat Mar 27 23:15:16 2021 + Commit: Zac Medico gentoo org> CommitDate: Mon Mar 29 04:46:41 2021 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=15cbe870 repoman: add variable.phase check like pkgcheck VariableScopeCheck (bug 608664) The variable.phase check is inspired by pkgcheck's VariableScopeCheck, and uses essentially the same PMS data to drive the check. References: - https://projects.gentoo.org/pms/7/pms.html#x1-10900011.1 - https://pkgcore.github.io/pkgcheck/_modules/pkgcheck/checks/codingstyle.html#VariableScopeCheck - https://bugs.gentoo.org/775191 Bug: https://bugs.gentoo.org/608664 Signed-off-by: Zac Medico gentoo.org> repoman/cnf/qa_data/qa_data.yaml | 1 + repoman/cnf/repository/qa_data.yaml| 1 + repoman/cnf/repository/repository.yaml | 1 + .../repoman/modules/linechecks/phases/__init__.py | 6 + .../lib/repoman/modules/linechecks/phases/phase.py | 132 +++-- repoman/lib/repoman/tests/simple/test_simple.py| 28 - repoman/man/repoman.1 | 5 +- 7 files changed, 162 insertions(+), 12 deletions(-) diff --git a/repoman/cnf/qa_data/qa_data.yaml b/repoman/cnf/qa_data/qa_data.yaml index 29a3d6e9f..530c8c806 100644 --- a/repoman/cnf/qa_data/qa_data.yaml +++ b/repoman/cnf/qa_data/qa_data.yaml @@ -129,6 +129,7 @@ qahelp: obsolete: "The ebuild makes use of an obsolete construct" variable: invalidchar: "A variable contains an invalid character that is not part of the ASCII character set" +phase: "Variable referenced found within scope of incorrect ebuild phase as specified by PMS" readonly: "Assigning a readonly variable" usedwithhelpers: "Ebuild uses D, ROOT, BROOT, ED, EROOT or EPREFIX with helpers" virtual: diff --git a/repoman/cnf/repository/qa_data.yaml b/repoman/cnf/repository/qa_data.yaml index 3fe6b53d5..2249000c3 100644 --- a/repoman/cnf/repository/qa_data.yaml +++ b/repoman/cnf/repository/qa_data.yaml @@ -80,6 +80,7 @@ qawarnings: - usage.obsolete - upstream.workaround - uri.https +- variable.phase - virtual.suspect - wxwidgets.eclassnotused diff --git a/repoman/cnf/repository/repository.yaml b/repoman/cnf/repository/repository.yaml index ad00d18c1..dbc1decaa 100644 --- a/repoman/cnf/repository/repository.yaml +++ b/repoman/cnf/repository/repository.yaml @@ -61,6 +61,7 @@ linechecks_modules: emakeparallel srccompileeconf srcunpackpatches +pmsvariablerefphasescope portageinternal portageinternalvariableassignment quote diff --git a/repoman/lib/repoman/modules/linechecks/phases/__init__.py b/repoman/lib/repoman/modules/linechecks/phases/__init__.py index 686c675d2..e166b31a3 100644 --- a/repoman/lib/repoman/modules/linechecks/phases/__init__.py +++ b/repoman/lib/repoman/modules/linechecks/phases/__init__.py @@ -29,6 +29,12 @@ module_spec = { 'class': "SrcUnpackPatches", 'description': doc, }, + 'pmsvariablerefphasescope-check': { + 'name': "pmsvariablerefphasescope", + 'sourcefile': "phase", + 'class': "PMSVariableReference", + 'description': doc, + }, }, 'version': 1, } diff --git a/repoman/lib/repoman/modules/linechecks/phases/phase.py b/repoman/lib/repoman/modules/linechecks/phases/phase.py index 74cf4608f..433e93601 100644 --- a/repoman/lib/repoman/modules/linechecks/phases/phase.py +++ b/repoman/lib/repoman/modules/linechecks/phases/phase.py @@ -1,7 +1,19 @@ +import fnmatch import re - -from portage.eapi import eapi_has_src_prepare_and_src_configure +import types + +from portage.eapi import ( + eapi_has_broot, + eapi_has_sysroot, + eapi_has_src_prepare_and_src_configure, + eapi_exports_AA, + eapi_exports_replace_vars, + eapi_exports_ECLASSDIR, + eapi_exports_PORTDIR, + eapi_supports_prefix, + eapi_exports_merge_type, +) from repoman.modules.linechecks.base import LineCheck @@ -9,11 +21,22 @@ class PhaseCheck(LineCheck): """ basic class for function detection """ func_end_re = re.compile(r'^\}$') - phases_re = re.compile('(%s)' % '|'.join(( - 'pkg_pretend', 'pkg_setup', 'src_unpack', 'src_prepare', - 'src_configure', 'src_compile', 'src_test', 'src_install', - 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', - 'pkg_config'))) + phase_funcs = ( + 'pkg_pretend', + 'pkg_setup', + 'src_unpack', + 'src_prepare', + 'src_configure', + 'src_compile', + 'src_test', +
[gentoo-commits] proj/portage:master commit in: repoman/man/, repoman/lib/repoman/, repoman/lib/repoman/modules/scan/depend/, ...
commit: 1b1e0fcf0adf4aab07083edcd3bc82a988732137 Author: Zac Medico gentoo org> AuthorDate: Thu Dec 5 22:23:28 2019 + Commit: Zac Medico gentoo org> CommitDate: Fri Dec 6 07:20:29 2019 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=1b1e0fcf repoman: support profiles/package.deprecated (bug 702100) Bug: https://bugs.gentoo.org/702100 Signed-off-by: Zac Medico gentoo.org> repoman/cnf/qa_data/qa_data.yaml | 1 + repoman/cnf/repository/qa_data.yaml | 1 + repoman/lib/repoman/modules/scan/depend/_depend_checks.py | 14 ++ repoman/lib/repoman/scanner.py| 4 repoman/man/repoman.1 | 3 +++ 5 files changed, 23 insertions(+) diff --git a/repoman/cnf/qa_data/qa_data.yaml b/repoman/cnf/qa_data/qa_data.yaml index 6aad56b8c..9a807aaf3 100644 --- a/repoman/cnf/qa_data/qa_data.yaml +++ b/repoman/cnf/qa_data/qa_data.yaml @@ -26,6 +26,7 @@ qahelp: badinexp: "User-visible ebuilds with unsatisfied dependencies (matched against *visible* ebuilds) in experimental arch" badmaskedinexp: "Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds) in experimental arch" badtilde: "Uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)" +deprecated: "Ebuild has a dependency that refers to a deprecated package" equalsversion: "Suspicious =-dependency with a specific version and no rev. Please either use ~ if any revision is acceptable, or append -r0 to silence the warning." missingslot: "RDEPEND matches more than one SLOT but does not specify a slot and/or use the := or :* slot operator" perlcore: "This ebuild directly depends on a package in perl-core; it should use the corresponding virtual instead." diff --git a/repoman/cnf/repository/qa_data.yaml b/repoman/cnf/repository/qa_data.yaml index c96ce46a9..464482056 100644 --- a/repoman/cnf/repository/qa_data.yaml +++ b/repoman/cnf/repository/qa_data.yaml @@ -44,6 +44,7 @@ qawarnings: - dependency.badindev - dependency.badmaskedindev - dependency.badtilde +- dependency.deprecated - dependency.equalsversion - dependency.missingslot - dependency.perlcore diff --git a/repoman/lib/repoman/modules/scan/depend/_depend_checks.py b/repoman/lib/repoman/modules/scan/depend/_depend_checks.py index 690b95aa0..e01024da2 100644 --- a/repoman/lib/repoman/modules/scan/depend/_depend_checks.py +++ b/repoman/lib/repoman/modules/scan/depend/_depend_checks.py @@ -108,6 +108,20 @@ def _depend_checks(ebuild, pkg, portdb, qatracker, repo_metadata, qadata): not atom.cp.startswith("virtual/"): unknown_pkgs.add((mytype, atom.unevaluated_atom)) + if not atom.blocker: + all_deprecated = False + for pkg_match in portdb.xmatch("match-all", atom): + if any(repo_metadata['package.deprecated'].iterAtomsForPackage(pkg_match)): + all_deprecated = True + else: + all_deprecated = False + break + + if all_deprecated: + qatracker.add_error( + 'dependency.deprecated', + ebuild.relative_path + ": '%s'" % atom) + if pkg.category != "virtual": if not is_blocker and \ atom.cp in qadata.suspect_virtual: diff --git a/repoman/lib/repoman/scanner.py b/repoman/lib/repoman/scanner.py index 06234b0ad..5db54bb97 100644 --- a/repoman/lib/repoman/scanner.py +++ b/repoman/lib/repoman/scanner.py @@ -8,6 +8,7 @@ from itertools import chain import portage from portage import normalize_path from portage import os +from portage._sets.base import InternalPackageSet from portage.output import green from portage.util.futures.extendedfutures import ExtendedFuture from repoman.metadata import get_metadata_xsd @@ -93,6 +94,9 @@ class Scanner(object): 'profile_list': profile_list, 'pmaskdict': global_pmaskdict, 'lic_deprecated': liclist_deprecated, + 'package.deprecated': InternalPackageSet(initial_atoms=portage.util.stack_lists( + [portage.util.grabfile_package(os.path.join(path, 'profiles', 'package.deprecated'), recursive=Tru
[gentoo-commits] proj/portage:master commit in: repoman/man/
commit: 0d7aa0d4991f402c2ff7c386419e177a5244c9a0 Author: Zac Medico gentoo org> AuthorDate: Thu Nov 21 20:16:08 2019 + Commit: Zac Medico gentoo org> CommitDate: Thu Nov 21 20:17:25 2019 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=0d7aa0d4 repoman/man/repoman.1: fix \fI typo $ groff -man repoman/man/repoman.1 >/dev/null repoman/man/repoman.1:105: warning: can't find font `L' Reported-by: Ulrich Müller gentoo.org> Fixes: 2ecf4e2b0ebd ("repoman: add --experimental-repository-modules= option") Signed-off-by: Zac Medico gentoo.org> repoman/man/repoman.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index f33fb6098..7bd440a4c 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -102,7 +102,7 @@ internal eclass database becomes outdated. .TP \fB\-\-experimental\-repository\-modules=\fR Enable experimental repository modules: -\fLhttps://wiki.gentoo.org/wiki/Project:Portage/Repoman-Module-specs\fR +\fIhttps://wiki.gentoo.org/wiki/Project:Portage/Repoman-Module-specs\fR .TP \fB\-\-if\-modified=\fR Only check packages that have uncommitted modifications
[gentoo-commits] proj/portage:master commit in: repoman/man/, repoman/lib/repoman/tests/simple/, repoman/lib/repoman/, ...
commit: e9bb1e9681685f4e4d7174f51751356fd3f67d0c Author: Sergei Trofimovich gentoo org> AuthorDate: Tue Nov 19 00:21:13 2019 + Commit: Zac Medico gentoo org> CommitDate: Wed Nov 20 10:29:14 2019 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=e9bb1e96 repoman: add --include-profiles=PROFILES repoman slows down ~linearly with amount of profiles being scanned. In case of amd64 we have 28 stable profiles. To speed up processing and fit into time budged of various CIs we can split the work across different processes that handle different profiles. Example benchmark on ::haskell overlay: $ ./repoman full --include-arches=amd64 ~65 minutes $ ./repoman full --include-profiles=default/linux/amd64/17.0 ~4 minutes This allows for a crude sharding of work across processes and allows for cheap tree-wide scans for early failures. Bug: https://bugs.gentoo.org/700456 Signed-off-by: Sergei Trofimovich gentoo.org> Signed-off-by: Zac Medico gentoo.org> repoman/lib/repoman/actions.py | 4 repoman/lib/repoman/argparser.py| 7 +++ repoman/lib/repoman/modules/scan/depend/__init__.py | 3 ++- repoman/lib/repoman/modules/scan/depend/profile.py | 9 +++-- repoman/lib/repoman/scanner.py | 5 + repoman/lib/repoman/tests/simple/test_simple.py | 1 + repoman/man/repoman.1 | 4 7 files changed, 30 insertions(+), 3 deletions(-) diff --git a/repoman/lib/repoman/actions.py b/repoman/lib/repoman/actions.py index 1c9989a72..92d4d4e94 100644 --- a/repoman/lib/repoman/actions.py +++ b/repoman/lib/repoman/actions.py @@ -412,6 +412,10 @@ the whole commit message to abort. report_options.append( "--include-arches=\"%s\"" % " ".join(sorted(self.scanner.include_arches))) + if self.scanner.include_profiles is not None: + report_options.append( + "--include-profiles=\"%s\"" % + " ".join(sorted(self.scanner.include_profiles))) if portage_version is None: sys.stderr.write("Failed to insert portage version in message!\n") diff --git a/repoman/lib/repoman/argparser.py b/repoman/lib/repoman/argparser.py index fa0e6ff90..670a0e91d 100644 --- a/repoman/lib/repoman/argparser.py +++ b/repoman/lib/repoman/argparser.py @@ -164,6 +164,13 @@ def parse_args(argv, repoman_default_opts): 'A space separated list of arches used to ' 'filter the selection of profiles for dependency checks')) + parser.add_argument( + '--include-profiles', + dest='include_profiles', metavar='PROFILES', action='append', + help=( + 'A space separated list of profiles used to ' + 'define the selection of profiles for dependency checks')) + parser.add_argument( '-d', '--include-dev', dest='include_dev', action='store_true', default=False, diff --git a/repoman/lib/repoman/modules/scan/depend/__init__.py b/repoman/lib/repoman/modules/scan/depend/__init__.py index c3cc0ddeb..9068760bb 100644 --- a/repoman/lib/repoman/modules/scan/depend/__init__.py +++ b/repoman/lib/repoman/modules/scan/depend/__init__.py @@ -19,7 +19,8 @@ module_spec = { 'func_desc': { }, 'mod_kwargs': ['qatracker', 'portdb', 'profiles', 'options', - 'repo_metadata', 'repo_settings', 'include_arches', 'caches', + 'repo_metadata', 'repo_settings', 'include_arches', + 'include_profiles', 'caches', 'repoman_incrementals', 'env', 'have', 'dev_keywords' ], 'func_kwargs': { diff --git a/repoman/lib/repoman/modules/scan/depend/profile.py b/repoman/lib/repoman/modules/scan/depend/profile.py index d980f4eca..39d8b550c 100644 --- a/repoman/lib/repoman/modules/scan/depend/profile.py +++ b/repoman/lib/repoman/modules/scan/depend/profile.py @@ -33,6 +33,7 @@ class ProfileDependsChecks(ScanBase): @param options: cli options @param repo_settings: repository settings instance @param include_arches: set + @param include_profiles: set @param caches: dictionary of our caches @param repoman_incrementals: tuple @param env: the environment @@ -46,6 +47,7 @@ class ProfileDependsChecks(ScanBase): self.options = kwargs.get('options') self.repo_settings = kwargs.get('repo_settings') self.include_arches = kwargs.get('include_arches') + self.include_
[gentoo-commits] proj/portage:master commit in: repoman/man/
commit: 47a3f7e905b3ba252659fa1a98071d03a1560807 Author: zlg gentoo org> AuthorDate: Thu Mar 29 22:31:22 2018 + Commit: Zac Medico gentoo org> CommitDate: Fri Mar 30 02:31:44 2018 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=47a3f7e9 repoman man/repoman.1: Add "BEHAVIOR" section (fix bug 650520) The manpage references "directory tree", but doesn't explicitly outline the expected behavior when run anywhere above the package directory level. Exact name of section, location within the manpage, and/or wording open to suggestions. Bug: https://bugs.gentoo.org/650520 Requested-by: zlg gentoo.org> Signed-off-by: zlg gentoo.org> repoman/man/repoman.1 | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index db6526b5e..6a591e59d 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -1,4 +1,4 @@ -.TH "REPOMAN" "1" "Jun 2017" "Repoman VERSION" "Repoman" +.TH "REPOMAN" "1" "Mar 2018" "Repoman VERSION" "Repoman" .SH NAME repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree @@ -437,6 +437,12 @@ not directly. .B wxwidgets.eclassnotused Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass. Refer to bug #305469 for more information. +.SH "BEHAVIOR" +When invoked from a level higher than a package directory, \fBrepoman\fR +will recurse through a directory tree and execute the given command +on a per\-package basis, e.g. \fBrepoman manifest\fR at the root of +the repository will generate manifests for every package within the +repository. .SH "REPORTING BUGS" Please report bugs via https://bugs.gentoo.org/ .SH AUTHORS
[gentoo-commits] proj/portage:master commit in: repoman/man/, repoman/pym/repoman/
commit: 342d3d5479b08d97635bc09615083b5a4493eb92 Author: Michał Górny gentoo org> AuthorDate: Sat Sep 2 21:55:08 2017 + Commit: Michał Górny gentoo org> CommitDate: Mon Sep 11 20:32:44 2017 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=342d3d54 repoman: Unify usage of --bug and --closes options Replace the different logic used for --bug and --closes options with a uniform solution. As a result, --closes now interprets numbers as Gentoo bug numbers rather than GitHub pull request numbers. This change is mostly done since the 'Closes' tag now started being used to resolve Gentoo bugs. While changing the logic could be confusing, it has not made it into a release yet and the GitHub default would not be very useful anyway. After all, repoman is normally used to commit the changes before a pull request is created, which implies that the user does not know the pull request number yet. The 'Closes' tag for pull request is usually added by the reviewer before merging, using 'git --amend' since repoman has no amending option. That considered, it is quite unlikely that anyone would find --closes with pull request numbers useful. repoman/man/repoman.1 | 7 --- repoman/pym/repoman/actions.py | 17 - 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index a49c72c0d..41df8ed2f 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -31,9 +31,10 @@ is forced for known bug trackers. \fB-c\fR, \fB--closes\fR Include a \fBCloses\fR tag in the commit message footer that can be used to close pull requests (and issues) on GitHub and other compatible -services (GitLab, Bitbucket). The argument can be either a PR number for -the gentoo/gentoo GitHub repository or a full PR/bug URL. For bug URLs, -HTTPS is forced automatically for known bug/PR trackers. +services (GitLab, Bitbucket). The argument can be either a Gentoo bug +number or a full PR/bug URL. Gentoo bug URLs are automatically shortened +to the canonical \fBhttps://bugs.gentoo.org/NN\fR form, and HTTPS +is forced for known bug trackers. .TP \fB\-\-digest=\fR Automatically update Manifest digests for modified files. This diff --git a/repoman/pym/repoman/actions.py b/repoman/pym/repoman/actions.py index 2112299c0..b76a6e466 100644 --- a/repoman/pym/repoman/actions.py +++ b/repoman/pym/repoman/actions.py @@ -357,7 +357,9 @@ class Actions(object): # Common part of commit footer commit_footer = "\n" - for bug in self.options.bug: + for tag, bug in chain( + (('Bug', x) for x in self.options.bug), + (('Closes', x) for x in self.options.closes)): # case 1: pure number NN if bug.isdigit(): bug = 'https://bugs.gentoo.org/%s' % (bug, ) @@ -374,18 +376,7 @@ class Actions(object): elif (purl.scheme == 'http' and purl.netloc in self.https_bugtrackers): bug = urlunsplit(('https',) + purl[1:]) - commit_footer += "Bug: %s\n" % (bug, ) - - for closes in self.options.closes: - # case 1: pure number - if closes.isdigit(): - closes = 'https://github.com/gentoo/gentoo/pull/%s' % (closes, ) - else: - purl = urlsplit(closes) - # case 2: bug tracker w/ http -> https - if purl.netloc in self.https_bugtrackers: - closes = urlunsplit(('https',) + purl[1:]) - commit_footer += "Closes: %s\n" % (closes, ) + commit_footer += "%s: %s\n" % (tag, bug) if dco_sob: commit_footer += "Signed-off-by: %s\n" % (dco_sob, )
[gentoo-commits] proj/portage:master commit in: repoman/man/
commit: ee39ad638e341de937fc1e5ccf5dc653f641b4e9 Author: Michał Górny gentoo org> AuthorDate: Sat Sep 2 19:08:45 2017 + Commit: Michał Górny gentoo org> CommitDate: Mon Sep 11 20:32:45 2017 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=ee39ad63 repoman: Update --bug/--closes description for bugs.g.o hooks Update the description for --bug and --closes to account for the fact that the tags are now handled by git hooks on Gentoo Infra, and cause actions on Gentoo Bugzilla. Closes: https://github.com/gentoo/portage/pull/203 Reviewed-by: Zac Medico gentoo.org> repoman/man/repoman.1 | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index 41df8ed2f..813bdae21 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -27,14 +27,23 @@ be either a Gentoo bug number or a full bug URL (either Gentoo or upstream). Gentoo bug URLs are automatically shortened to the canonical \fBhttps://bugs.gentoo.org/NN\fR form, and HTTPS is forced for known bug trackers. + +When pushing to the Gentoo repository, the reference to the commit +will be automatically added as a comment on the bug. .TP \fB-c\fR, \fB--closes\fR Include a \fBCloses\fR tag in the commit message footer that can be used -to close pull requests (and issues) on GitHub and other compatible -services (GitLab, Bitbucket). The argument can be either a Gentoo bug +to close bugs and pull requests. The argument can be either a Gentoo bug number or a full PR/bug URL. Gentoo bug URLs are automatically shortened to the canonical \fBhttps://bugs.gentoo.org/NN\fR form, and HTTPS is forced for known bug trackers. + +When pushing to the Gentoo repository, the referenced bugs will be +closed as RESOLVED/FIXED automatically with a comment referencing +the commit. Furthermore, GitHub pull requests will be closed as well +due to the automatic GitHub mirroring. + +Other platforms using the \fBCloses\fR tag include GitLab and Bitbucket. .TP \fB\-\-digest=\fR Automatically update Manifest digests for modified files. This
[gentoo-commits] proj/portage:master commit in: repoman/man/
commit: 02eeaa4bd0c5bb4a22120bb5aca378cb0935d5c7 Author: Zac Medico gentoo org> AuthorDate: Sat Jun 24 18:28:29 2017 + Commit: Zac Medico gentoo org> CommitDate: Sat Jun 24 18:29:39 2017 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=02eeaa4b repoman/man/repoman.1: refer to the vcs instead of cvs Reported-by: Devan Franchini gentoo.org> repoman/man/repoman.1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index 78e4b7275..4101c283f 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -1,4 +1,4 @@ -.TH "REPOMAN" "1" "Feb 2017" "Repoman VERSION" "Repoman" +.TH "REPOMAN" "1" "Jun 2017" "Repoman VERSION" "Repoman" .SH NAME repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree @@ -254,7 +254,7 @@ An ebuild was added but the ChangeLog was not modified Missing ChangeLog files .TP .B changelog.notadded -ChangeLogs that exist but have not been added to cvs +ChangeLogs that exist but have not been added to the vcs .TP .B dependency.bad User-visible ebuilds with unsatisfied dependencies (matched against *visible* @@ -317,7 +317,7 @@ Ebuild files that do not have the same name as their parent directory Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild. .TP .B ebuild.notadded -Ebuilds that exist but have not been added to cvs +Ebuilds that exist but have not been added to the vcs .TP .B ebuild.output A simple sourcing of the ebuild produces output; this breaks ebuild policy.
[gentoo-commits] proj/portage:master commit in: repoman/man/, repoman/pym/repoman/modules/scan/fetch/, repoman/pym/repoman/
commit: 04e5f8dee2130901386f4f1b65328bbf0b8104c1 Author: Ulrich Müller gentoo org> AuthorDate: Sun Feb 12 16:21:51 2017 + Commit: Zac Medico gentoo org> CommitDate: Sun Feb 12 17:22:45 2017 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=04e5f8de repoman: Check for empty files in filesdir. This checks for files with zero size in filesdir. The QA script at https://qa-reports.gentoo.org/output/find-binary-files.txt reports a couple of them which at least in part are blunders. repoman/man/repoman.1 | 5 - repoman/pym/repoman/modules/scan/fetch/fetches.py | 3 +++ repoman/pym/repoman/qa_data.py| 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index 3b3aec27e..9b106906f 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -1,4 +1,4 @@ -.TH "REPOMAN" "1" "Dec 2016" "Repoman VERSION" "Repoman" +.TH "REPOMAN" "1" "Feb 2017" "Repoman VERSION" "Repoman" .SH NAME repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree @@ -328,6 +328,9 @@ error or digest verification failure. .B file.UTF8 File is not UTF8 compliant .TP +.B file.empty +Empty file in the files directory +.TP .B file.executable Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit diff --git a/repoman/pym/repoman/modules/scan/fetch/fetches.py b/repoman/pym/repoman/modules/scan/fetch/fetches.py index 9ee3c652a..241cfaa7b 100644 --- a/repoman/pym/repoman/modules/scan/fetch/fetches.py +++ b/repoman/pym/repoman/modules/scan/fetch/fetches.py @@ -130,6 +130,9 @@ class FetchChecks(ScanBase): self.qatracker.add_error( "file.size", "(%d KiB) %s/files/%s" % ( mystat.st_size // 1024, xpkg, y)) + elif mystat.st_size == 0: + self.qatracker.add_error( + "file.empty", "%s/files/%s" % (xpkg, y)) index = self.repo_settings.repo_config.find_invalid_path_char(y) if index != -1: diff --git a/repoman/pym/repoman/qa_data.py b/repoman/pym/repoman/qa_data.py index 29a95abf6..0dc32789f 100644 --- a/repoman/pym/repoman/qa_data.py +++ b/repoman/pym/repoman/qa_data.py @@ -67,6 +67,8 @@ qahelp = { "Files in the files directory must be under 20 KiB"), "file.size.fatal": ( "Files in the files directory must be under 60 KiB"), + "file.empty": ( + "Empty file in the files directory"), "file.name": ( "File/dir name must be composed" " of only the following chars: %s " % allowed_filename_chars), @@ -262,6 +264,7 @@ qawarnings = set(( "ebuild.minorsyn", "ebuild.badheader", "ebuild.patches", + "file.empty", "file.size", "inherit.unused", "inherit.deprecated",
[gentoo-commits] proj/portage:master commit in: repoman/man/
commit: 162ac7671b85ee0e09a73680031f6d2795ec91bd Author: Brian Dolbec gentoo org> AuthorDate: Mon Dec 5 19:31:45 2016 + Commit: Brian Dolbec gentoo org> CommitDate: Mon Dec 5 20:35:36 2016 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=162ac767 repoman/man/repoman.1: Update man page repoman/man/repoman.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index 8df3207..f99197b 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -1,4 +1,4 @@ -.TH "REPOMAN" "1" "Jun 2015" "Portage VERSION" "Portage" +.TH "REPOMAN" "1" "Dec 2016" "Repoman VERSION" "Repoman" .SH NAME repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
[gentoo-commits] proj/portage:master commit in: repoman/man/, repoman/pym/repoman/
commit: 3aa9b7ad3e12d0c4b1177d6a52a02ae14edff3d5 Author: Brian Dolbec gentoo org> AuthorDate: Thu Sep 15 22:28:47 2016 + Commit: Brian Dolbec gentoo org> CommitDate: Fri Sep 16 19:36:09 2016 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=3aa9b7ad repoman: Update man page and commitmsgfile option Use .lower() on the leading 9 characters of the message text for the substitution test. Update the man page for this new templating capability. repoman/man/repoman.1 | 6 +- repoman/pym/repoman/actions.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index 4a9122e..8df3207 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -109,7 +109,11 @@ Behave as if no package.mask entries exist (not allowed with commit mode) Adds a commit message via the command line .TP \fB-M\fR, \fB--commitmsgfile\fR -Adds a commit message from the specified file +Adds a commit message from the specified file. This option also will perform +an automatic text substitution of a leading "cat/pkg: " string (upper or lower +case) with the actual category/package prefix as defined by the required message +format. Use this option for templating a common commit message for multiple +package updates. .TP \fB-V\fR, \fB--version\fR Show version info diff --git a/repoman/pym/repoman/actions.py b/repoman/pym/repoman/actions.py index 0534c29..796dbaf 100644 --- a/repoman/pym/repoman/actions.py +++ b/repoman/pym/repoman/actions.py @@ -108,7 +108,7 @@ class Actions(object): " --commitmsgfile='%s'\n" % self.options.commitmsgfile) else: raise - if commitmessage[:9] in ("cat/pkg: ", "CAT/PKG: "): + if commitmessage[:9].lower() in ("cat/pkg: ",): commitmessage = self.msg_prefix() + commitmessage[9:] if not commitmessage or not commitmessage.strip():