-
Notifications
You must be signed in to change notification settings - Fork 493
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
Updating MSYS2 unattended is broken (MSYS2 locks up on full system upgrade) #1141
Comments
@Ede123 there are no solution for it. This warning is always when upgrade core packages. |
Yes, I know the message, but previously the console could be closed and there was no locked process reported by mintty. Nowadays a process remains that needs to be killed. Also note that for this specific reason I chose to run pacman once directly on Windows console before starting a bash and continuing the update. This still allowed to workaround the issue previously, allowing CI to succeed despite upgrades of msys2-runtime. |
@Alexpux I found the issue:
I think we simply need to either |
Is there any reason for |
Code introduced in Alexpux/MSYS2-pacman@6e0ff83 |
Even found a workaround for it that does not require a code change: The bit mask can be derived from the question type as defined in the enum It's certainly ugly and the option was even removed at one point for being "non-user friendly" but added back later (mainly for internal usage, though) but it allows CI to work again! Maybe removing the blocking behavior is still the easiest solution (probably better than using an undocumented option?). Otherwise we could still attempt to change the defaults, but there does not seem to be a straightforward way to do it (at least I did not find the defaults collected in a central place, it seems they're defined at multiple locations in the code...) |
@Ede123 nice find! As far as I can see it just reverses the default answer, and only two commands are defaulting to NO using noyes(), ALPM_QUESTION_CONFLICT_PKG and ALPM_QUESTION_REMOVE_PKGS, so "--ask 20" should make it default to yes for everything. |
Ah, yes, I was looking in the wrong place yesterday and assumed "0" was the default answer to all questions, but it is overwritten in What about patching MSYS2 pacman to use |
Sounds good to me, although in this case it will probably not help appveyor users as the current error will prevent pacman updates. |
We should also ask appveyor to update the base install after that. |
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. Fixes msys2#1141
I created a PR for the change, unfortunately pacman does not build for me right now :-/ |
@Ede123, will |
@tico-tico: No, with the changes you should only use |
Since i can never be sure what version of pacman i have on remote host your change will actually complicate things for me 😕 . |
Yeah, to be honest, diverging behaviour on the same flag as arch pacman sounds bad. The patch would be better if the new behaviour was another option, or better yet, get this change (in some form) upstreamed. Or just stick with |
I too think the better option is to somehow "document" undocumented |
Unfortunate that you comment now that the change was merged... I still believe this is the best approach (otherwise I would not have proposed it):
If upstream follows this would obviously be the ideal case, otherwise I can not see how this can be unexpected or surprising to people:
Personally I don't care what solution we choose for allowing unattended full system upgrades as long as it's reasonable - |
I agree that I also agree that having some way to confirm with yes (and without using an undocumented flag) is a needed feature - but I disagree with changing the default behaviour of the flag (and which I infer now also breaks the As mentioned before, given that there is a workaround in vanilla pacman ( |
The main thing that really bothers me is that now it's impossible to update from an unknown version in easy way. Maybe you can just add hardcode |
This reverts commit e90cc04. The workaround to use --ask is considered as bad and is about to be removed. So adding this option would break future MSYS installs. See msys2/MSYS2-packages#1141
FWIW, while pacman itself is not really targeted at fully noninteractive scripting use, the pacutils collection of libalpm frontends (created by one of the lead pacman developers) has a pacinstall/pacremove/pactrans program which contains a series of options under the heading Prompt Disposition Options. There is a catchall option too:
So for completely unattended use, Maybe you'd be interested in packaging pacutils? |
Could pacman kill MSYS2 by itself by sending a signal to the parent? (based on a command line flag?) |
This should allow MSYS2 to update. See <msys2/MSYS2-packages#1141>.
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
where does this issue stand as of now? |
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
This allows to use pacman completely unattended using the --noconfirm switch which automatically accepts the default answer. See msys2/MSYS2-packages#1141
Hi all,
the latest update seems to have made it impossible to do a full system upgrade of MSYS2 unattendedly (i.e. via CI on AppVeyor).
yes | pacman
).warning: terminate MSYS2 without returning to shell and check for updates again
warning: for example close your terminal window instead of calling exit
Does anybody know a way how to work around this issue?
Also I seem to recall that it worked previously (MSYS2 did not lock up and CI could continue). This seems not to be true any longer. :-/
The text was updated successfully, but these errors were encountered: