aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* new release 0.10.29HEADv0.10.29masterArthur 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>
* update python versions in various placesArthur Zamarin2024-01-194-6/+6
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: test py3.13Sam James2024-01-191-0/+5
| | | | | | Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/pkgcore/pkgcheck/pull/567 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: add py3.12Sam James2024-01-192-7/+2
| | | | | Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* OldPackageName: new check for package named after old package nameArthur Zamarin2024-01-174-0/+29
| | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/650 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Dockerfile: purge some more cachesArthur Zamarin2024-01-151-2/+3
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Dockerfile: add requests to pip installedArthur Zamarin2024-01-151-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: drop python 3.9, use 3.11 as defaultArthur Zamarin2024-01-143-8/+8
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* DependencyMoved: show better error for dependency on pkgmoveArthur Zamarin2024-01-144-6/+52
| | | | | | | | | Catch cases where we depend on pkgmoved package, and instead of showing NonexistentDeps and NonsolvableDepsIn* errors, show DependencyMoved result, with nice and simple suggestion on action to take. Resolves: https://github.com/pkgcore/pkgcheck/issues/649 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* SandboxCallCheck: new check for invalid sandbox callsArthur Zamarin2024-01-144-0/+64
| | | | | | | Catches multiple arguments passed to function, and colon separated path. Resolves: https://github.com/pkgcore/pkgcheck/issues/644 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Dockerfile: introduce pkgcheck docker on releaseArthur Zamarin2024-01-132-0/+49
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pyproject.toml: add runtime dependency on setuptools (py>=3.12)Arthur Zamarin2024-01-131-0/+1
| | | | | | | Used in bash/__init__.py when distutils is not available (python3.12) and only if the tree-sitter parser is not available. Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* UnstatedIuse: check for unstated IUSE in "?" dependenciesArthur Zamarin2024-01-138-15/+37
| | | | | | | | | | | | Check for cases where a dependency uses conditional use dependency with unknown USE flag. PMS states: It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the flag in IUSE_EFFECTIVE. Bug: https://bugs.gentoo.org/921841 Requested-by: Sam James <sam@gentoo.org> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* DeprecatedDep: fix mishandling of slotted deprecatesArthur Zamarin2023-12-107-10/+11
| | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/642 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* OutdatedProfilePackage: don't warn when version was removed not long agoArthur Zamarin2023-12-101-4/+9
| | | | | Requested-by: Sam James <sam@gentoo.org> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* MissingRemoteId: expand gitlab matching rulesAlfred Wingate2023-12-081-1/+3
| | | | | | | | | * Notably handles the particular case with gitlab package hosting. Bug: https://github.com/pkgcore/pkgcheck/issues/636 Signed-off-by: Alfred Wingate <parona@protonmail.com> Closes: https://github.com/pkgcore/pkgcheck/pull/637 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* checks.git: Set tarfile filterAlfred Wingate2023-12-081-0/+4
| | | | | | | | | | * Not setting it triggers a DeprecationWarning in python3.12. * Despite tarballs by git-archive being trusted, there isn't benefit in trusting it as the tarballs don't use metadata that would require it. Signed-off-by: Alfred Wingate <parona@protonmail.com> Closes: https://github.com/pkgcore/pkgcheck/pull/638 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* UnusedInherits: add whitelist for weak usage by another eclassArthur Zamarin2023-11-164-1/+39
| | | | | | | | | | Came up as example from elisp eclass, which has automagic calling of functions from readme.gentoo-r1 eclass if they are found in env. While weird, this is legal so let's add a simple whitelist support for this, so it would be simple to extend in future. Reported-by: Ulrich Müller <ulm@gentoo.org> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* whitespace: fix double "on" in result textArthur Zamarin2023-11-051-3/+3
| | | | | Resolves: https://github.com/pkgcore/pkgcheck/issues/633 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>