Commit Graph
109 Commits
Author SHA1 Message Date
Jo 514b1df0c2 fix(dep): fall back to pkgbase fields when building packages from .SRCINFO (#2958) 2026-08-07 16:04:28 +09:00
Jo 6e6d39d595 perf(deps): improve dependency resolution performance (#2890)
* improve topo performance

* fix: Resolve data race in dep_graph_test and clean up local mods

* cleanup

* feat(dep): add split functionality

* cleanup mem allocs
2026-06-24 00:20:04 +02:00
Jo 8fcaff9e6f fix(depgraph): reduce memory allocations (#2875)
* cleanup mem allocs

* lint
2026-06-18 19:58:23 +02:00
Jo 15057c8dab misc(ci): add modernize linter and update versioning (#2870)
* add modernize linter

* lint unused

* update imports

* ignore agent info
2026-06-17 21:09:53 +02:00
Jo 3b3a2b1dcc fix: search filter hooking and multierror cleanup (#2868)
* fix search filtering pass along

* prepare inclusion 'modernize' linter and use errors.join instead
2026-06-17 19:34:33 +02:00
Jo 6927555779 fix: propagate Maintainer field through dep graph and upgrade service (#2865)
* fix: propagate Maintainer field through dep graph and upgrade service

Add Maintainer to InstallInfo and propagate it through the dependency
graph (dep_resolve, dep_visual) and UpgradeService. Update docs
generator with TOC support and Lua page builder.

* lint
2026-06-16 12:19:19 +02:00
rebel onion 977c9562ce feat: Show AUR Package Age (#2846)
* feat: show AUR package age
2026-06-12 11:11:50 +02:00
Jo 3b79933638 test: harden coverage and make tests parallel-safe (#2797)
* Test coverage hardening and parallel-safe refactors

Add focused test coverage for under-tested operational paths, edge branches,
and make key table-driven suites parallel-safe. Also fixed flaky installer
test execution under repeated/parallel runs.

* chore: fix goimports ordering for golangci-lint

* Test(download): expand integration coverage for download paths

Add integration scenarios for force/pull repo updates, repo-only and skip semantics,
and direct AUR download/scanner coverage used by getpkgbuild and package preparation.

* Test(exe): relax systemd-run path assertion

Fix flaky TestBuildGitCmd by accepting an absolute systemd-run path while still
asserting the expected binary is used.

* Test(text): avoid race in color tests

Remove parallel execution from TestColorHash so global UseColor writes do not
overlap with color consumers in parallel tests and trigger race detector
failures.

* fix potential race conditions
2026-03-25 00:51:34 +01:00
Jo 0a928ba9f4 feat(yay): use dyalpm for alpm usage (#2769)
* squash: dyalpm integration

* fix vercmp

* fix linting
2026-01-22 16:46:55 +01:00
Jo abe346b2ec Fix flaky test (#2757)
fix flaky test
2025-12-25 14:40:18 +01:00
LordBeerus c466b96b94 fix: Correctly return exit status 1 when no packages are found (#2705)
* fix: Correctly return exit status 1 when no packages are found

* add testing for targets not found
2025-12-21 15:54:23 +01:00
Camilo SantanaandJo Garnier dd0f44c78d feat: add source of dependency error (#2720)
* feat: add source of dependency error

* add test for deps

* present the chain upwards

---------

Co-authored-by: Jo Garnier <git@jguer.space>
2025-12-21 14:38:15 +01:00
Jo d52526284e dep/topo: clarify graph API, rename methods, add tests (#2744)
* ci(yay): update packages on builder before building release

* update go-aur

* dep/topo: clarify graph API, rename methods, add tests

- Rename topo methods for clarity (TopoSortedLayers, AddProvides, HasProvides, GetProviderInfo)
- Add GoDoc describing edge direction and semantics
- Make ForEach safe when node info is missing
- Add unit tests for Dependencies/Dependents behavior
- Update call sites

* Revert "ci(yay): update packages on builder before building release"

This reverts commit bb64208c64.
2025-12-21 14:27:55 +01:00
Jo 81440e54a4 chore(go): modernize syntax (#2672)
* modernize go syntax

* fix lint
2025-09-18 18:05:58 +02:00
Jo b745f87210 chore(ci): update golangci lint v2.1.5 (#2615)
* chore(ci): update golangci-lint to v2.1.5 in ci.Dockerfile

* add golangci

* fix lint

* fix lint pkg/upgrade

* reenable lint
2025-05-01 10:00:10 +02:00
Jo d2c67ae0a4 fix(yay): fix minor performance and safety issue (#2581) 2025-02-25 17:15:34 +01:00
scarf da53d3855f fix: use positional argument for "providers available" translation (#2537) 2024-12-20 16:43:28 +00:00
Absobel bea53a4a09 fix: added missing spaces (#2386) 2024-09-19 14:15:44 +02:00
Eng Zer Jun d23e8925fa fix(dep_graph): fix panic on selecting AUR providers (#2333)
This commit fixes https://github.com/Jguer/yay/issues/2289 by making
`provideMenu` returns the first option when it receives an error input
from the user (e.g. user sends EOF).

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-12-11 17:45:54 +01:00
Jo 8916cd174b refactor(yay): move cfg inside of runtime (#2259)
* rework relationship between runtime and cfg

* separate runtime from cfg

* simplify instantiation logic

* move installer to appropriate package

* move operator to sync package

* add tests for srcinfo service

* consolidate srcinfo service in sync

* add logger to srcinfo

* add logger to preparer

* remove unused text functions

* remove remaining text.* from srcinfo

* remove global logger parts

* remove global org method exports

* remove global logger

* move text->input

* add rule to prevent fmt.Print

* update golangci go version

* remove outdated FAQs

* remove outdated FAQs
2023-08-06 21:39:41 +02:00
Jo 5995e55ddb chore(topo): move topo to where it's used (#2250)
move topo into dep
2023-07-23 20:20:05 +00:00
Jo 04c82b8112 chore(yay): replace custom set package with dep (#2249)
* replace string set with dep

* remove unused field

* remove custom string set package
2023-07-23 17:29:01 +00:00
smolx 6dd7933fbe Fix handling targets with specified db (#2218)
* Fix handling targets with specified db

Handle it in a similar way to handling targets with unspecified db.

Also refactored GraphSyncPkg method to make stuff more DRY.

* update go-mod
2023-07-06 06:53:46 +00:00
Jo 5b8cc98afa fix(dep_graph): do not package provides when providing itself. fix: #2215 (#2216)
fix #2215. package provides itself
2023-06-19 08:13:47 +00:00
smolx c5a18e5000 Fix install reason preservation when package is reinstalled (#2195) 2023-06-11 16:16:05 +00:00
smolx 7dc4fae155 Fix excluding of packages with unsatisfied deps (#2203)
* Fix excluding of packages with unsatisfied deps

When dependency is unsatisfied, add to the graph not only a dep node,
but relationship with parent too.

* Remove excess(duplicate) logic

* Add test cases of upgrading with unsatisfied deps
2023-06-11 16:10:48 +00:00
smolx 0607090719 Fix deps resolving for installs from SRCINFO (#2190)
Also made MockBuilder and MockRunner thread-safe.
2023-06-03 13:53:33 +00:00
Jo e28319fece chore(yay): lift legacy engine (#2189)
* remove legacy engine

* remove legacy dep handlers

* use prepare for gendb

* remove unused method

* remove aur client old interface

* remove unused menu fns

* remove inactive upgrademenu option

* unexport printInfo
2023-05-24 08:22:18 +00:00
smolx c1aa71bee1 Fix AUR dependency resolving (#2169)
Before this fix dependencies for AUR targets were added to the graph
after each addition of a target node. Now dependencies are added only
after all target nodes are added to the graph.

Also added some tests for previously bugged cases.
2023-05-23 21:18:41 +00:00
Jo fdcf6ef664 ci(yay): add integration test framework (#2178)
* add integration test framework

* fix integration tests

* fix integration tests
2023-05-22 21:38:02 +00:00
Joaquim Monteiro 490ebe4f7f Fix formatting of error message that occurs on AUR errors (#2154)
fix: fix formatting of error message that occurs on AUR errors
2023-05-08 21:43:50 +00:00
Jo f7731d7cf9 fix(groups): fix sync group getting passed to reason setter (#2148)
fix sync group install #2137
2023-05-01 16:21:40 +00:00
Jo 966bfb74ee feat(dep): add provider resolution on first layer (#2147)
add provider resolution on first layer
2023-05-01 15:56:42 +00:00
Jo e6344100e6 fix(upgrade): fix local pulled dependencies replacing upgrade information (#2140)
avoid upgrade info loss

fix colormap
2023-04-27 07:04:09 +00:00
Jo c7a51a1614 fix(text): ensure error logs go to stderr (#2105)
ensure Error logs go to stderr
2023-04-10 16:26:09 +00:00
Jo 5d1c54413c fix(query_builder): use correct aur client for mixed query builder (#2041)
* use same repo search as pacman

use logger child from runtime

* use common interface for aur clients
2023-04-01 10:33:05 +00:00
Jo 3d5a43c294 chore(yay): bump version (#1949)
bump major
2023-03-07 21:04:06 +00:00
Jo 8b8d6001a4 fix(new_engine): Improve partial upgrade protection and pinned deps (#1945)
* fix dep graph, existing in graph

* do not change from same dep reason

* roll up layer installs in case of fail

* re-use pacman exclude mechanism

should finish the reimplementation of the missing guards from the legacy
engine.

* include update in debug log

* test rollups
2023-03-05 17:31:11 +00:00
Jo fa2e726ca6 chore(text): use logger in new engine services (#1939)
* use logger in vcs

* use logger in query builder

* use logger in migrations
2023-02-25 19:03:27 +00:00
Jo 841395c318 feat(local_install): check PKGBUILD and .SRCINFO presence and generate .SRCINFO if necessary (#1938)
check build file presence and generate if needed
2023-02-25 17:44:24 +00:00
Jo 7490836991 fix(new_engine): respect --needed on target gathering (fixes #1552) (#1920)
* use logger in dep graph

* use logger in dep graph

* use logger in dep graph

* only query for AUR packages once per tier. useful for rpc

* fix performance regression for ros-melodic

* prefer name search first

* implement needed at target gathering

* set default config

* fixup tests for needed
2023-02-20 23:14:59 +00:00
Jo f1d086df1d Allow use of rpc client as an alternative to the metadata client (#1918)
* use updated aur client

* add logger to rpc client

* update go.mod
2023-02-20 11:20:48 +00:00
Jo 0bf4c2e502 feat(new_install): show (#1915)
* show new packages in upgrade form if they exist

* refactor up select

* remove unused graph parts

* readd len

* Complete upgrade graphing

* Extract to upgrade pkg

* remove unused dep method

* remove uneeded dep

* cleanup method

* specify io Reader for testing

* use specified input vector

* fix non-active devel

* test base cases

* add devel test cases

* add range tests

* add logger struct

* use logger struct in upgrade

* follow golangci recommendations

* update deps

* update golangci
2023-02-17 19:01:26 +00:00
Jo 4f50b799ef feat(local_install): add choice menu for yay -Bi (#1903)
add choice menu for yay -Bi
2023-01-23 23:54:15 +00:00
Jo b3c334e014 fix(new_engine): fix devel sysupgrade (#1883)
fix devel sysupgrade
2023-01-03 19:24:28 +00:00
Jo f372494d74 feat(search): add new bys and misc fixes (#1870)
* use default bin entry of gpg

* fix(dep): fix displayed information in chosen provide

* add new rpc bys to searchby

* man document
2022-12-30 19:02:32 +00:00
Jo 9be51052f7 update deps (#1868)
* update deps

* align struct
2022-12-29 18:42:43 +00:00
Jo 28d90c981e feat(new engine): local install feature testing (#1867)
* make config into parameter

* test(new engine): local install test

* test(keys): fix test keys

* complete integration test for local install

* add simple mising mechanism
2022-12-29 12:34:53 +00:00
Jo 3eb9eb0d3d feat(new_engine): add support for noDeps and noCheckDeps (#1861)
* feat(new engine): add support for noDeps and noCheckDeps

* test(new engine): Add tests for -dd and normal split package resolution
2022-12-18 20:14:41 +00:00
Jo 4a3e365fc5 AUR provides search rpc (#1856)
* add support for provides search in AUR RPC client

* return provides search to default true
2022-12-18 02:36:49 +01:00