Re: output warning for cygwin process running at setup__.exe

2018-03-19 Thread Andrey Repin
Greetings, Brian Inglis!

>>> The problem is, not all packages are prepared to deal with locked shared
>>> objects (in truth, none are). Which may leave system in an inconsistent
>>> state even after reboot.

> Cygwin setup uses standard Windows wininit processing to perform the
> replacements on restart.

Does it schedule a rebase after replacement?

>> Server service like cygserver always start after windows re-start if it is
>> registered. So restart does not always kill cygwin processes. I do not want
>> to force to  kill cygwin process by setupXX.exe but output the warning.

> Only if a service is registered for Automatic startup: you can change this to
> Manual, and restart services in a permanent last postinstall script prefix 
> e.g.
> zp_zzz_services.dash, which can also be executed by a scheduled task, before
> starting Cygwin from e.g. a XWin Server taskbar or Start Menu shortcut.

> Cygwin setup could operate more consistently and transparently if setup 
> warned,
> then shutdown running Cygwin services and noted them, and killed all remaining
> processes, before beginning the install phase, then restarted previously noted
> running services after the postinstall phase.

Or it could rename the objects it failed to delete, and use wininit to
cleanup.


-- 
With best regards,
Andrey Repin
Monday, March 19, 2018 13:37:06

Sorry for my terrible english...


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: output warning for cygwin process running at setup__.exe

2018-03-19 Thread Vlado

On 19.3.2018 5:56, Tatsuro MATSUOKA wrote:

Sever survice like cygsever always start after windows re-start if it is 
registered.
So restart does not always kill cygwin processes.
I do not want to force to  kill cygwin process by setupXX.exe but output the 
warning.


Hi,

I use script [1] for years in order to:
- allways use latest setup.exe
- stop all running Cygwin services* before setup is started
- start formerlly runnig Cygwin services after setup is done
- and more

*) services I usually run; feel free to add more services according your 
needs



1: https://gist.github.com/Vlado-99/1d59bf05b70481377ff90bb53e13bb2d

Vlado

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: output warning for cygwin process running at setup__.exe

2018-03-18 Thread Brian Inglis
On 2018-03-18 22:56, Tatsuro MATSUOKA wrote:
>  On 2018-03-18 20:56, Andrey Repin wrote:
>>> On cygwin setup, one has to kill cygwin process to execute
>>> autorebase in the end of setup process. I think it is better to
>>> output warning at start stage setup if cygwin process running.

> Sorry for my inadequate description. At postinstall stage, cygwin
> setup execute /etc/postinstall/0p_000_autorebase.dash, this sometimes
> fails when Cygwin process(es) is(are) alive. According to
> http://cygwin.wikia.com/wiki/Rebaseall, we have to kill or stop
> cygwin processes and services before rebase. This is why I propose
> that warning messages in pre-install stage in cygwin setup.

  Sounds about right.
 If there's an existing Cygwin install, it is possible to run ps.exe and
 see if it find any running Cygwin processes before attempting an
 update.

>>> If there's not an existing Cygwin install, you don't really have to worry
>>> too much about Cygwin processes running. ;^>

>> Yes.

>>> The docs all recommend killing all Cygwin processes *before* running
>>> setup, as setup can not replace running exes and active dlls during the
>>> installation phase, before postinstall rebase of replaced dlls.

>>> If setup can not replace any exe or dll, it warns you have to restart
>>> your system to complete the replacement. After the restart, you then have
>>> to rerun setup with no Cygwin processes running to successfully rebase
>>> replaced dlls.

>> The problem is, not all packages are prepared to deal with locked shared 
>> objects (in truth, none are). Which may leave system in an inconsistent
>> state even after reboot.

Cygwin setup uses standard Windows wininit processing to perform the
replacements on restart.

> Server service like cygserver always start after windows re-start if it is
> registered. So restart does not always kill cygwin processes. I do not want
> to force to  kill cygwin process by setupXX.exe but output the warning.
Only if a service is registered for Automatic startup: you can change this to
Manual, and restart services in a permanent last postinstall script prefix e.g.
zp_zzz_services.dash, which can also be executed by a scheduled task, before
starting Cygwin from e.g. a XWin Server taskbar or Start Menu shortcut.

Cygwin setup could operate more consistently and transparently if setup warned,
then shutdown running Cygwin services and noted them, and killed all remaining
processes, before beginning the install phase, then restarted previously noted
running services after the postinstall phase.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: output warning for cygwin process running at setup__.exe

2018-03-18 Thread Tatsuro MATSUOKA
- Original Message -

> From: Andrey Repin 
> To: Brian Inglis ; cygwin
> Cc: 
> Date: 2018/3/19, Mon 13:02
> Subject: Re: output warning for cygwin process running at setup__.exe
> 
>G reetings, Brian Inglis!
> 
>>  On 2018-03-18 20:56, Andrey Repin wrote:
>>>>>>  On cygwin setup, one has to kill cygwin process to execute 
> autorebase 
>>>>>>  in the end of setup process. I think it is better to output 
> warning at
>>>>>>  start stage setup if cygwin process running.
> 
>>>>  Sorry for my inadequate description.
>>>>  At postinstall stage, cygwin setup execute
>>>>  /etc/postinstall/0p_000_autorebase.dash,
>>>>  this sometimes fails when Cygwin process(es) is(are) alive.
>>>>  Acooding to http://cygwin.wikia.com/wiki/Rebaseall, 
>>>>  we have to kill or stop cygwin porcesses and sevices before rebase.
>>>>  This is why I propose that warning messages in pre-install stage in 
> cygwin setup.
>>> 
>>>  Sounds about right.
>>>  If there's an existing Cygwin install, it is possible to run ps.exe 
> and see if
>>>  it find any running Cygwin processes before attempting an update.
> 
>>  If there's not an existing Cygwin install, you don't really have to 
> worry too
>>  much about Cygwin processes running. ;^>
> 
> Yes.
> 
>>  The docs all recommend killing all Cygwin processes *before* running setup, 
> as
>>  setup can not replace running exes and active dlls during the installation
>>  phase, before postinstall rebase of replaced dlls.
> 
>>  If setup can not replace any exe or dll, it warns you have to restart your
>>  system to complete the replacement. After the restart, you then have to 
> rerun
>>  setup with no Cygwin processes running to successfully rebase replaced 
> dlls.
> 
> The problem is, not all packages are prepared to deal with locked shared
> objects (in truth, none are).
> Which may leave system in an inconsistent state even after reboot.
>
Sever survice like cygsever always start after windows re-start if it is 
registered.
So restart does not always kill cygwin processes.
I do not want to force to  kill cygwin process by setupXX.exe but output the 
warning.
Tatsuro
Tatsuro

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: output warning for cygwin process running at setup__.exe

2018-03-18 Thread Andrey Repin
Greetings, Brian Inglis!

> On 2018-03-18 20:56, Andrey Repin wrote:
> On cygwin setup, one has to kill cygwin process to execute autorebase 
> in the end of setup process. I think it is better to output warning at
> start stage setup if cygwin process running.

>>> Sorry for my inadequate description.
>>> At postinstall stage, cygwin setup execute
>>> /etc/postinstall/0p_000_autorebase.dash,
>>> this sometimes fails when Cygwin process(es) is(are) alive.
>>> Acooding to http://cygwin.wikia.com/wiki/Rebaseall,
>>> we have to kill or stop cygwin porcesses and sevices before rebase.
>>> This is why I propose that warning messages in pre-install stage in cygwin 
>>> setup.
>> 
>> Sounds about right.
>> If there's an existing Cygwin install, it is possible to run ps.exe and see 
>> if
>> it find any running Cygwin processes before attempting an update.

> If there's not an existing Cygwin install, you don't really have to worry too
> much about Cygwin processes running. ;^>

Yes.

> The docs all recommend killing all Cygwin processes *before* running setup, as
> setup can not replace running exes and active dlls during the installation
> phase, before postinstall rebase of replaced dlls.

> If setup can not replace any exe or dll, it warns you have to restart your
> system to complete the replacement. After the restart, you then have to rerun
> setup with no Cygwin processes running to successfully rebase replaced dlls.

The problem is, not all packages are prepared to deal with locked shared
objects (in truth, none are).
Which may leave system in an inconsistent state even after reboot.


-- 
With best regards,
Andrey Repin
Monday, March 19, 2018 07:01:13

Sorry for my terrible english...

Re: output warning for cygwin process running at setup__.exe

2018-03-18 Thread Brian Inglis
On 2018-03-18 20:56, Andrey Repin wrote:
 On cygwin setup, one has to kill cygwin process to execute autorebase 
 in the end of setup process. I think it is better to output warning at
 start stage setup if cygwin process running.

>> Sorry for my inadequate description.
>> At postinstall stage, cygwin setup execute
>> /etc/postinstall/0p_000_autorebase.dash,
>> this sometimes fails when Cygwin process(es) is(are) alive.
>> Acooding to http://cygwin.wikia.com/wiki/Rebaseall,
>> we have to kill or stop cygwin porcesses and sevices before rebase.
>> This is why I propose that warning messages in pre-install stage in cygwin 
>> setup.
> 
> Sounds about right.
> If there's an existing Cygwin install, it is possible to run ps.exe and see if
> it find any running Cygwin processes before attempting an update.

If there's not an existing Cygwin install, you don't really have to worry too
much about Cygwin processes running. ;^>

The docs all recommend killing all Cygwin processes *before* running setup, as
setup can not replace running exes and active dlls during the installation
phase, before postinstall rebase of replaced dlls.

If setup can not replace any exe or dll, it warns you have to restart your
system to complete the replacement. After the restart, you then have to rerun
setup with no Cygwin processes running to successfully rebase replaced dlls.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple