forked from pkgcore/pkgcore
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNEWS.rst
More file actions
3665 lines (2448 loc) · 127 KB
/
Copy pathNEWS.rst
File metadata and controls
3665 lines (2448 loc) · 127 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=============
Release Notes
=============
-----------------------------
pkgcore 0.12.34 (unreleased)
-----------------------------
Internal Changes
~~~~~~~~~~~~~~~~
- The slew of deprecation notices from snakeoil are being reduced and
addressed in this release. Tests will be less noisy.
- The restrictions subsystem now uses ``abc.ABC`` and has migrated to the new
snakeoil refactoring of ``caching.WeakInstMeta`` called ``klass.memoize.WeaklyCached``.
No downstream code is affected, however they now have finer grained control over their
subclass instance caching.
- ``repo_config.Licenses``. ``repo_config.Profiles``, ``repo_config.RepoConfig`` no longer
caches instances. These are objects created once for a repo, so no caching is possible,
nor is it worth dealing with.
Deprecations
~~~~~~~~~~~~
- ``restrictions.values.ContainmentMatch2`` has been soft deprecated for >10y,
and will be fully removed in `0.13`. Use ``values.ContainmentMatch`` instead,
there is no difference.
Packaging
~~~~~~~~~~
- ``python 3.12`` is now the minimal version supported
-----------------------------
pkgcore 0.12.33 (2026-02-16)
-----------------------------
- Fix regression introduced in 0.12.31 that incorrectly limited ``pquery``
filtering and masked packages that should have been visible.
- Require ``pytest >= 9.0`` to run the test suite.
- Continued refactoring work by Brian Harring.
----------------------------
pkgcore 0.12.32 (2026-01-03)
----------------------------
- cpv: fix category validation regular expression (Arthur Zamarin, #463)
- ci: run gentoo-regen in a gentoo container image (Arthur Zamarin)
----------------------------
pkgcore 0.12.31 (2026-01-02)
----------------------------
- rsync: fix bug in computing the current timestamp when the timezone is not
UTC (Arthur Zamarin)
- rsync: fix logical bug with negative sync delta (Arthur Zamarin)
- rsync: fix SyntaxWarning when using Python 3.14 (Arthur Zamarin, #448)
- eclass: avoid deprecated ``utcnow()`` (Sam James, #450)
- cpv: update categories rules to match PMS (Brian Harring, #453)
- drop plugin implementation and ``pplugincache`` command (Brian Harring)
- EAPI 9: Update bash_compat from 5.2 to 5.3 (Ulrich Müller, #456)
- Massive refactoring done by Brian Harring
----------------------------
pkgcore 0.12.30 (2025-06-02)
----------------------------
- Implement EAPI=9 features (Arthur Zamarin)
- Fix compatibility with python 3.14 (Michał Górny, #446)
----------------------------
pkgcore 0.12.29 (2025-01-24)
----------------------------
- patom: support STDIN input when "-" is passed as an argument (Arthur Zamarin,
#226)
- pquery: support STDIN input when "-" is passed as an argument (Arthur Zamarin,
#226)
- docs: ensure that Sphinx builds the current source code (Eli Schwartz)
- docs: make the manpages contain the extended help text (Eli Schwartz)
- pquery: add ``--live`` and ``--non-live`` filters (Arthur Zamarin)
- pquery: add support for ``--format`` custom formatting (Arthur Zamarin, #168)
----------------------------
pkgcore 0.12.28 (2024-09-06)
----------------------------
- ebuild.profiles: fix case where a parent path omits the repository identifier
(James Le Cuirot, #435)
- bash completion: improve path handling for pquery (Arthur Zamarin)
- bash completion: suppress error message outside git repository (Koichi Murase
#436)
----------------------------
pkgcore 0.12.27 (2024-03-27)
----------------------------
Fix failure instantiating ``ConfiguredTree`` causing various tools based on
pkgcore to fail.
----------------------------
pkgcore 0.12.26 (2024-03-27)
----------------------------
- various fixes and refactors to code (Brian Harring, #428)
- add missing authors to ``pyproject.toml`` file (Brian Harring, #429)
- add support for ``git@`` urls for sync purposes (Vitaly Zdanevich, #434)
----------------------------
pkgcore 0.12.25 (2024-01-15)
----------------------------
- fix: parsing bug that allows a revision to be part of a package (Brian
Harring, #419, #420)
- fix: child repository not inheriting license groups when it defines none
(Brian Harring, #424)
- pytest plugin: ``create_ebuild`` writes ``LICENSE`` before ``SLOT`` to match
variables order of ``skel.ebuild`` (Anthony Ryan, #425)
- ci: add workflows to verify ``pmaint regen`` against gentoo repository
(Arthur Zamarin)
----------------------------
pkgcore 0.12.24 (2023-12-22)
----------------------------
- operations.format.fetch_base: try to use proxy values from domain (i.e.
``/etc/portage/make.conf``) as first priority (Arthur Zamarin)
- metadata.xsd: add codeberg remote-id (Thomas Bracht Laumann Jespersen, #414)
- examples/verify_at_done: add new helper tool to collect done AT bugs
(Arthur Zamarin)
- eclassdoc: many changes to the way pkgcore generates docs from eclasses:
removal of ``@Bugreports`` tag, display default or initial values, display
exported phases, various improvements to the RST output (Arthur Zamarin, #346)
- eclassdoc: add devbook output format (Arthur Zamarin, #346)
- various code refactoring and modernization (Brian Harring, #415, #417)
- drop support for Python 3.9 (Arthur Zamarin)
----------------------------
pkgcore 0.12.23 (2023-08-29)
----------------------------
- enable python 3.12 for pkgcore (Sam James, #402)
- manifest: support proxy configuration (Arthur Zamarin,
https://github.com/pkgcore/pkgdev/issues/103)
- ebuild.repository: add support for stabilization groups (Arthur Zamarin, #411)
----------------------------
pkgcore 0.12.22 (2023-08-05)
----------------------------
- manifest: fix missing errors when all ebuilds for a package are masked as bad.
This fixes a long standing bug that ``pkgdev manifest`` wasn't working
without any helpful error messages when all ebuilds for a package fail to
source. (YiFei Zhu, Eric Huber, #406)
- multiplex.tree: fix config name and type (Arthur Zamarin)
- pkgsets.glsa: exclude metadata files from warning (Arthur Zamarin)
- manifest: pass ``$PATH`` environment variable to calls of ``FETCHCOMMAND``
(Arthur Zamarin, https://github.com/pkgcore/pkgdev/issues/145)
----------------------------
pkgcore 0.12.21 (2023-04-21)
----------------------------
- ebd: econf matches ``configure --help`` output better (Ulrich Müller, #403)
- pytest.plugin.create_ebuild: insert blank line after ``EAPI=`` declare
(Arthur Zamarin)
----------------------------
pkgcore 0.12.20 (2023-03-01)
----------------------------
- domain: add support for ``-*`` and ``USE_EXPAND: -*`` syntax for packages.use
like files (Arthur Zamarin, #393, #397)
- ebuild/test_eapi: fix tests artifacts in EBD_PATH
(Arthur Zamarin, https://bugs.gentoo.org/888685)
- ebuild.repository: fix traversal from root of overlays (Arthur Zamarin,
https://github.com/pkgcore/pkgcheck/issues/418)
- metadata.xsd: import ``kde-invent`` remote-ids (Sam James, #399)
- various code cleanups, refactoring and modernization (Arthur Zamarin, Brian
Harring)
----------------------------
pkgcore 0.12.19 (2023-01-19)
----------------------------
- re-add Brian Harring as author for pkgcore
- properly close open file handlers during tests (Arthur Zamarin)
- various code cleanups, refactoring and modernization (Brian Harring)
- domain: fix parsing of multiple USE_EXAPNDs
(Arthur Zamarin, #391, https://bugs.gentoo.org/891409)
- portage_conf: add support for make.profile as its own directory, behaving as
specialized user profile (Arthur Zamarin, #390)
----------------------------
pkgcore 0.12.18 (2022-12-27)
----------------------------
- _const: fallback to sys.base_prefix when installed in venv (Arthur Zamarin)
https://bugs.gentoo.org/880693
- pquery: fix crash with verbose single uris attr (Arthur Zamarin)
- docs: use snakeoil.dist sphinx extension (Arthur Zamarin)
- pkgcore: atom: fix typo in error message (Sam James, #378)
- eclass: fix exported bash functions leak (Arthur Zamarin)
https://bugs.gentoo.org/836210
- remove plugins support from pkgcore, simplifying installation and stopping
the need for users to update cache after upgrade (Arthur Zamarin, #379)
- add REQUIRED_USE satisfaction solver (Arthur Zamarin, #380)
- pmerge: add ``--pdb-intercept`` as a way to ``pdb.set_trace()`` into the
resolver (Brian Harring)
- pmerge: sort target processing to stabilize the graph (Brian Harring)
- restricts: fix use default dep matching when working against IUSE defaults
(Brian Harring)
- ebd: make EAPI=8 ``--disable-static`` logic libtool-specific, matching
portage (David Seifert, #386)
- force stable sorting of ``/etc/portage/*`` files loading (Brian Harring)
https://github.com/pkgcore/pkgcore/issues/385
- add USE_EXPAND expansion awareness for ``/etc/portage/package.use/*`` files
(Brian Harring)
https://github.com/pkgcore/pkgcore/issues/384
- add use flag validation for ``/etc/portage/package.use/*`` content (Brian
Harring)
- throw an exception for any EBD var starting with ``_`` (Brian Harring)
- ignore both empty and non-existent ``repos.conf`` files (Brian Harring)
https://github.com/pkgcore/pkgcore/issues/365
- format code with ``black`` (Brian Harring, #382)
- various code cleanups, refactoring and modernization (Brian Harring)
----------------------------
pkgcore 0.12.17 (2022-11-10)
----------------------------
- profiles: support package.bashrc files as an extension (#370, Arthur Zamarin)
- patom: new command for working with atoms, like qatom (#362, Arthur Zamarin)
- ebuild.repository: fix manifest entries generation with precise restricts
(#371, Arthur Zamarin)
- operations.fetch: better error messages when fetching fails (Arthur Zamarin)
https://github.com/pkgcore/pkgdev/issues/86
- ebuild.profiles: error out when USE_EXPAND syntax is used in package.mask
(Arthur Zamarin)
https://github.com/pkgcore/pkgcheck/issues/370
- drop Python 3.8 support (Arthur Zamarin)
- Use flit with custom wrapper as build backend (#372, #374, Arthur Zamarin,
with special thanks to Michał Górny for reviewing and helping with it)
----------------------------
pkgcore 0.12.16 (2022-10-04)
----------------------------
- portage_conf: fix timeout settings for rsync (#368, Arthur Zamarin)
- fetch.custom: fix commands with `\` variable escaping (Arthur Zamarin)
https://github.com/pkgcore/pkgdev/issues/94
- repository: check issues with distdir only if fetch failed (Arthur Zamarin)
https://github.com/pkgcore/pkgdev/issues/99
----------------------------
pkgcore 0.12.15 (2022-09-30)
----------------------------
- Better reporting of issues during manifest operation over a repository
(Arthur Zamarin)
----------------------------
pkgcore 0.12.14 (2022-09-16)
----------------------------
- ebd: helpers: allow zstd for prepalldocs/prepinfo/prepman (Sam James, #358)
- pquery: fix ``--maintainer maintainer-needed`` (Arthur Zamarin, #359)
- Modernize all the tests to use pytest (Arthur Zamarin)
- ebuild: improve malformed atom error messages (Arthur Zamarin)
- bash completion: add for pquery (Arthur Zamarin, #360)
- metadata.xsd: import ``savannah``, ``savannah-non-gnu``,
``freedesktop-gitlab``, ``gnome-gitlab`` remote-ids (Matt Turner, #363)
----------------------------
pkgcore 0.12.13 (2022-08-09)
----------------------------
- Fix checking whether a path is contained within a known repository
(specifically: fix the test to not check if path is prefixed with a
repository's location. Instead, we check the full path). Previously,
``/usr/portage-dir`` would wrongly be considered within ``/usr/portage``,
which is clearly wrong. (Arthur Zamarin, #350)
- Various code cleanups and refactoring (Arthur Zamarin, #351)
- ebuild/atom.py: fix ``atom.no_usedeps`` not including subslot (Arthur
Zamarin, #353)
- Fix and port pkgcore to Python 3.11 (Arthur Zamarin, Sam James, #355)
----------------------------
pkgcore 0.12.12 (2022-07-29)
----------------------------
- metadata.xsd: drop obsolete gitorious, sourceforge-jp remote-ids (Ulrich
Müller, #344)
- metadata.xsd: import hackage, sourcehut remote-ids (Sam James, #348)
----------------------------
pkgcore 0.12.11 (2022-05-24)
----------------------------
- pkgcore.ebuild.ebuild: warn about deprecated @ECLASS-VARIABLE tag (Ulrich
Müller, #337)
- pkgcore.ebuild: properly close resources (Thomas Bracht Laumann Jespersen,
#339, #340)
- pkgcore.ebuild.repository: fix inheriting license groups. Fixes e.g. pquery
usage on overlays. (Arthur Zamarin, #341)
- metadata.xsd: sync with proj/xml-schema repository (Ulrich Müller, #342)
----------------------------
pkgcore 0.12.10 (2022-03-18)
----------------------------
- pkgcore.ebuild.repository: support inheriting use_expand_desc
and deprecated
- pkgcore.ebuild.eclass: support @ECLASS_VARIABLE as a modern spelling
for @ECLASS-VARIABLE
---------------------------
pkgcore 0.12.9 (2021-12-14)
---------------------------
- ebd: fix unpack command not working if called via pebuild(1)
- pmerge: make failure output more readable via color coding
- ebd: update ``econf`` in EAPI 8 to pass ``--disable-static``
as specified by the updated version of PMS
- pkgcore.sync.http: fix incorrect TLS context
---------------------------
pkgcore 0.12.8 (2021-09-26)
---------------------------
- ebd: fix PIPESTATUS verification for assert
- pkgcore.ebuild.eclass: add ABI_VERSION attribute to EclassDoc
to improve future compatibility between pkgcheck and pkgcore
- pkgcore.ebuild.profiles: do not emit errors for profiles deprecated
without a replacement
---------------------------
pkgcore 0.12.7 (2021-09-03)
---------------------------
- pkgcore.ebuild.eclass: calculate recursive @PROVIDES in initializer
to include them in pkgcheck's eclass cache.
- pkgcore.ebuild.eclass: remove 'indirect_eclasses' backwards
compatibility attribute.
---------------------------
pkgcore 0.12.6 (2021-09-02)
---------------------------
- pkgcore.cache: Invalidate cache entries if they are missing INHERIT
key, to avoid false positives from pkgcheck's InheritsCheck.
---------------------------
pkgcore 0.12.5 (2021-09-02)
---------------------------
- pkgcore.ebuild.cpv: Explicitly handle invalid revisions.
- pkgcore.ebuild.eclass: Indicate variable types in generated
documentation.
- Fix unpack to decompress non-archive compressed files into the current
directory.
- Add support for recursive @PROVIDES eclassdoc tag (replacement
for @INDIRECT_ECLASSES).
- pkgcore.ebuild.eclass: Include @PROVIDES in generated documentation.
---------------------------
pkgcore 0.12.4 (2021-08-15)
---------------------------
- pkgcore.ebuild.cpv: Fix rejecting valid package names that resemble
version strings or contain a sequence of multiple hyphens.
---------------------------
pkgcore 0.12.3 (2021-08-14)
---------------------------
- pkgcore.ebuild.repo_objs: Support profile-eapis-banned
and profile-eapis-deprecated metadata fields (GLEP 82).
---------------------------
pkgcore 0.12.2 (2021-08-04)
---------------------------
- ebd: Start pkg_* phases in a dedicated empty directory required by EAPI 8
(#313).
- ebd: Fix typo in econf --libdir logic (#318).
- pkgcore.ebuild.repo_objs: Support eapis-testing metadata field (GLEP 82).
- pkgcore.ebuild.atom: Explicitly handle empty string when parsing.
- pkgcore.ebuild.repository: Inject parent repo arches as keywords for provided
pkgs (#312).
---------------------------
pkgcore 0.12.1 (2021-05-28)
---------------------------
- pkgcore.ebuild.profiles: Provide raw access to make.defaults data for pkgcheck.
- Leverage USE_EXPAND flag ordering from repo to sort output.
---------------------------
pkgcore 0.12.0 (2021-05-22)
---------------------------
- Add initial EAPI 8 support.
- pkgcore.ebuild.formatter: Drop paludis formatter support.
- pkgcore.ebuild.processor: Register ebd cleanup signal handlers on the main
thread during init to avoid inadvertent issues with 3rd party usage (e.g.
pkgcore pytest plugin gets autoloaded).
- Rework fetch support to allow custom DISTDIR targets.
- pmaint: Drop mirror subcommand support.
- pshowkw: Move to ``pkgdev showkw``.
- Simplify config-related options by dropping --empty-config in favor of using
false-valued boolean args to --config. For example, use ``--config no`` or
``--config false`` to disable loading the system config where previously
--empty-config would be used.
---------------------------
pkgcore 0.11.8 (2021-03-27)
---------------------------
- pmaint sync: Fix syncing raw repos.
---------------------------
pkgcore 0.11.7 (2021-03-26)
---------------------------
- pkgcore.ebuild.repository: Rewrite package manifesting support to allow
partial manifest writes via pkgdev.
- pkgcore.ebuild.portage_conf: Drop PORTAGE_CONFIGROOT and DISTDIR env support.
- pkgcore.ebuild.portage_conf: Handle finding the config directory for prefix
installs.
- pkgcore.ebuild.portage_conf: Only register existent repos for the config, but
they're still registered as raw repo_config objects so they can be synced as
wanted.
- pkgcore.config: Drop unused append_sources param for load_config().
- pkgcore.util.commandline: Drop --new-config/--add-config options.
---------------------------
pkgcore 0.11.6 (2021-03-19)
---------------------------
- pkgcore.pytest: Add support for keeping arches file updated.
- pkgcore.ebuild.domain: Don't configure external repos by default.
- pkgcore.ebuild.repository: Prefer using external repos over configured ones
for matching repo IDs.
- Use tarball syncer for the gentoo repo by default and drop sqfs entries.
- pkgcore.ebuild.repo_objs: Add 'external' attribute to signify an unconfigured
repo.
- pmaint: Drop perl-rebuild subcommand.
- pkgcore.ebuild.repo_objs: Support proxied attribute for maintainers.
---------------------------
pkgcore 0.11.5 (2021-03-12)
---------------------------
- pkgcore.ebuild.repo_objs: Add support for parsing upstreams from
metadata.xml.
- pkgcore.ebuild.repo_objs: Support pulling sign-commits setting from
metadata/layout.conf.
- pkgcore.ebuild.repository: Support creating repos with custom classes.
- pkgcore.util.commandline: Drop deprecated main() wrapper.
- pkgcore.pytest: Use full version for ebuild file creation.
- pmaint: Drop ``pmaint digest`` support in favor of ``pkgdev manifest``.
---------------------------
pkgcore 0.11.4 (2021-03-05)
---------------------------
- pkgcore.pytest: Add initial pytest plugin for ebuild and git repo fixture
support.
- pkgcore.util.commandline: Add support for suppressing help output for highly
pkgcore-specific options users generally shouldn't touch but are needed
internally.
---------------------------
pkgcore 0.11.3 (2021-02-18)
---------------------------
- Default to tarball-based syncing instead of using sqfs archives in
fallback config to avoid requiring elevated permissions for CI
actions.
---------------------------
pkgcore 0.11.2 (2021-01-31)
---------------------------
- Use user cache directory for repo storage when not running on a Gentoo
system.
---------------------------
pkgcore 0.11.1 (2021-01-29)
---------------------------
- pkgcore.ebuild.domain: Disregard ROOT to avoid infinite loops when using
find_repo().
---------------------------
pkgcore 0.11.0 (2021-01-27)
---------------------------
- pkgcore.ebuild.conditionals: Add __eq__() and __ne__() support
for DepSet objects.
- Catch bash stderr output during sourcing for python error
messages (#277).
- pmaint eclass: Add initial subcommand that supports eclassdoc
generation.
- pkgcore.ebuild.eclass: Provide support to convert eclassdoc
objects to rst, manpage, and html formats.
- Inject direct ebuild inherits into metadata cache using the
'INHERIT' key. This is used by pkgcheck inherit checks.
- Make the base profile node respect profile-formats settings (#293).
- Keep inherit order for inherited eclasses instead of sorting them
lexically in the metadata cache. The inherit order used by bash
is useful information for pkgcheck and related tools.
- EbdError: Add die context for non-helper errors to error message.
This should help give users more context when die() is called
from ebuilds or eclasses.
- Drop support for python 3.6 and 3.7.
----------------------------
pkgcore 0.10.14 (2020-12-04)
----------------------------
- pkgcore.ebuild.portage_config: Fallback to using a bundled stub
config and profile on non-Gentoo systems. This should help tools
that shouldn't require a Gentoo install to function properly
(e.g. pkgcheck) when installed elsewhere.
- pkgcore.ebuild.domain: Forcibly create new repo_config object for
add_repo() disregarding cached instances.
- pmaint regen: Add --dir option to support using an external cache
dir.
- pkgcore.ebuild.digest: Re-raise Manifest parsing errors as
MetadataExceptions in order for pkgcheck to handle them better.
- pkgcore.util.commandline: Add support for projects that remove
plugin support functionality.
- pinspect profile: Force profile argument to be non-optional.
- pkgcore.ebuild.eclass: Add initial support for eclass doc format
parsing.
- pkgcore.ebuild.domain: Raise InitializationError exceptions when
scanning for repos to aid consumers that try to add external
repos via add_repo().
- Update default binpkg location to match portage's new default.
----------------------------
pkgcore 0.10.13 (2020-07-05)
----------------------------
- pkgcore.ebuild.domain: Allow license and keyword filters to be
overridden.
- Add initial arches.desc file parsing support (GLEP 72).
- pkgcore.ebuild.repo_objs: Support testing strings against
maintainer objects for equality.
----------------------------
pkgcore 0.10.12 (2020-04-15)
----------------------------
- Ignore invalid maintainers in metadata.xml that should be caught by pkgcheck.
- Add support for <stabilize-allarches/> in metadata.xml files.
- Fix eapply_user calls erroring out due to missing patch opts variable.
----------------------------
pkgcore 0.10.11 (2020-01-26)
----------------------------
- Bump required snakeoil version to fix wheel builds.
----------------------------
pkgcore 0.10.10 (2020-01-25)
----------------------------
- pkgcore.ebuild.repo_objs: Fix pulling all text from longdescription
metadata.xml elements that use embedded XML tags, e.g. <pkg></pkg>.
- pkgcore.ebuild.repository: Add thirdparty mirrors attribute for easy access
to mirrors defined by an individual repo.
- pkgcore.ebuild.ebuild_src: Add support for flagging redundant SRC_URI
renames.
---------------------------
pkgcore 0.10.9 (2019-12-20)
---------------------------
- pkgcore.ebuild.repository: Add category_dirs attribute to return the set of
existing categories from a repo.
- Allow unicode in metadata/layout.conf for repos.
- Ignore inline comments when parsing ebuild inherit lines for directly
inherited eclasses.
- Log errors in profiles/package.* files instead of raising ProfileError
exceptions so pkgcheck can properly flag them.
---------------------------
pkgcore 0.10.8 (2019-11-30)
---------------------------
- Add support for validating SLOT values, used by pkgcheck to flag invalid
SLOTs and pkgs with bad SLOTs will be automasked.
- Add initial profiles/package.deprecated support to flag deprecated packages
by pkgcheck.
- pclean pkg: Add initial -c/--changed option that allows for scanning the
related ebuilds for given attribute changes and flagging binpkgs for removal
if changes exist.
- Add py3.8 support.
---------------------------
pkgcore 0.10.7 (2019-11-04)
---------------------------
- pkgcore.ebuild.eapi: Split archive extension pattern into separate attribute
for easier use in pkgcheck.
- Fix containment checks for absolute paths against repo objects.
- Fix generating path restricts with relative paths for ebuild repo objects.
---------------------------
pkgcore 0.10.6 (2019-10-05)
---------------------------
- pkgcore.ebuild.repository: Add error_callback parameter for itermatch() to
allow pkgcheck to redirect metadata exceptions to itself in order to report
them more easily.
- pkgcore.config.central: Fix recursion error while pickling/unpickling
CompatConfigManager instances when using a process pool.
---------------------------
pkgcore 0.10.5 (2019-09-24)
---------------------------
- pkgcore.ebuild.eapi: Add deprecated and banned bash commands attributes.
- pkgcore.ebuild.repo_objs: Fix collapsing license groups for
OverlayedLicenses.
---------------------------
pkgcore 0.10.4 (2019-09-18)
---------------------------
- pkgcore.ebuild.atom: Add no_usedeps property that returns atom object
stripped of use deps.
- pkgcore.ebuild.cpv: Fix versioned_atom() for unversioned CPV objects.
- pkgcore.repository.prototype: Support returning unversioned matches from
itermatch().
- pkgcore.ebuild.cpv: Add support for passing (cat, package) for unversioned
CPVs.
- pkgcore.ebuild.atom: Provide access to all cpv attributes for atom objects.
---------------------------
pkgcore 0.10.3 (2019-09-13)
---------------------------
- Various object pickling fixes for pkgcheck parallelization support.
- pmaint digest: Fix skipping re-manifesting for manifests that are current.
- pkgcore.ebuild.eapi: Split dep keys into their own attribute.
---------------------------
pkgcore 0.10.2 (2019-08-30)
---------------------------
- pkgcore.ebuild.repo_objs: Explicitly add all known repo identifiers as
aliases. Previously some weren't getting added causing issues when trying to
use external repos with names matching those of configured repos on the
system.
- Make explicitly unset EAPI values mean EAPI=0 in accordance with the spec.
---------------------------
pkgcore 0.10.1 (2019-08-26)
---------------------------
- pquery --owns: Fix queries and drop support for comma-separated args.
- pkgcore.ebuild.repo_objs: Use relative paths instead of absolute in logged
output.
---------------------------
pkgcore 0.10.0 (2019-08-23)
---------------------------
- Dropped dhcpformat/mke2fsformat config format support (and required pyparsing
dependency).
- GPL2/BSD dual licensing was dropped to BSD as agreed by all contributors.
- pkgcore.ebuild.repo_objs: Add support for processing projects.xml.
- Support PROPERTIES=live as live ebuild indicator.
- The bash ebuild daemon now longer spawns python scripts or uses external
processes to call back into the python side. Everything is done via IPC
coordinated by the ebuild processor.
- EAPI 7 support.
- Move the majority of ebuild helpers and some functions into the python side
including the following: all the do*/new* helpers, keepdir, has_version,
best_version, unpack, eapply, and eapply_user.
- EAPI specific bash support is loaded before each phase run providing better
separation between EAPI specific functionality -- newer functions won't even
exist in scope to be called for ebuilds using older EAPIs.
- pshowkw: Add new utility for displaying/querying package keywords -- an
analog to eshowkw from gentoolkit.
- Minimum supported python version is now 3.6 (python2 support dropped).
- Add support for transparently using squashfs repo archives.
- Add various tool support for running against ebuilds in unconfigured,
external repos.
--------------------------
pkgcore 0.9.7 (2017-09-27)
--------------------------
- Use a more dynamic pkgcore._const for wheel-based installs instead of the
static version used when installing directly to a system. Using a static
version can't be done because the final paths aren't known until the wheel is
installed on the target system.
- Fix merging pkgs with non-ascii filenames with python3. Previously pmerge
would crash when writing the contents file to the vdb.
--------------------------
pkgcore 0.9.6 (2017-09-22)
--------------------------
- Fix building and deploying wheels.
--------------------------
pkgcore 0.9.5 (2017-09-22)
--------------------------
- Fix support for bash-4.4.
- Support -* wildcard for the system packages set in profiles.
- Don't allow external commands to be called during metadata regen.
- pmerge: Don't sort packages in removal mode, just show and unmerge them in
the order specified.
- Add a tracked attribute for the distfiles used by a package build. This
installs a file named DISTFILES to the vdb which contains all the distfile
file names that were needed for the installed package.
- pclean dist: Default to all distfiles if no targets are specified and sort
output when in pretend mode.
- pmerge: Add initial -o/--onlydeps support similar to portage.
- pmaint digest: Various fixes and enhancements to better handle fetch
failures, globbed digesting, full repo digesting, and more.
- Fix directory permission issues when using ccache.
- pmerge now supports --list-sets to show the sets pkgcore supports.
- pkgcore.spawn moved to snakeoil.process.spawn.
- Add support for the 'profile-set' profile-formats option in
metadata/layout.conf.
- Complain if profiles/repo_name is missing for a repository.
- pinspect profile: Add support for specifying a repo with '-r repo' which then
allows for specifying relative profile paths without the repo prefix.
- pinspect profile: Default to the configured system profile if none is
selected.
- Fix handling ranges in GLSAs for the related security package set.
- Support for python3.3 was dropped and support for python3.6 was added.
- pmerge: Fix checking for installed packages when passed targets of the form
'pkg::repo'.
- Support /etc/portage/package.env lines with multiple env file values.
- Support multi-masters instead of singular parents for overlays. This also
includes merging licenses and categories from all masters for an overlay.
- Drop fallback to default repo for implicit masters. If no masters are
specified for an overlay in metadata/layout.conf anymore it'll have issues
depending on packages found in the 'gentoo' repo or whatever master(s) it
relies on.
--------------------------
pkgcore 0.9.4 (2016-05-29)
--------------------------
- Fix new installs using pip.
--------------------------
pkgcore 0.9.3 (2016-05-28)
--------------------------
- pquery: Add --size, --upgrade, --eapi, and --maintainer-needed options to
show installed package size or search for packages matching available
upgrades, a given EAPI, and without any maintainers, respectively.
- pmerge: Add support for reading targets from stdin when *-* is the target
which supports usage such as **pquery -I 'dev-qt/*:5' | pmerge -1av -**
instead of forcing command substitution to be used.
- pmaint digest: Skips remanifesting sources for previous distfiles and doesn't
use Gentoo mirrors for new distfiles by default and adds -f/--force and
-m/--mirrors options to force remanifesting and force using Gentoo mirrors,
respectively.
- Add support for PN:slot/subslot and slotted glob targets. This allows for
targets to pmerge, pquery, and related utilities to accept targets such as
**dev-qt/*:5** and **boost:0/1.60.0** that signify all Qt 5 libs and all
packages named *boost* with a slot/subslot of 0/1.60.0, respectively.
- Add initial shell utilities and libraries (bash/zsh), currently available
tools are *pcd* for changing to a package's directory in any repo
(vdb/ebuild/binpkg) and *psite* for opening a package's homepage in the
configured browser using xdg-open.
- EAPI 6 support.
- Additional zsh completion support for most of the remaining tools.
- pclean: New utility currently supporting cleaning distfiles, binpkgs, and
tmpfiles.
- Officially support python3 (3.3 and up).
- Remove FEATURES=fakeroot support, it hasn't fully worked for years, doesn't
work with sandbox, and should be replaced with namespace support.
- pmaint regen: Fix cache compatibility issues with egencache, i.e. a cache
generated by pmaint regen should be able to be used as is by portage without
it regenerating the cache again.
- pebuild: Ignore repo visibility filters so settings like ACCEPT_KEYWORDS or
ACCEPT_LICENSE don't matter in terms of package visibility.
- pmerge: Make the --ignore-failures option also ignore pkg_pretend failures.
- pmaint sync: Add git+svn syncer to support mirroring a subversion repository
using git svn.