Skip to content

Commit 9a15769

Browse files
committed
pkg: add pkg.live support for ebuild pkgs
1 parent 4c4c4d3 commit 9a15769

3 files changed

Lines changed: 17 additions & 0 deletions

File tree

src/pkgcraft/C.pxd

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1451,6 +1451,12 @@ cdef extern from "pkgcraft.h":
14511451
# The argument must be a non-null Pkg pointer.
14521452
DependencySet *pkgcraft_pkg_ebuild_license(Pkg *p)
14531453

1454+
# Return a package's live status.
1455+
#
1456+
# # Safety
1457+
# The argument must be a non-null Pkg pointer.
1458+
bool pkgcraft_pkg_ebuild_live(Pkg *p)
1459+
14541460
# Return a package's long description.
14551461
#
14561462
# Returns NULL on nonexistence.

src/pkgcraft/pkg/ebuild.pyx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ cdef class EbuildPkg(Pkg):
3636
"""Get a package's deprecated status."""
3737
return C.pkgcraft_pkg_ebuild_deprecated(self.ptr)
3838

39+
@property
40+
def live(self):
41+
"""Get a package's live status."""
42+
return C.pkgcraft_pkg_ebuild_live(self.ptr)
43+
3944
@property
4045
def masked(self):
4146
"""Get a package's masked status."""

tests/pkg/test_ebuild.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ def test_deprecated(self):
6666
pkg = TEST_DATA.repos["metadata"]["deprecated/deprecated-1"]
6767
assert not pkg.deprecated
6868

69+
def test_live(self):
70+
pkg = TEST_DATA.repos["qa-primary"]["Keywords/KeywordsLive-9999"]
71+
assert pkg.live
72+
pkg = TEST_DATA.repos["qa-primary"]["Keywords/KeywordsLive-0"]
73+
assert not pkg.live
74+
6975
def test_masked(self):
7076
pkg = TEST_DATA.repos["metadata"]["masked/masked-0"]
7177
assert pkg.masked

0 commit comments

Comments
 (0)