Re: setup installs packages without displaying it

2005-11-26 Thread Yitzchak Scott-Thoennes
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

2005-11-26 Thread Gerrit P. Haase

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

2005-11-25 Thread Brian Dessent
"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

2005-11-25 Thread Gerrit P. Haase

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

2005-11-25 Thread Brian Dessent
"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

2005-11-25 Thread Gerrit P. Haase

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

2005-11-25 Thread Gerrit P. Haase

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

2005-11-25 Thread Brian Dessent
"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

2005-11-25 Thread Dave Korn
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

2005-11-25 Thread Gerrit P. Haase

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