aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* update set for "rust-rebuild" to adapt to changes in gentooHEADmasterEli Schwartz3 days1-2/+2
| | | | | | | | | | | | | | | The virtual package is deprecated and we use an eclass to depend on an any-of group for the relevant rust compilers. This set no longer does anything without an update. Start checking BDEPEND for the specific rust compilers. Also keep checking for the virtual, so that "rust-rebuild" reports on packages that have not, in fact, been rebuilt yet. Bug: https://bugs.gentoo.org/906044 Closes: https://github.com/gentoo/portage/pull/1399 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* make.globals: disable FEATURES="sfperms" by defaultMike Gilbert10 days2-2/+4
| | | | | | | | Removing the read bit from suid binaries has questionable security benefit, and may cause problems for some software. Bug: https://bugs.gentoo.org/938164 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* install_qa_check: Fix noclean interaction with merge-waitZac Medico2024-11-042-1/+5
| | | | | | Fixes: 8ac72ee300c1 ("install_qa_check: prematurely delete WORKDIR if FEATURES=merge-wait") Bug: https://bugs.gentoo.org/942760 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Fix deprecated datetime.datetime.utcnow() usageZac Medico2024-11-033-4/+12
| | | | | | DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). Signed-off-by: Zac Medico <zmedico@gentoo.org>
* github: test python3.14 + spawnZac Medico2024-11-031-0/+5
| | | | Signed-off-by: Zac Medico <zmedico@gentoo.org>
* github: run pre-commit on master branch (not main)Mike Gilbert2024-11-031-1/+1
| | | | | Fixes: 783983d20df87377a644d6c7779468940fc38554 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* github: update black versionMike Gilbert2024-11-031-1/+1
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* pre-commit: update revsMike Gilbert2024-11-031-3/+3
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* Skip self update logic when installation.TYPE != SYSTEMMike Gilbert2024-11-032-6/+14
| | | | | | | | If we are running from source (git) or as a module installed via pip, we don't need to worry about overwriting the existing system install via an ebuild installation. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* gpkg: Fix S_ISLNK usageZac Medico2024-11-021-2/+2
| | | | | | Fixes: 320df528974c ("gpkg: avoid os.path.islink where lstat is available") Bug: https://bugs.gentoo.org/942512 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* gpkg: use already queried size instead of syscallEtienne Buira2024-11-021-2/+2
| | | | | | Signed-off-by: Etienne Buira <etienne.buira@free.fr> Bug: https://bugs.gentoo.org/942512 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* gpkg: avoid os.path.islink where lstat is availableEtienne Buira2024-11-021-2/+2
| | | | | | Signed-off-by: Etienne Buira <etienne.buira@free.fr> Bug: https://bugs.gentoo.org/942512 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* gpkg: do not consider symlinks targets for size estimationEtienne Buira2024-11-012-16/+10
| | | | | | | | | | | Symlinks size is already accounted for, so there is no need to account for the pointed to file. Moreover, previous code failed to handle permission error when using ROOT= and having absolute symlinks pointing to running root. Signed-off-by: Etienne Buira <etienne.buira@free.fr> Bug: https://bugs.gentoo.org/942512 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Alway import iscoroutinefunction from inspectZac Medico2024-10-282-10/+2
| | | | | | | This is available in all supported python versions. Fixes: 7218c9cea618 ("Fix asyncio.iscoroutinefunction DeprecationWarning in Python 3.14.0a1") Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Handle python3.14 ChildWatcher changesZac Medico2024-10-283-13/+15
| | | | | Bug: https://bugs.gentoo.org/941955 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* binarytree: Fix _inject_repo_revisions to ignore remote packagesZac Medico2024-10-272-1/+11
| | | | | | | | | For remote packages that reference source repos which do not exist locally, do not inject repo revisions. Fixes: 5aed7289d516 ("bintree: Add REPO_REVISIONS to package index header") Bug: https://bugs.gentoo.org/939299 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Fix asyncio.iscoroutinefunction DeprecationWarning in Python 3.14.0a1Zac Medico2024-10-222-2/+11
| | | | | | DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead Signed-off-by: Zac Medico <zmedico@gentoo.org>
* depgraph: Ignore blockers when computing virtual deps visibilityRaul E Rangel2024-10-223-1/+12
| | | | | | | | | | | | If a `virtual/` package declares a blocker to a package that doesn't exist, then `_virt_deps_visible` incorrectly marks the virtual as "not visible". Blockers should be ignored when performing the deps visibility test since blockers are handled later in the pipeline. Bug: https://issuetracker.google.com/issues/373581679#comment13 Signed-off-by: Raul E Rangel <rrangel@google.com> Closes: https://github.com/gentoo/portage/pull/1387 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* actions: test spawn under 3.13Zac Medico2024-10-211-1/+1
| | | | Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Revert "emerge-webrsync: actually honour the sync-webrsync-verify-signature ↵Sam James2024-10-022-10/+8
| | | | | | | | | | | | | attribute" This reverts commit f99eb91227918d5bf0cc531e78bd597c73b7ce1f. Revert for now as we understand the status quo better, and this breaks syncing w/ emerge-webrsync. I'll come back to this but I'd rather work with a known quantity for now than rush a fix. Bug: https://bugs.gentoo.org/940120 Signed-off-by: Sam James <sam@gentoo.org>
* SpawnProcess: Remove unused _CGROUP_CLEANUP_RETRY_MAXZac Medico2024-09-291-4/+0
| | | | | | | | Left over from FEATURES="cgroup". Fixes: f8e3b11496bd6d602a690535c4a3bb32bb8e9744 Bug: https://bugs.gentoo.org/894398 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Remove obsolete pylint optionsMike Gilbert2024-09-232-9/+0
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* NEWS, meson.build: prepare for portage-3.0.66.1portage-3.0.66.1Sam James2024-09-182-1/+10
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* install-qa-check.d/90config-impl-decl: Skip pthread_get_name_np on LinuxMatt Turner2024-09-121-0/+1
| | | | | | | | Seen in dev-util/lttng-tools and dev-util/lttng-ust. The function seems to be available on at least Darwin, FreeBSD, and OpenBSD. Signed-off-by: Matt Turner <mattst88@gentoo.org>
* install-qa-check.d/90config-impl-decl: Skip pthread_set_name_np on LinuxMatt Turner2024-09-121-0/+1
| | | | | | | | | Seen in dev-lang/erlang, dev-util/lttng-tools, and dev-util/lttng-ust. The function seems to be available on at least Darwin, FreeBSD, and OpenBSD. Bug: https://bugs.gentoo.org/898762 Signed-off-by: Matt Turner <mattst88@gentoo.org>
* install-qa-check.d/90config-impl-decl: Skip pthread_threadid_np on LinuxMatt Turner2024-09-121-0/+1
| | | | | | | Seen in dev-db/mariadb. The function seems to be available on Darwin. Bug: https://bugs.gentoo.org/899772 Signed-off-by: Matt Turner <mattst88@gentoo.org>
* install-qa-check.d/90config-impl-decl: Skip ↵Matt Turner2024-09-121-0/+1
| | | | | | | | | | | pthread_cond_timedwait_monotonic_np on Linux Seen in mail-client/thunderbird, www-client/seamonkey, and www-client/firefox. It seems to be an Android/bionic function. Bug: https://bugs.gentoo.org/905825 Closes: https://bugs.gentoo.org/932360 Signed-off-by: Matt Turner <mattst88@gentoo.org>
* NEWS: fix typoSam James2024-09-111-1/+1
| | | | | | Reported by Eli. Signed-off-by: Sam James <sam@gentoo.org>
* JobStatusDisplay: introduce max_display_width variableFlorian Schmaus2024-09-111-3/+6
| | | | | | | | | Values that belong together and may only be changed at the same time should be combined in a common constant. So let's do this. Signed-off-by: Florian Schmaus <flow@gentoo.org> Closes: https://github.com/gentoo/portage/pull/1377 Signed-off-by: Sam James <sam@gentoo.org>
* JobStatusDisplay: fix setting the default width to 100Florian Schmaus2024-09-111-2/+2
| | | | | | | | | | | This fixes a28a0fd66002 ("JobStatusDisplay: increase the default width to 100") which attempted to set the default width to 100. However, the out of bounds check in _set_width() was not adjusted. Therefore, the default width was effectively still 80. Fixes: a28a0fd6600242a2e062a0fd2d7d5be95296b7ae Signed-off-by: Florian Schmaus <flow@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* NEWS, meson.build: prepare for portage-3.0.66portage-3.0.66Sam James2024-09-112-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* NEWS: updateSam James2024-09-111-1/+40
| | | | | Bug: https://bugs.gentoo.org/933499 Signed-off-by: Sam James <sam@gentoo.org>
* unpack: Update a commentUlrich Müller2024-09-101-1/+1
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* NEWS: Announce unpack changesUlrich Müller2024-09-101-0/+3
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* unpack: Match file extensions case-sensitively in old EAPIsUlrich Müller2024-09-101-88/+9
| | | | | | This fixes PMS compliance and at the same time simplifies the code. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* unpack: Don't display "Unpacking ..." for skipped filesUlrich Müller2024-09-101-21/+28
| | | | | | | | | | | | | | | | PMS says that "Any unrecognised file format shall be skipped silently." This wording was added with the draft of what later became EAPI 4: https://gitweb.gentoo.org/proj/pms.git/commit/?id=634c32f231e1bc94d64588e2b2edf0ad1ca60f1f The commit message doesn't give any rationale for "silently". It may well be that the wording is a remnant of the rejected "unpack --if-compressed" item. See the discussion in the 2009-04-23 council meeting: https://projects.gentoo.org/council/meeting-logs/20090423.txt (starting at 21:35). Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* install-qa-check.d: try to detect gcc warnings past colorEli Schwartz2024-09-101-1/+1
| | | | | | | | | | | | | | | | We have some code we use for config-impl-decl which can strip color codes out via sed. This is always necessary for config.log because if color exists it will still be there. The assumption was, likely, that build.log as managed by portage will also be ansifilter'd by portage, and therefore stripping color is unnecessary. But in fact, some people do like color and intentionally avoid stripping it. This rendered the QA check effectively broken. Instead we should make no assumptions, and explicitly strip this too. Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> Closes: https://github.com/gentoo/portage/pull/1375 Signed-off-by: Sam James <sam@gentoo.org>
* eapi.py: Use attrs instead of hardcoding EAPIs in functionsUlrich Müller2024-09-091-6/+24
| | | | | | | Adding new attrs as needed. Their name is the same as the corresponding PMS feature label (if one exists). Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* eapi.py: Sort _eapi_attrs alphabeticallyUlrich Müller2024-09-091-2/+2
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* asyncio: Avoid _wrap_loop prior to create_subprocess_execZac Medico2024-08-311-2/+1
| | | | | Bug: https://bugs.gentoo.org/761538 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* asyncio: Use default ensure_future implementation when possibleZac Medico2024-08-311-0/+3
| | | | | | | | | When a loop argument is not given, use the default asyncio ensure_future implementation and avoid unnecessary _wrap_loop usage. Bug: https://bugs.gentoo.org/761538 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* asyncio: Use default sleep implementation when possibleZac Medico2024-08-311-2/+5
| | | | | | | | When a loop argument is not given, use the default asyncio sleep implementation and avoid unnecessary _wrap_loop usage. Bug: https://bugs.gentoo.org/761538 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* _safe_loop: Discard wrapped asyncio.run loop that was closedZac Medico2024-08-311-0/+7
| | | | | | | | | | | Since commit cb0c09d8cecb, _get_running_loop can wrap loops from asyncio.run, so these loops need to be discarded if they've been closed. Fixes: cb0c09d8cecb ("Support coroutine exitfuncs for non-main loops") Bug: https://bugs.gentoo.org/938761 Bug: https://bugs.gentoo.org/761538 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* man/emerge.1: Fixed a typoAllen-Kristjan Päll2024-08-201-1/+1
| | | | | | Signed-off-by: Allen-Kristjan Päll <akpall+gentoo@fst.ee> Closes: https://github.com/gentoo/portage/pull/1373 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Remove unused and unimplemented asyncio.Task classZac Medico2024-08-181-11/+0
| | | | | | | | This class originated from commit 142d08c0636b and it is unused since _PortageEventLoop was removed in commit 20204fd8c29. Fixes: 20204fd8c29 ("Remove unused _PortageEventLoop and _PortageChildWatcher") Signed-off-by: Zac Medico <zmedico@gentoo.org>
* _wrap_loop: Prevent redundant AsyncioEventLoop instancesZac Medico2024-08-181-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | Ultimately the loop arguments that necessitate the _wrap_loop function can be removed, because our aim since bug 761538 should be to eliminate them. Meanwhile, we don't want _wrap_loop to return redundant AsyncioEventLoop instances if we can easily prevent it. Therefore, use _safe_loop(create=False) to look up the AsyncioEventLoop instance associated with the current thread, and avoid creating redundant instances. This serves to guard against garbage collection of AsyncioEventLoop instances which may have _coroutine_exithandlers added by the atexit_register function since commit cb0c09d8cecb from bug 937740. If _safe_loop(create=False) fails to associate a loop with the current thread, raise an AssertionError for portage internal API consumers. It's not known whether external API consumers will trigger this case, so if it happens then emit a UserWarning and return a temporary AsyncioEventLoop instance. Fixes: cb0c09d8cecb ("Support coroutine exitfuncs for non-main loops") Bug: https://bugs.gentoo.org/938127 Bug: https://bugs.gentoo.org/937740 Bug: https://bugs.gentoo.org/761538 Signed-off-by: Zac Medico <zmedico@gentoo.org>
* Make portage.util.compression_probe work when ctypes is unavailablemid-kid2024-08-151-2/+2
| | | | | | | | This is useful for bootstrapping purposes, as _ctypes requires a dynamic linker. Closes: https://github.com/gentoo/portage/pull/1363 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* ebuild.5: update QA variables affected by QA_PREBUILTLucio Sauer2024-08-151-22/+22
| | | | | | Signed-off-by: Lucio Sauer <watermanpaint@posteo.net> Closes: https://github.com/gentoo/portage/pull/1367 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* phase-functions: extend QA_PREBUILT handling to QA_SONAME_NO_SYMLINKLucio Sauer2024-08-151-1/+2
| | | | | | | | | | This behavior is implied by the ordering of QA variables in the man page since the introduction of QA_SONAME_NO_SYMLINK. Bug: https://bugs.gentoo.org/924953 Fixes: dcb42a417355510284a35c08a4bf849047122a5c Signed-off-by: Lucio Sauer <watermanpaint@posteo.net> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* _EbuildFetcherProcess: Suppress asyncio.CancelledErrorZac Medico2024-08-141-1/+1
| | | | | | Fixes: 74e29110d86a ("_EbuildFetcherProcess: Suppress CancelledError") Bug: https://bugs.gentoo.org/937888 Signed-off-by: Zac Medico <zmedico@gentoo.org>