Re: setup installs packages without displaying it
On Sat, Nov 26, 2005 at 04:43:35AM +0100, Gerrit P. Haase wrote: > Brian Dessent wrote: > >3. Create a dummy package with version 99.999 or something so that setup > >will always think that what you have installed is newer than anything > >available. I think this could be as simple as just editing > >/etc/setup/installed.db to contain a line such as "autoconf > >autoconf-99.999-1.tar.bz2 0", without actually creating a package. > > This is an intresting hint, thanks. Where in the source does setup do version comparisons?
Re: setup installs packages without displaying it
Hello Brian, In any case, it shouldn't take more than a couple of lines added to installed.db to inform setup of your local packages, and from then on it should work as expected, without having to uncheck anything. Well, I think I can live with it anyway. Many thank for your detailed advice. Gerrit
Re: setup installs packages without displaying it
"Gerrit P. Haase" wrote: > Previously there was no nag. I deslected some important package and > was lost. Now a hint is displayed, one could tell the user: "There > are important packages missing in your selection, do you really want > to be that stupid? To add these packages automatically hit the box > below." I am not disputing that it is more of a burden for you now, or that it makes your life harder. I'm very sorry for that. But that doesn't change the fact that setup is just not designed to be used in the way you are using it -- at least not without informing it of what you're doing by editing installed.db -- and so you have to expect some small amount of discomfort. Put another way: If a given feature causes a more reliable Cygwin experience for 95 out of 100 people, but results in a few extra seconds of work to uncheck a box for the other 5, then clearly it is doing a lot more good than harm. I'm sorry that you're in the minority but we really have to make the default behavior apply to the most common use case. If that check box did not default to checked, we would be back to where we started with users managing to somehow deselect required dependant packages, and end up with broken installs. You could say "but they would at least get a message saying something is wrong" but it is clear that most users don't read dialogs, they just press OK/Next. You proved this yourself by glossing over the dialog despite the first word of it being "Warning!" in bold. In any case, it shouldn't take more than a couple of lines added to installed.db to inform setup of your local packages, and from then on it should work as expected, without having to uncheck anything. Brian
Re: setup installs packages without displaying it
Brian Dessent wrote: "Gerrit P. Haase" wrote: be nice. And maybe make it optional, that is not checked by default. In the vast majority of cases continuing with missing dependencies is the wrong thing to do, so why should it be the default? Why should the default reflect a use case that is only used by people attempting very specific things under extraordinary circumstances? Previously there was no nag. I deslected some important package and was lost. Now a hint is displayed, one could tell the user: "There are important packages missing in your selection, do you really want to be that stupid? To add these packages automatically hit the box below." That would be nice. Now I must uncheck the box or fake package.db or s.th. like that. It is as annoying as it is to be forced to always uncheck the "put shortcut icon on desktop" checkbox, though I have this shortcut already. Gerrit -- =^..^=
Re: setup installs packages without displaying it
"Gerrit P. Haase" wrote: > be nice. And maybe make it optional, that is not checked by default. Pardon me for being blunt, but that's absurd. The whole point of adding that screen was that users kept managing to select a package and then deselect required dependencies somehow, ending up with a broken system. So the entire idea there is that if the user doesn't know what they're doing and just hits Next or can't take the time to read the dialog, they get all the dependencies added for them. To do it any other way would just mean that it would cease to serve any meaningful purpose. In the vast majority of cases continuing with missing dependencies is the wrong thing to do, so why should it be the default? Why should the default reflect a use case that is only used by people attempting very specific things under extraordinary circumstances? Brian
Re: setup installs packages without displaying it
Brian Dessent wrote: "Gerrit P. Haase" wrote: I have selected some packages checked in the partial view which packages are active, then when installation strted several packages were installed which were not selected. E.g. autoconf, automake related and such. Since I explicitely excluded these form upgrade because I use local patched versions, I'm somewhat shocked now. It is really a mess. My local versions got uninstalled. Here is what happened. You selected some package that needed autoconf. Setup saw that you didn't have autoconf installed, so it selected it also. This is not true, this is the machine where I used to build GCC, Mozilla, MySQL, Perl, all my packages, though it was not updated since cygwin-1.5.12 (the gold release) because I used it not much this year. But, because you were on the "partial" page you did not see that autoconf was selected because setup does not update the "view filtering" except when switching views. If you had pressed the View button to cycle to "Full" (or even just cycle through them all and back to "Partial") you would have seen autoconf selected. No, I selected the few packages I wanted to install in the Not Installed or Uptodate view and then toggled to the partial view to check what was selected as I always did. So I need to toggle to Partial once, and then one round through all views back to Partial again? 4. Uncheck the "install these dependencies" and dismiss whatever stern warnings come at you. I found the box, could be somewhat bigger ;) Yes, it's a pain. But, you do have to realize that what you are trying to do is so NOT what the typical setup user needs. Typical setup users want stuff to work and don't want to know about dependencies et cetera, so the more that we can have setup take care of that automatically the better. On a fundamental level, the way you are trying to do this is wrong. I think if you did the same thing -- replace files "owned" by the package manager -- with any other linux distro (e.g. apt or rpm), you would get burned as well. Well, I knew that this argument will come up. However, e.g. my libtool package includes one or two changes I apply locally, so I take the latest release, patch it and I'm finished, it is the fastest way to do so. This is how I suggest you do it: 1. Uninstall the packaged version. 2. Build/Install local version into --prefix=/usr/local, never /usr. 3. Create a dummy package with version 99.999 or something so that setup will always think that what you have installed is newer than anything available. I think this could be as simple as just editing /etc/setup/installed.db to contain a line such as "autoconf autoconf-99.999-1.tar.bz2 0", without actually creating a package. This is an intresting hint, thanks. Gerrit
Re: setup installs packages without displaying it
Dave Korn wrote: Or you could untick the box that says "Install these packages to meet dependencies". Did that screen not appear? Yes, now after I have started it the second time to fix the broken installation, I see this checkbox for the very first time. Not really a good place for a little check box, a hint in the main display would be nice. And maybe make it optional, that is not checked by default. 2005/11/25 14:33:15 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/GNOME/share d-mime-info/shared-mime-info-0.16-1.tar.bz2 2005/11/25 14:33:19 io_stream_cygfile: fopen failed 13 Permission denied 2005/11/25 14:33:19 Failed to open cygfile:///usr/share/mime/application/andrew-inset.xml for writing. [... continued about 411000 lines ...] Hmm. Looking at that file on my install, it's got rwx-- perms. Were you running as the same user when you originally installed that? Hmm, explorer crashes and I lost my mozilla profile and some other ugly errors. Obviously I was no longer logged in as Admin after restarting explorer from the console. Gerrit -- =^..^=
Re: setup installs packages without displaying it
"Gerrit P. Haase" wrote: > I have selected some packages checked in the partial view which packages > are active, then when installation strted several packages were > installed which were not selected. E.g. autoconf, automake related and > such. > > Since I explicitely excluded these form upgrade because I use local > patched versions, I'm somewhat shocked now. It is really a mess. My > local versions got uninstalled. Here is what happened. You selected some package that needed autoconf. Setup saw that you didn't have autoconf installed, so it selected it also. But, because you were on the "partial" page you did not see that autoconf was selected because setup does not update the "view filtering" except when switching views. If you had pressed the View button to cycle to "Full" (or even just cycle through them all and back to "Partial") you would have seen autoconf selected. If you *really* want to do what you're trying to do, this is how you should do it: 1. Select the desired package. 2. Deselect the automatically added dependencies, possibly switching the view first to reveal them, as described above. 3. Press next. 4. Uncheck the "install these dependencies" and dismiss whatever stern warnings come at you. Yes, it's a pain. But, you do have to realize that what you are trying to do is so NOT what the typical setup user needs. Typical setup users want stuff to work and don't want to know about dependencies et cetera, so the more that we can have setup take care of that automatically the better. On a fundamental level, the way you are trying to do this is wrong. I think if you did the same thing -- replace files "owned" by the package manager -- with any other linux distro (e.g. apt or rpm), you would get burned as well. This is how I suggest you do it: 1. Uninstall the packaged version. 2. Build/Install local version into --prefix=/usr/local, never /usr. 3. Create a dummy package with version 99.999 or something so that setup will always think that what you have installed is newer than anything available. I think this could be as simple as just editing /etc/setup/installed.db to contain a line such as "autoconf autoconf-99.999-1.tar.bz2 0", without actually creating a package. Brian
RE: setup installs packages without displaying it
Gerrit P. Haase wrote: > Gerrit P. Haase wrote: >> Hi, >> >> I have selected some packages checked in the partial view which packages >> are active, then when installation strted several packages were >> installed which were not selected. E.g. autoconf, automake related and >> such. >> >> Since I explicitely excluded these form upgrade because I use local >> patched versions, I'm somewhat shocked now. It is really a mess. My >> local versions got uninstalled. > 2005/11/25 14:31:42 Adding required dependency autoconf2.1: Selecting > version 2.13-1 for installation. > 2005/11/25 14:31:42 Adding required dependency autoconf2.5: Selecting > version 2.59-2 for installation. > 2005/11/25 14:31:42 Adding required dependency automake1.4: Selecting > version 1.4p6-2 for installation. > 2005/11/25 14:31:42 Adding required dependency automake1.9: Selecting > version 1.9.6-1 for installation. > 2005/11/25 14:31:42 Adding required dependency libtool1.5: Selecting > version 1.5.20-2 for installation. > 2005/11/25 14:31:42 Adding required dependency openssl097: Selecting > version 0.9.7i-1 for installation. > 2005/11/25 14:31:42 Adding required dependency sysvinit: Selecting > version 2.84-4 for installation. > Libtool requires autoconf, automake, but what requires sysvinit? None of > the selected packages, but GConf2 which I have installed. > > I'm also pretty sure that I have decided to NOT remove clear and to NOT > update to ncurses latest. And the same for for libpcre. Now I have NO > clear at my system, no libpcre anymore. > > I think, this is bad. I cannot unselect the packages because they are > automatically selected after the package chooser. I never wanted to > upgrade my libtool installation, btw. why was libtool selected at all? > > It is really a good thing that setup notes that there MAY BE some packages > missing to fulfill requirements, however, it cannot know it for sure, i.e. > if I use my own versions of some packages, and It MUST NOT add packages > to the installation list on its own behalf! > > > This setup.exe is trash, I'll revert to some older version now. Or you could untick the box that says "Install these packages to meet dependencies". Did that screen not appear? > 2005/11/25 14:33:15 Installing > file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/GNOME/share d-mime-info/shared-mime-info-0.16-1.tar.bz2 > 2005/11/25 14:33:19 io_stream_cygfile: fopen failed 13 Permission denied > 2005/11/25 14:33:19 Failed to open > cygfile:///usr/share/mime/application/andrew-inset.xml for writing. > 2005/11/25 14:33:19 io_stream_cygfile: fopen failed 13 Permission denied > 2005/11/25 14:33:19 Failed to open > cygfile:///usr/share/mime/application/andrew-inset.xml.new for writing. > 2005/11/25 14:33:19 Unable to install file > cygfile:///usr/share/mime/application/andrew-inset.xml > 2005/11/25 14:33:19 io_stream_cygfile: fopen failed 13 Permission denied > 2005/11/25 14:33:19 Failed to open > cygfile:///usr/share/mime/application/andrew-inset.xml for writing. > 2005/11/25 14:33:19 io_stream_cygfile: fopen failed 13 Permission denied > 2005/11/25 14:33:19 Failed to open > cygfile:///usr/share/mime/application/andrew-inset.xml.new for writing. > 2005/11/25 14:33:19 Unable to install file > cygfile:///usr/share/mime/application/andrew-inset.xml > 2005/11/25 14:33:19 io_stream_cygfile: fopen failed 13 Permission denied > 2005/11/25 14:33:19 Failed to open > cygfile:///usr/share/mime/application/andrew-inset.xml for writing. > 2005/11/25 14:33:19 io_stream_cygfile: fopen failed 13 Permission denied > > [... continued about 411000 lines ...] Hmm. Looking at that file on my install, it's got rwx-- perms. Were you running as the same user when you originally installed that? cheers, DaveK -- Can't think of a witty .sigline today
Re: setup installs packages without displaying it
Gerrit P. Haase wrote: Hi, I have selected some packages checked in the partial view which packages are active, then when installation strted several packages were installed which were not selected. E.g. autoconf, automake related and such. Since I explicitely excluded these form upgrade because I use local patched versions, I'm somewhat shocked now. It is really a mess. My local versions got uninstalled. Additionally it hangs now at the installation of shared-mime-info-0.16-1 and I will probably get no logfile because I need to kill setup. Any ideas? Ok, following up myself, I got a log after hitting the cancel button, about 80 MB in total, here are some excerpts: 2005/11/25 14:18:32 Starting cygwin install, version 2.510.2.2 2005/11/25 14:18:32 Current Directory: G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin 2005/11/25 14:31:42 Adding required dependency autoconf2.1: Selecting version 2.13-1 for installation. 2005/11/25 14:31:42 Adding required dependency autoconf2.5: Selecting version 2.59-2 for installation. 2005/11/25 14:31:42 Adding required dependency automake1.4: Selecting version 1.4p6-2 for installation. 2005/11/25 14:31:42 Adding required dependency automake1.9: Selecting version 1.9.6-1 for installation. 2005/11/25 14:31:42 Adding required dependency libtool1.5: Selecting version 1.5.20-2 for installation. 2005/11/25 14:31:42 Adding required dependency openssl097: Selecting version 0.9.7i-1 for installation. 2005/11/25 14:31:42 Adding required dependency sysvinit: Selecting version 2.84-4 for installation. [...] 2005/11/25 14:32:04 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/autoconf/autoconf-devel/autoconf-devel-2.59-2.tar.bz2 2005/11/25 14:32:04 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/autoconf/autoconf-stable/autoconf-stable-2.13-6.tar.bz2 2005/11/25 14:32:04 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/autoconf/autoconf2.1/autoconf2.1-2.13-1.tar.bz2 2005/11/25 14:32:05 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/autoconf/autoconf2.5/autoconf2.5-2.59-2.tar.bz2 2005/11/25 14:32:09 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/automake/automake-1.7.9-2.tar.bz2 2005/11/25 14:32:09 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/automake/automake-devel/automake-devel-1.9.2-2.tar.bz2 2005/11/25 14:32:09 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/automake/automake-stable/automake-stable-1.4p6-3.tar.bz2 2005/11/25 14:32:09 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/automake/automake1.4/automake1.4-1.4p6-2.tar.bz2 2005/11/25 14:32:12 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/automake/automake1.9/automake1.9-1.9.6-1.tar.bz2 2005/11/25 14:32:16 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/clear/clear-1.0-2.tar.bz2 2005/11/25 14:32:16 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/cygwin-doc/cygwin-doc-1.4-3.tar.bz2 2005/11/25 14:32:23 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/docbook-xsl/docbook-xsl-1.69.1-1.tar.bz2 2005/11/25 14:32:52 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/glib/glib-1.2.10-3.tar.bz2 2005/11/25 14:32:53 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/glib/glib-devel/glib-devel-1.2.10-3.tar.bz2 2005/11/25 14:32:54 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/gtk-doc/gtk-doc-1.3-1.tar.bz2 2005/11/25 14:32:57 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/guile/guile-1.6.7-4.tar.bz2 2005/11/25 14:32:58 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/guile/guile-devel/guile-devel-1.6.7-4.tar.bz2 2005/11/25 14:33:03 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/guile/guile-doc/guile-doc-1.6.7-4.tar.bz2 2005/11/25 14:33:04 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/intltool/intltool-0.33-1.tar.bz2 2005/11/25 14:33:05 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/guile/libguile12/libguile12-1.6.7-4.tar.bz2 2005/11/25 14:33:11 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/_obsolete/libpcre/libpcre-4.1-2.tar.bz2 2005/11/25 14:33:11 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/libtool/libtool-1.5b-2.tar.bz2 2005/11/25 14:33:11 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/libtool/libtool-devel/libtool-devel-1.5.10-2.tar.bz2 2005/11/25 14:33:11 Installing file://G:\NewZealand\mirrors.rcn.net\pub\sourceware\cygwin/release/libtool/libtool-stable/libtool-stable-1.4.3-3.tar.bz2 2005/11/25 14:33:1