Using Local Folder
Hi Folks, I've been toying with setting up a central repository of the cygwin packages we need in our environment so that folks don't have to pound the internet and directly download from cygwin.com all the time. I've done this by downloading the packages using setup.exe and then on secondary machines using the package directory for install using the local folder installation option. What I've noticed is this works great for the first install, but if the master downloads new packages, the secondary machines don't automatically install them - they show up in setup marked Skip. Naturally this is great when installing from a network mirror where you don't want to default to installing everything - but our mini-mirror has just what we need. Is there a way to change the default handling of setup.exe to install every package it finds when using a local folder install? So far I've only tested this with a drive mounted by me - I'm wondering if this approach will work for other users too (where the local package folder is not owned by them - something I plan to test). I'd appreciate if anyone can provide some insights in to solving the behaviour I'm seeing or suggesting a better way. I searched around online, and didn't find a great guide on how to do this type of thing. Cheers Dave -- 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: Using Local Folder
Reini, You are genius! (And so is who ever wrote setup to select Install for All on the Category page) I did not realize that on the Category page you could click on each category or All to apply the same action to all the sub elements. Clicking to set All to Install (so that all the packages are marked install) works like a charm without needing to edit any setup.ini or installed.db files! Of course I've only given it a quick test run, but this looks very promising. Thanks much - you are all fabulous! Cheers Dave On 1/12/2011 4:07 PM, Reini Urban wrote: 2011/1/12 Larry Hall (Cygwin): On 1/12/2011 3:14 PM, Trollope, David wrote: I've been toying with setting up a central repository of the cygwin packages we need in our environment so that folks don't have to pound the internet and directly download from cygwin.com all the time. I've done this by downloading the packages using setup.exe and then on secondary machines using the package directory for install using the local folder installation option. What I've noticed is this works great for the first install, but if the master downloads new packages, the secondary machines don't automatically install them - they show up in setup marked Skip. Naturally this is great when installing from a network mirror where you don't want to default to installing everything - but our mini-mirror has just what we need. Is there a way to change the default handling of setup.exe to install every package it finds when using a local folder install? Avoiding the initial skip, pre-select your private selection? My untested idea would be to provide a pre-filled /etc/setup/installed.db with the needed packages already there, with a release version one below, like -0 Or add a new group to your packages in the ini and select the group. (click on right of the name Default = Install) -- Dave Trollope dtroll...@informatica.com 29West-Informatica,Inc (630) 836-2990x309 AIM:dstrollope -- 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: /dev/windows and select() [was Re: Slow response to keypresses in xorg-server-1.8.0-1]
We are listening and learning :-) Dave Sent from my iPad On Aug 29, 2010, at 9:51 AM, Corinna Vinschen corinna-cyg...@cygwin.com wrote: On Aug 29 16:41, Corinna Vinschen wrote: On Aug 29 16:17, Corinna Vinschen wrote: On Aug 29 14:39, Jon TURNEY wrote: On 08/08/2010 12:04, Andy Koppe wrote: On 7 August 2010 23:07, Jon TURNEY wrote: Hmmm, looking again at the implementation of select(), I don't immediately see that when waiting on /dev/windows, it checks that the message queue has old messages on it before waiting. The MSDN documentation for MsgWaitForMultipleObjects() seems to says that messages which had arrived before the last PeekMessage() etc. aren't considered new and so don't end the wait? [...] Thanks for the testcase. I examined this and I think I have a workaround. MSDN states that there's a flag QS_ALLPOSTMESSAGE for MsgWaitForMultipleObjects, which is not cleared by PeekMessage, if the wMsgFilterMin and wMsgFilterMax arguments are not both 0. So, what I did was to add the QS_ALLPOSTMESSAGE flag to the MsgWaitForMultipleObjects call in select.cc, and to change the PeekMessage call in select.cc:peek_windows() from PeekMessage (m, (HWND) h, 0, 0, PM_NOREMOVE) to PeekMessage (m, (HWND) h, 1, UINT_MAX, PM_NOREMOVE) Same in your above test application. This appears to do the trick. However, I'm not exactly sure if that's a valid fix. Patch below. Hmm, this ignores the potential WM_NULL message, afaics. For some reason, using PeekMessage (m, (HWND) h, 0, UINT_MAX, PM_NOREMOVE) results in MsgWaitForMultipleObjects hanging, too. OTOH, using PeekMessage (m, (HWND) h, 0, 16, PM_NOREMOVE) PeekMessage (m, (HWND) h, 17, UINT_MAX, PM_NOREMOVE) does not. Go figure. Yeah, I realize I'm talking to myself, but this works, too: PeekMessage (m, (HWND) h, 0, UINT_MAX - 1, PM_NOREMOVE) Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/
Re: /dev/windows and select() [was Re: Slow response to keypresses in xorg-server-1.8.0-1]
We are listening and learning :-) Dave Sent from my iPad On Aug 29, 2010, at 9:51 AM, Corinna Vinschen corinna-cyg...@cygwin.com wrote: On Aug 29 16:41, Corinna Vinschen wrote: On Aug 29 16:17, Corinna Vinschen wrote: On Aug 29 14:39, Jon TURNEY wrote: On 08/08/2010 12:04, Andy Koppe wrote: On 7 August 2010 23:07, Jon TURNEY wrote: Hmmm, looking again at the implementation of select(), I don't immediately see that when waiting on /dev/windows, it checks that the message queue has old messages on it before waiting. The MSDN documentation for MsgWaitForMultipleObjects() seems to says that messages which had arrived before the last PeekMessage() etc. aren't considered new and so don't end the wait? [...] Thanks for the testcase. I examined this and I think I have a workaround. MSDN states that there's a flag QS_ALLPOSTMESSAGE for MsgWaitForMultipleObjects, which is not cleared by PeekMessage, if the wMsgFilterMin and wMsgFilterMax arguments are not both 0. So, what I did was to add the QS_ALLPOSTMESSAGE flag to the MsgWaitForMultipleObjects call in select.cc, and to change the PeekMessage call in select.cc:peek_windows() from PeekMessage (m, (HWND) h, 0, 0, PM_NOREMOVE) to PeekMessage (m, (HWND) h, 1, UINT_MAX, PM_NOREMOVE) Same in your above test application. This appears to do the trick. However, I'm not exactly sure if that's a valid fix. Patch below. Hmm, this ignores the potential WM_NULL message, afaics. For some reason, using PeekMessage (m, (HWND) h, 0, UINT_MAX, PM_NOREMOVE) results in MsgWaitForMultipleObjects hanging, too. OTOH, using PeekMessage (m, (HWND) h, 0, 16, PM_NOREMOVE) PeekMessage (m, (HWND) h, 17, UINT_MAX, PM_NOREMOVE) does not. Go figure. Yeah, I realize I'm talking to myself, but this works, too: PeekMessage (m, (HWND) h, 0, UINT_MAX - 1, PM_NOREMOVE) Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/ -- 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