3

winget v1.4.10173

While performing winget upgrade --all I got the folowing result:


Name               Id             Version   Available Source
------------------------------------------------------------
MariaDB 10.5 (x64) MariaDB.Server 10.5.18.0 10.9.3.0  winget
2 upgrades available.

The following packages have an upgrade available, but require explicit targeting for upgrade: Name Id Version Available Source


MSYS2 64bit MSYS2.MSYS2 20220503 20230127 winget 2 package(s) have version numbers that cannot be determined. Use --include-unknown to see all results. 6 package(s) have version numbers that cannot be determined. Use --include-unknown to see all results. 1 package(s) is pinned and needs to be explicitly upgraded.

Some blogs mention the --include-explicit switch but there is no such option in v1.4.10173.

For updating msys2, what I actually want is to run pacman -Syuu in msys2 shell. As I understand it, updating msys2 via winget would result in the deletion of all data stored in the current msys2 installation folders. Even if the option --include-explicit were available, using it could be fatal.

What is the right way to update msys2 installed via winget then?

pogurek
  • 133

1 Answers1

0

MSYS2 has not implemented the winget update mechanism correctly. It is not removing the update flag, unless you make a clean reinstall of that package.

A work around for having MSYS2 show up in outdated winget package list, is to pin the currently installed version with the following command: winget pin add -q 'MSYS2.MSYS2'

In addition, the manual pacman -Syu fails when there are major Python updates, and the 6 different MSYS2 environment instances are not using the same python version. (As of today there is a fail in the setuptools between python 3.11 and 3.12 versions.)

not2qubit
  • 2,651
  • 4
  • 34
  • 45