Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch to honor combinedupgrade properly #2114

Closed
wants to merge 3 commits into from

Conversation

0xDEADCADE
Copy link

Fixes #2096

In a situation where an AUR package is upgraded, and requires repository make dependencies, the make dependencies would appear in the "Packages to exclude" list. This clutters up the list unnecessarily. The same packages are also listed one step later per AUR package to upgrade.

This removes the repo makedeps from the "Packages to exclude" list when nocombinedupgrade is used (or configured).
@0xDEADCADE 0xDEADCADE requested a review from Jguer as a code owner April 12, 2023 08:29
@Jguer
Copy link
Owner

Jguer commented Apr 12, 2023

Hey @0xDEADCADE , this change would make make dependencies show up in the menu when they are from the AUR but not from the repo, this would keep the 'cluttering' you are referring to but also show an incomplete image of the makedeps pulled (yay -Syu ros-melodic-desktop is a good example)

I don't think this presentation is related to combinedupgrade as it deals with packages that will be installed, not necessarily a question of the upgrade being combined or not.

I think there is room for improvement in the UX though. The make dependencies/new dependencies to be install do weight on the decision to exclude a package.

But having them in the selection menu may cause some 'clutter'.
An alternative would be. Ex: (yay -Syu jellyfin).

Subdividing the menus but leaving the most important information next to the prompt

:: 5 Packages will be also installed
  community/aspnet-runtime-6.0   -> 6.0.14.sdk114-1
  community/dotnet-runtime-6.0   -> 6.0.14.sdk114-1
  community/dotnet-sdk-6.0       -> 6.0.14.sdk114-1
  (Make Dependency of jellyfin, jellyfin-web, ...)
  aur/jellyfin-server            -> 10.8.9-1
  aur/jellyfin-web               -> 10.8.9-1

:: 1 Package to upgrade.
1  aur/jellyfin             10.7.9-1 -> 10.8.9-1

@Jguer
Copy link
Owner

Jguer commented Apr 16, 2023

Can you try out the branch jguer/try-separate-menu?

I still disagree of combinedupgrade being used as a catch-all for creating a different flow of UX. As it is right now it just adds a pre-op that does not require any extra maintenance or thought which in my opinion accomplishes the goal of the flag

If we can find out a better alternative for everyone it would be preferable

Example on "yay -Syu jellyfin" (jguer/try-separate-menu)

:: 5 dependencies will also be pulled for this operation
   community/aspnet-runtime-6.0   -> 6.0.14.sdk114-1
   community/dotnet-runtime-6.0   -> 6.0.14.sdk114-1
   community/dotnet-sdk-6.0       -> 6.0.14.sdk114-1
   (make dependency of jellyfin, jellyfin-server, ...)
   aur/jellyfin-server            -> 10.8.9-1
   aur/jellyfin-web               -> 10.8.9-1

:: 1 package to upgrade/install.
1  aur/jellyfin   -> 10.8.9-1

@0xDEADCADE
Copy link
Author

To be honest, I have not spent any time on this PR after finishing 3638d3b. I was very used to the default flow of yay v11, and v12 changed that in a way that I dislike. Yay, for me, used to function as a pacman wrapper + AUR helper, not the other way around. It invokes pacman, showing the update list according to the settings in /etc/pacman.conf, and after those are complete, a clean list of AUR packages that are installed and ready to update. Each AUR package, just before updating, still shows its own required (make) dependencies. The nocombinedupgrade option reverts at least some behavior back to the yay v11 style of invoking pacman -Syu to update repository packages, updating AUR afterwards. I made this PR mainly with the goal of reverting visuals back to the style of yay v11, not thinking much about the intended use of nocombinedupgrade.

After trying jguer/try-separate-menu, I like it a lot more than the previous version in yay v12/next. With this version, I wouldn't go out of my way to revert back to the old yay v11 style. Although I'd personally still prefer an option to disable showing new (make) dependencies at this stage, as they get displayed again just afterwards:

AUR Explicit (1): cemu-2.0.339-1
Sync Make Dependency (8): boost-1.81.0-3, glm-0.9.9.8-1, llvm-15.0.7-2, cmake-3.26.3-1, nasm-2.16.01-1, clang-15.0.7-2, rapidjson-1.1.0-5, ninja-1.11.1-2

I agree that combinedupgrade shouldn't be a setting for entirely different UI, instead only toggling whether to update AUR and repository packages at the same time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Repository packages listed in "Packages to exclude" menu with --nocombinedupgrade
2 participants