aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* EmptyGlobalAssignment: ignore empty KEYWORDSHEADmasterArthur Zamarin2024-08-012-3/+7
| | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/695 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: test on py3.13Arthur Zamarin2024-07-192-0/+6
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: fix failure on macos pre-stepArthur Zamarin2024-07-191-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* BadDependency: catch := slot operator in PDEPENDArthur Zamarin2024-07-192-4/+16
| | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/693 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* OldPackageNameDep: check for dependency using pkgmoved nameArthur Zamarin2024-07-193-0/+37
| | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/659 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* PythonCompatCheck: add whitelist for backportsArthur Zamarin2024-07-061-1/+13
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* start work on 0.10.31Arthur Zamarin2024-07-041-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* bash-completion: use _filedirArthur Zamarin2024-07-041-15/+15
| | | | | | This handles spaces and such much much better Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* DistutilsNonPEP517Build: handle false positive with eclass definedArthur Zamarin2024-07-041-1/+2
| | | | | | | | Now that most ebuilds use PEP-517 mode, we can relax the check a little to handle cases where the variable is set in the eclass (for example tree-sitter based ebuilds). Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.10.30v0.10.30Arthur Zamarin2024-05-181-0/+12
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: testing on macos is experimentalArthur Zamarin2024-05-181-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* fix with latest tree-sitterArthur Zamarin2024-05-173-5/+4
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* work on 0.10.30Arthur Zamarin2024-05-171-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* NewerEAPIAvailable: fix codeArthur Zamarin2024-05-091-1/+1
| | | | | | Fixes: 4a7a02f60c9f87ad85670e0e798c5aadb8096c92 Resolves: https://github.com/pkgcore/pkgcheck/issues/679 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* NewerEAPIAvailable: handle better when no eclasses EAPIArthur Zamarin2024-05-081-1/+1
| | | | | | | | | It might sometimes not find any intersection of eclasses EAPIs, in which it is better to not report anything then to report a false positive or worse, to explode with exception. Resolves: https://github.com/pkgcore/pkgcheck/issues/679 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* modify test to check that timeout=0 is never passed to _ftp_checkLucio Sauer2024-05-081-0/+2
| | | | | | | | followup to f691ea197c3db922edf33e570708751421db48aa Signed-off-by: Lucio Sauer <watermanpaint@posteo.net> Closes: https://github.com/pkgcore/pkgcheck/pull/678 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* fix crash when performing --timeout 0 call to ftp:// siteLucio Sauer2024-05-083-8/+13
| | | | | | | | | | | | | | e.g. pkgcheck scan --net -c HomepageUrlCheck --timeout 0 app-admin/chrootuid at checkout 127160ac611d39cc6bb2ca21fcf99a086fe2b176 Python's ftplib raises a ValueError with timeout=0. Use timeout=None to put the underlying socket in blocking mode. See https://docs.python.org/3/library/socket.html#socket.socket.settimeout for legal timeout values. Signed-off-by: Lucio Sauer <watermanpaint@posteo.net> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pyproject: bump snakeoil to restore compat with >=python-3.11.9Lucio Sauer2024-05-081-2/+2
| | | | | | | | | ArgumentParser added a separator to its option tuple with >=python-3.11.9, which snakeoil-0.10.7 does not handle correctly. https://github.com/python/cpython/pull/114180 Signed-off-by: Lucio Sauer <watermanpaint@posteo.net> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.10.29v0.10.29Arthur Zamarin2024-03-271-0/+17
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* use flit instead of setuptoolsArthur Zamarin2024-03-235-259/+181
| | | | | | | | | | Since we don't need to build tree-sitter-bash lib, we became pure python package, where flit is much better suited for this task. This now also matches other packages under pkgcore stack. This simplifies a lot the release process, as we don't need to build the lib anymore using cibuildwheel. Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* drop bundling of tree-sitter-bashArthur Zamarin2024-03-2310-301480/+18
| | | | | | | We can use the new tree-sitter-bash python package, which has the library, so we can simplify the build a lot. Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* git addon: support user global gitignoreArthur Zamarin2024-03-232-2/+11
| | | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/671 Resolves: https://github.com/pkgcore/pkgcheck/issues/672 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* NewerEAPIAvailable: committing new ebuilds with old EAPIArthur Zamarin2024-03-022-3/+44
| | | | | | | | Catch cases where new ebuilds are committed with old EAPIs. This is checked during `--commits` stage. Resolves: https://github.com/pkgcore/pkgcheck/issues/666 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* PkgBadlyFormedXml: convert to errorArthur Zamarin2024-03-011-1/+1
| | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/668 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* start work on 0.10.29Arthur Zamarin2024-03-011-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: fix release pipelinev0.10.28Arthur Zamarin2024-03-011-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: fix release pipelineArthur Zamarin2024-03-011-4/+4
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.10.28Arthur Zamarin2024-03-011-0/+16
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Revert "ci: test py3.13"Sam James2024-03-011-5/+0
| | | | | | | | | | | This reverts commit 9cb39d40ef6334961bc247edc722d893abce9985. Temproarily disable Python 3.13 in CI as lxml isn't building anymore, even though it did until about last week... Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/pkgcore/pkgcheck/pull/665 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* git: fix no-copies optionSam James2024-03-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9103513e26f9f2aeade5b563a49697c0e2665e3e. I originally added --no-find-copies in e688357bdc5773009bb2e106075d9852f2513f89 to suppress git being too clever which ends up confusing our git integration, as we're not really interested in copies. I was going to use --no-find-copies-harder but I figured --no-find-copies sounded better as it was less specific and for our purposes here, we don't want copies at all, so why not? But --no-find-copies isn't a boolean option, it's just that until git commit 5825268db1058516d05be03d6a8d8d55eea5a943 ('parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN'), it tolerated it and expanded it to --no-find-copies-harder. Oops! Let's use --no-find-copies-harder as we originally should have, as the only available option to control the behavior, modulo setting a similarity % threshold with --find-copies=n. We're fine to do this as, quoting the git-log docs: "[...] and options applicable to the git-diff[1] command to control how the changes each commit introduces are shown." Bug: https://bugs.gentoo.org/924718 Bug: https://github.com/pkgcore/pkgcheck/issues/663 Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/pkgcore/pkgcheck/pull/664 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* git: revert log no copies optionArthur Zamarin2024-02-161-1/+2
| | | | | | | | | It broke with git-2.43.2, until further upstream work by Sam James, I'll just revert it. Bug: https://bugs.gentoo.org/924718 Reverts: e688357bdc5773009bb2e106075d9852f2513f89 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* addons.net: suppress urllib3 import warningsAnna “CyberTailor”2024-02-091-3/+5
| | | | | | | | | Most notably, this includes NotOpenSSLWarning: https://github.com/urllib3/urllib3/issues/3020#issuecomment-1785873825 Signed-off-by: Anna “CyberTailor” <cyber@sysrq.in> Closes: https://github.com/pkgcore/pkgcheck/pull/661 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* VariableOrderWrong: Enforce skel.ebuild variable orderAnthony Ryan2024-01-28352-407/+491
| | | | | | | | | | | | | | | Gentoo developers are rejecting routine version bumps for ebuild variables being defined in a different order than skel.ebuild. This new lint ensures pkgcheck identifies these problems before we waste developer time. Regarding tests, in spite of the massive diff, all that's been done is re-ordering the variables to avoid introducing new style warnings into existing tests. Signed-off-by: Anthony Ryan <anthonyryan1@gmail.com> Closes: https://github.com/pkgcore/pkgcheck/pull/645 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* docs: Add intersphinx linkagesBrian Harring2024-01-271-0/+10
| | | | | | | | | For any references that go back into those, they're not reachable for doc rendering without this. Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcheck/pull/658 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pyproject: bump dependenciesArthur Zamarin2024-01-261-7/+7
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: bump dependenciesArthur Zamarin2024-01-263-20/+19
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* git-blame-ignore-revs: ignore black 24 formatArthur Zamarin2024-01-261-1/+3
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* reformat with black 24Arthur Zamarin2024-01-264-12/+17
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* start work on 0.10.28Arthur Zamarin2024-01-261-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* release: drop ppc64le & s390xv0.10.27Arthur Zamarin2024-01-262-2/+2
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pyproject.toml: fix build in cibuildwheelArthur Zamarin2024-01-252-4/+4
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pyproject: fix authorsArthur Zamarin2024-01-251-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.10.27Arthur Zamarin2024-01-251-0/+47
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* authors: Add Michał Górny and Marien Zwart.Brian Harring2024-01-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is based on mixture of my knowledge and the invocation below. Current *approximate* authorship based on git deltas (ignoring testdata since it's not usually in LOC and tree-sitter-bash since it's a vendored import) ``` ferringb@frith ~/gentoo/pkgcheck $ git ls-files | grep -v testdata/ | grep -v tree-sitter-bash/ | xargs -n1 git blame -ew | cut -d\< -f2 | cut -d\> -f1 | cut -d\@ -f1 | sort -g | uniq -c | sort -gr 17265 radhermit 10391 arthurzam 1410 mgorny 933 ferringb 199 marienz ``` Note things like tweaking a line to use a genexp (py>=2.4) rather than listcomp (py>=2.3) obscures ownership and doesn't actually override original ownership. mgorny is added for obvious reasons- copyright + activity. Myself and Marienz are in there since pre 2013 I wrote... a lot.. (~66% loc, all functionality), and Marien wrote a lot of checks + tests prior to dropping off in 2006 (~33% loc even as of 2013). It's not obvious without looking through annotations and having some historical knowledge, but fundamental bits and fundamental addons (UseAddon for example) were his and are still *there* even if minor code tweaks obscure it. Minimally they should be in this list based on the significance and importance of contribution alone. Signed-off-by: Brian Harring <ferringb@gmail.com>
* history: suppress revisions where content was being renamed or moved around.Brian Harring2024-01-241-2/+30
| | | | | | | | | | | | | | The point here is to be able to look back through time on the evolution to understand what/why things changed. In particular, it's useful to trace back and get a sense of the age of the code and use that as a gauge for the potential that things changed w/out it being updated, or was working around things from py2.4 era. This is from a manual audit, so I didn't catch everything, and some stuff (minor renames or things the history isn't worth linking) I left out based on a quick scan of commit message and coarse file changes. Signed-off-by: Brian Harring <ferringb@gmail.com>
* compatibilty: remove reliance on repo.category_dirsBrian Harring2024-01-2310-2/+89
| | | | | | | | | | | | | | pkgcore's `category_dirs` is a fossil that shouldn't be relied upon. My recollection is this property was from before `profiles/categories` existed, but it's just a listdir() intersection against known directories. PMS mandates categories be in `profiles/categories`, thus that functionality breaks compatibility. It will be removed from pkgcore in future semver breaks for that reason. Signed-off-by: Brian Harring <ferringb@gmail.com>
* feat: add check for a category is a fileBrian Harring2024-01-235-0/+30
| | | | | | | | | | | This is beyond corner case, but if someone has a non directory in place of where a category is supposed to be, pkgcore and portage will silently suppress this. Pkgcore will be modified to emit a warning for this, but in the meantime, it's a cheap check, thus add it. Signed-off-by: Brian Harring <ferringb@gmail.com>
* CI/CD: only run doc deploy if its the main snakeoil repo.Brian Harring2024-01-231-0/+1
| | | | Signed-off-by: Brian Harring <ferringb@gmail.com>
* fix: re-add myself as an author for obvious reasonsBrian Harring2024-01-231-0/+1
| | | | Signed-off-by: Brian Harring <ferringb@gmail.com>
* README: explain how adding new check looks likeArthur Zamarin2024-01-191-0/+55
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>