aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* bash-completion: use _filedirHEADmasterArthur Zamarin2024-07-041-3/+4
| | | | | | This handles spaces and such much much better Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ebuild.profiles: Fix case where a parent path omits the repo identifierJames Le Cuirot2024-06-131-0/+2
| | | | | | | | | | According "SPECIFIC FILE DESCRIPTIONS" in `man portage`, it is valid to have a parent path like `:path/to/profile` where the repo identifier is missing. This refers to a path in the current repo. Signed-off-by: James Le Cuirot <chewi@gentoo.org> Closes: https://github.com/pkgcore/pkgcore/pull/435 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* start work on 0.12.28Arthur Zamarin2024-06-121-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.12.27v0.12.27Arthur Zamarin2024-03-291-0/+7
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Revert "refactor: leverage ABC protections for prototype.tree"Arthur Zamarin2024-03-291-6/+2
| | | | | | | | | This change broke ConfiguredTree, since it was implementing the ABC function through the `__getattr__` magic. While good intentions, reality hit us. Reverts: cc6a8d054363561890bb0552f1439a8ace92b367 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* start work on 0.12.27Arthur Zamarin2024-03-271-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.12.26v0.12.26Arthur Zamarin2024-03-271-0/+10
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Add `make dev-environment` to simplify setup for devs.Brian Harring2024-03-092-0/+12
| | | | | | | Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/433 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* GH: use whatever black version is defined in pyproject.tomlBrian Harring2024-03-092-1/+8
| | | | | | | | | | | | This avoids black releasing a new version and all of our tests failure due to the formatter changing. The downside here is we probably want a notification that black can be upgraded. Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Add git@Vitaly Zdanevich2024-03-091-1/+2
| | | | | | Signed-off-by: Vitaly Zdanevich <zdanevich.vitaly@ya.ru> Closes: https://github.com/pkgcore/pkgcore/pull/434 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* bump snakeoil depArthur Zamarin2024-01-261-2/+2
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* fix(authors): add mgorny emailBrian Harring2024-01-261-1/+1
| | | | Signed-off-by: Brian Harring <ferringb@gmail.com>
* fix(docs): intersphinx_mapping updates.Brian Harring2024-01-261-2/+2
| | | | | | Current locations are all wrong, so update them to the correct location. Signed-off-by: Brian Harring <ferringb@gmail.com>
* git-blame-ignore-revs: ignore black 24 formatArthur Zamarin2024-01-261-0/+2
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* reformat with black 24Arthur Zamarin2024-01-2618-44/+31
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* fix: tox.ini since it's not been used in ages.Brian Harring2024-01-261-6/+3
| | | | | | | | | | | | | | | | This broken whenever the repo went to pyproject.toml . On the one hand, I like enumerating what devs have to invoke locally rather than relying on GH. On the other hand, clearly no one is using this. This fixes it for current usage. If it's to continue, then GH and tox envlist's should be fused. Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/430 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: bump dependenciesArthur Zamarin2024-01-263-19/+19
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* authors: Add Michał GórnyBrian Harring2024-01-241-0/+1
| | | | | | | | | | | `git log -p --author=mgorny` should there be questions; EAPI8 implementation in parallel to supportive work for downstream pkgcore users. Worst case, consider this me attempting to throw a sense of responsibility thus further contributions onto him. Signed-off-by: Brian Harring <ferringb@gmail.com>
* authors: Add Marien ZwartBrian Harring2024-01-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same as the commit to pkgcheck, history obscures it- including VCS history not allowing author vs committer prior to git (cvs->svn->bzr->git), but Marien Zwart (marienz) wrote most of the initial tests and surrounding CLI UI code (which eventually moved to snakeoil). While pkgcore 'started' as a fork of portage, I've left out the portage authors since my past copyright analysis for the GPL-2 -> BSD-2 change didn't flag anything from them. I explicitly wrote all subsystems from scratch, even if I had shims to test against portage as I was building anew. While some subsystems/code are shared between portage/pkgcore- the cache subsystem for example, or fetch (iirc)- all of that came from pkgcore thus copyright's on this side. As per norms, the authors is limited to folks who made significant impact- either core origination or straight up LOC, and with an eye on if it still lives in the codebase (including if syntactic changes have obscured that work). I've left out the following folks who were authors/maintainers from the 'before time'; they're left out due to how long it's been and scale of contributions in parallel to my rough understanding of what has been rewritten (new works) or just plain dropped. * Charlie Shepherd; VCS obscures a fair amount, but binpkg + formatting work, and general "fix what brian broke". * Jason Stubbs; maintainer + resolver work, critical/contributor to architectural design discussions in moving away from the mistakes of portage. * Markus Ullman. Worked on internals and devex- hard to state exactly how much he commited, but my recollection is he was a core maintainer. Apologies for anyone I overlooked or left out- it's accident + >15y timespan. Human memory has it's limits and the primary intention here is to give credit, but more importantly to track copyright ownership should this project every need to undergo another licensing change. Signed-off-by: Brian Harring <ferringb@gmail.com>
* history: Update the git blame revs to ignore.Brian Harring2024-01-241-2/+38
| | | | | | | | | Same as the commits in other pkgcore repos- this is to allow one to peer back through history to see why the !@*# something dumb was done back in the good ole days, and understand the implications of changing it. Signed-off-by: Brian Harring <ferringb@gmail.com>
* tests/fs/test_ops: add test_dir_over_symArthur Zamarin2024-01-231-0/+9
| | | | | | | Based on work at commit 33f03d9ae71df55082e5b196e1db24c642e19db9 by Tim Harder <radhermit>. Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* refactor: loosen prototype.tree._get_* requirements, add typing.Brian Harring2024-01-231-8/+10
| | | | | | | | | | | | | | | This moves the burden of derivatives having to ensure they return immutables, instead this is handled by the internals of prototype.tree since it already partially was. This change basically makes it easier to write generators for cat/pkg/ver listing. For existing implementations returning immutable objects this has no impact; `t=(1,2);assert t is tuple(t)` for example, and the same holds for frozenset. Signed-off-by: Brian Harring <ferringb@gmail.com>
* refactor: leverage ABC protections for prototype.treeBrian Harring2024-01-231-2/+6
| | | | | | | This was always an abstract class, just typing/ABC didn't exist when it was written. Leverage modern protections. Signed-off-by: Brian Harring <ferringb@gmail.com>
* fix filtered.tree.{categories,packages,versions} .Brian Harring2024-01-232-1/+43
| | | | | | | | | | | | The implementation wasn't properly aliasing _get_* to the underlying raw_repo, and it should've been filtering packages and versions according to the filter. This adds that. This isn't a huge issue, but it breaks API guarantees for code tring to efficienctly access this sort of info for a repository stack. Signed-off-by: Brian Harring <ferringb@gmail.com>
* refactor: Add missing abstractmethods for ConfiguredTree.Brian Harring2024-01-231-0/+6
| | | | | | | In this case, it's not needed beyond being explicit- the GetAttrProxy redirects _get_categories and such to .raw_repo. Signed-off-by: Brian Harring <ferringb@gmail.com>
* fix: suppress $HOME for tests.Brian Harring2024-01-231-0/+3
| | | | | | | | | | | | | Suppressing $HOME is necessary for hygenic tests; to avoid anything in the dev's environment becoming relied upon for the test passing. A slightly more salient point for me; every `git commit` test was asking for my gpg unlock for git commits; obviously annoying, also obviously unhygenic (I could have modified default git commit template for example). Signed-off-by: Brian Harring <ferringb@gmail.com>
* update python version in various placesArthur Zamarin2024-01-192-3/+3
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: promote Python 3.12 to non-expSam James2024-01-192-6/+6
| | | | | | Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/pkgcore/pkgcore/pull/427 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* start work on 0.12.26Arthur Zamarin2024-01-181-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.12.25v0.12.25Arthur Zamarin2024-01-151-0/+16
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Write LICENSE before SLOT in create_ebuild()Anthony Ryan2024-01-151-2/+2
| | | | | | | | | | Better matches the order defined in skel.ebuild A prerequisite for https://github.com/pkgcore/pkgcheck/pull/645 Signed-off-by: Anthony Ryan <anthonyryan1@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/425 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: run pmaint regen over ::gentoo repoArthur Zamarin2024-01-121-5/+29
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* ci: verify pkgdev master with pkgcore masterArthur Zamarin2024-01-121-1/+38
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* fix: child repository not inheriting license groups when it defines noneBrian Harring2024-01-122-4/+26
| | | | | | | | | | | If the child repository defines no license groups, the previous code would exit out before it integrated the parents license groups. This fixes that, and adds tests for it. Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/424 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* fix: tweak CPV parsing rules to match PMS.Brian Harring2023-12-282-1/+7
| | | | | | | | | | | | | | | Bug #421 captures this; pkgcore was allowing version components as the package name if it was suffixed by a revision; the fix for that incorrectly limited a package name that has a trailing revision, but *no version syntax* in the name. This commit just refactors the revision check to also force a check for a leading version if revision-like is found. Resolves: https://github.com/pkgcore/pkgcore/issues/421 Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/422 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* fix: add atom test for 'foo/bar-11-r3'Brian Harring2023-12-261-0/+1
| | | | | | | | | | CPV parsing was fixed (and test asserted) for this, but atom parsing should also have a test to ensure CPV changes don't let this slip through. Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/420 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* atom: limit the start of a slot to left of use components.Brian Harring2023-12-261-1/+2
| | | | | | | | | It's a minor redundant protection + optimization, but it's worth ensuring the only spot considered for a slot prefix is left of any use restrictions. Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* Fix: parsing bug that allows a revision to be part of a packageBrian Harring2023-12-262-4/+5
| | | | | | | | | | The previous logic was just checking for a trailing version component; it wasn't checking for a trailing revision. Relates to issue: #419 Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* start work on 0.12.25Arthur Zamarin2023-12-261-1/+1
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* new release 0.10.24v0.12.24Arthur Zamarin2023-12-221-0/+22
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* bump minimal required python to py3.10Arthur Zamarin2023-12-035-10/+10
| | | | Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* core: remove the ability to have multi-level categoriesBrian Harring2023-12-038-87/+43
| | | | | | | | | | | | | | The support for multiple levels of categories never was used, thus it's time to remove it since it also simplifies things. Doing this means the original dict functionality of repo.categories should be replaced w/ a sequence which this also does. Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/417 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* repo: Simplify SimpleTree signatureBrian Harring2023-12-031-3/+1
| | | | | Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pquery tests: convert to FakePkg for richer metadata testsBrian Harring2023-12-032-7/+34
| | | | | | | | Additionally rename "test_no_description" to "test_missing_data" since that's what it does. Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* cleanup: Replace fake_pkg with common mockBrian Harring2023-12-032-11/+15
| | | | | Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pquery: Fix --environment-re support .Brian Harring2023-11-241-4/+15
| | | | | | | | | | | | | This has been broken for a long while, thus I'm renaming it to `--environment-re` (from `--environment`) in the process. Tests will follow in a later PR (pquery test infra needs some work). Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/415 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* pquery: correct minor english typo in commentsBrian Harring2023-11-241-3/+3
| | | | | Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* repository: shift args to docstringBrian Harring2023-11-241-9/+9
| | | | | Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* README: fix outdated test instructionsBrian Harring2023-11-241-3/+3
| | | | | Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
* github: limit doc deploy to just pkgcore/pkgcore repositoryBrian Harring2023-11-241-0/+1
| | | | | | | | | For a proper fork/PR it's best to show things building properly, and a deploy will never succeed. Confirm docs build and skip the deploy for folks who've got forks. Signed-off-by: Brian Harring <ferringb@gmail.com> Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>