Edits to PKGBUILD depends ignored by yay
Affected Version
yay v12.1.3.r4.gd368f99 - libalpm v13.0.2
Describe the bug
When editing the PGKBUILD the edits to depends are ignored.
Reproduction Steps
sudo pacman -S jdk-openjdkyay -S tachidesk-jui --editmenu- Edit the
dependssection to requirejdk-openjdkinsead ofjre-openjdk
Expected behavior
The package should not depend on jre-openjdk anymore, so yay shouldn't try to install it.
Output
Config:
{
"aururl": "https://aur.archlinux.org",
"aurrpcurl": "https://aur.archlinux.org/rpc?",
"buildDir": "/home/muf/.cache/yay",
"editor": "",
"editorflags": "",
"makepkgbin": "makepkg",
"makepkgconf": "",
"pacmanbin": "pacman",
"pacmanconf": "/etc/pacman.conf",
"redownload": "no",
"answerclean": "",
"answerdiff": "",
"answeredit": "",
"answerupgrade": "",
"gitbin": "git",
"gpgbin": "gpg",
"gpgflags": "",
"mflags": "",
"sortby": "votes",
"searchby": "name-desc",
"gitflags": "",
"removemake": "ask",
"sudobin": "sudo",
"sudoflags": "",
"version": "11.3.1",
"requestsplitn": 150,
"completionrefreshtime": 7,
"maxconcurrentdownloads": 0,
"bottomup": true,
"sudoloop": false,
"timeupdate": false,
"devel": true,
"cleanAfter": false,
"keepSrc": false,
"provides": false,
"pgpfetch": true,
"cleanmenu": true,
"diffmenu": true,
"editmenu": true,
"combinedupgrade": false,
"useask": false,
"batchinstall": false,
"singlelineresults": false,
"separatesources": true,
"debug": true,
"rpc": true,
"doubleconfirm": true,
"rebuild": "no"
}
Output of yay -S tachidesk-jui --editmenu:
[DEBUG:runtime] packages to query [tachidesk-jui]
[DEBUG:runtime] rpc request https://aur.archlinux.org/rpc?arg%5B%5D=tachidesk-jui&type=info&v=5
[DEBUG:grapher] tachidesk-jui provides: tachidesk-jui
AUR Explicit (1): tachidesk-jui-1.3.2-1
Sync Dependency (1): jre-openjdk-21.u35-7
:: PKGBUILD up to date, skipping download: tachidesk-jui
[DEBUG:runner] capturing /sbin/git -C /home/muf/.cache/yay/tachidesk-jui reset --hard HEAD
[DEBUG:runner] capturing /sbin/git -C /home/muf/.cache/yay/tachidesk-jui merge --no-edit --ff
[DEBUG:db] populating db executor package caches. sync_len 2090 remote_len 80
1 tachidesk-jui (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
1 tachidesk-jui (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
1 tachidesk-jui (Build Files Exist)
==> PKGBUILDs to edit?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> A
:: Proceed with install? [Y/n]
[DEBUG:runner] running /sbin/makepkg --verifysource --skippgpcheck -f -Cc
==> Making package: tachidesk-jui 1.3.2-1 (Tue 07 Nov 2023 10:41:28 AM CET)
==> Retrieving sources...
-> Found Tachidesk-JUI-linux-x64-1.3.2.jar
-> Found tachidesk-jui.desktop
-> Found tachidesk-jui.png
-> Found tachidesk-jui.sh
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
Tachidesk-JUI-linux-x64-1.3.2.jar ... Passed
tachidesk-jui.desktop ... Passed
tachidesk-jui.png ... Passed
tachidesk-jui.sh ... Passed
:: (1/1) Parsing SRCINFO: tachidesk-jui
[DEBUG:installer] manualConfirmRequired: true
[DEBUG:installer] origTargets: Set{tachidesk-jui}
[DEBUG:installer] syncDeps Set{extra/jre-openjdk} SyncExp Set{} aurDeps Set{} aurExp Set{} upgrade false
[DEBUG:runner] running /sbin/sudo pacman -S --config /etc/pacman.conf -- extra/jre-openjdk
resolving dependencies...
looking for conflicting packages...
:: jre-openjdk and jdk-openjdk are in conflict. Remove jdk-openjdk? [y/N]
@Jguer this can be fixed by creating a new flag to allow users to edit dependencies before parsing dependencies, in addition to after (in case dependencies themselves have PKGBUILDS to edit.
This affect the Howdy package as well (https://aur.archlinux.org/packages/howdy) which has settings in the PKGBUILD to determine features. YAY will ignore the CUDA disable flag and force installation of CUDA.
This should be fixable in the current architecture by refreshing the dependency graph after an edit