setup changes my mounts
Karl M
karlm30@hotmail.com
Tue Mar 23 17:11:00 GMT 2004
Hi All...
I think that because setup can work correctly no matter what mode the mounts
are set to, it
should leave them alone. On all but the first install, it probably should
not ask about the mount
information nor change it. This would be consistent with not re-asking about
the shortcuts and
such.
Thanks,
...Karl
>From: Igor Pechtchanski
>Reply-To: cygwin@cygwin.com
>To: Dave Korn
>CC: cygwin@cygwin.com
>Subject: RE: setup changes my mounts
>Date: Tue, 23 Mar 2004 09:22:51 -0500 (EST)
>
>On Tue, 23 Mar 2004, Dave Korn wrote:
>
> > > -----Original Message-----
> > > From: cygwin-owner On Behalf Of Larry Hall
> > > Sent: 23 March 2004 04:51
> >
> > > this isn't "fixable". PTC ;-) FWIW, I found the code for this in
> > > do_install_thread() in install.cc. The code reads:
> > >
> > >
> > > create_mount ("/", get_root_dir (), istext, issystem);
> > > create_mount ("/usr/bin", cygpath ("/bin"), istext, issystem);
> > > create_mount ("/usr/lib", cygpath ("/lib"), istext, issystem);
> > > set_cygdrive_flags (istext, issystem);
> > >
> > > The parameters for setting the mount type and the scope come
> > > from settings in setup itself, not from any previous registry entries.
> >
> > I disagree. The setting for istext comes just a few lines above the
>part
> > you quoted:
> >
> > int istext = (root_text == IDC_ROOT_TEXT) ? 1 : 0;
> >
> > Now root_text is used in root.cc to set/get the state of the radio
>button on
> > the "Select Root Install Directory" page. grep suggests that root_text
>is
> > initialised in mount.cc/read_mounts():
> >
> > void
> > read_mounts ()
> > {
> > [...snip...]
> > /* Loop through subkeys */
> > [...snip...]
> > for (int issystem = 0; issystem <= 1; issystem++)
> > {
> > snprintf (buf, sizeof(buf), "Software\\%s\\%s\\%s",
> > CYGWIN_INFO_CYGNUS_REGISTRY_NAME,
> > CYGWIN_INFO_CYGWIN_REGISTRY_NAME,
> > CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME);
> >
> > HKEY key = issystem ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
> > if (RegCreateKeyEx (key, buf, 0, (char *)"Cygwin", 0,
>KEY_ALL_ACCESS,
> > 0, &key, &disposition) != ERROR_SUCCESS)
> > break;
> > [...snip...]
> > res = RegEnumKeyEx (key, i, aBuffer, &posix_path_size, NULL,
> > NULL, NULL, NULL);
> > [...snip...]
> > if (m->posix == "/")
> > {
> > root_here = m;
> > if (m->istext)
> > root_text = IDC_ROOT_TEXT;
> > else
> > root_text = IDC_ROOT_BINARY;
> > [...snip...]
> >
> > and the code above quite clearly appears to be looking through the
>registry
> > for the current mount state.
> >
> > So it is actually the case that the settings DO come from the
>registry;
> > the problem is that the setting for the root directory is
>indiscriminately
> > applied to the root directory, the /usr/bin and /usr/lib mountpoints,
>and
> > the cygdrive path.
> >
> > I'm sure it makes sense to keep /usr/bin and /usr/lib in the same mode
>as
> > the root dir, but I can't see any intrinsic reason why cygdrive should
>be
> > forced to the same mode. I dunno whether it would make more sense to
>offer
> > separate radio buttons for the root dir mode and the cygdrive mode, or
> > whether it should just preserve the existing cygdrive mode and only
> > set/reset the /, /usr/bin and /usr/lib modes.
> > cheers,
> > DaveK
>
>The latter, IMO. I'll see if I can whip up a patch... Won't be right
>away, though...
> Igor
>--
> http://cs.nyu.edu/~pechtcha/
> |\ _,,,---,,_
>ZZZzz /,`.-'`' -. ;-;;,_
> |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
> '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
>
>"I have since come to realize that being between your mentor and his route
>to the bathroom is a major career booster." -- Patrick Naughton
>
>--
>Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
>Problem reports: http://cygwin.com/problems.html
>Documentation: http://cygwin.com/docs.html
>FAQ: http://cygwin.com/faq/
>
_________________________________________________________________
Is your PC infected? Get a FREE online computer virus scan from McAfee®
Security. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list