This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fw: After new install, start in /usr/bin/{myname} not in /home/{myname}

Hello, Robert :)

I've just tracked this problem. Here is what I've found:

First of all the problem will appear on Win9x/ME only.
In version 1.18 of mkpasswd.c the following change was

-  if (passed_home_path[0] == '\0')
-      strcpy (passed_home_path, "/home/");

    /* This takes Windows 9x/ME into account. */
    if (GetVersion () >= 0x80000000)

passed_home_path is initially an empty string and then
if the option -p is passed to mkpasswd, passed_home_path
is assigned the value of this option. Now here is
how setup.exe invokes mkpasswd:

   if (!uexists ("/etc/passwd"))
     fprintf (p, "bin\\mkpasswd -l > etc\\passwd\n");

There is no sync between the setup.exe behaviour and
the new mkpasswd behaviour.

Robert Collins wrote:

> There is apparently a bug in mkpasswd. (I was tracking to see if
> setup.exe was the culprit).
> On this machine (and others have been reported too) mkpasswd returns a
> bad home path, which leads to somewhat strange behaviour.
> The two attached cygchecks, from Fergus, show the environment with a bad
> /etc/passwd (.chk) and with a good one (.out).
> Hopefully this gives a clue as to why mkpasswd misbehaves, I haven't had
> time to look at source yet.
> Rob
> ===
> ----- Original Message -----
> From: "fergus at bonhard dot uklinux dot net"
> <>
> To: "Robert Collins" <>
> Cc: <>
> Sent: Monday, January 28, 2002 12:40 AM
> Subject: Re: After new install, start in /usr/bin/{myname} not in
> /home/{myname}
>>>As for the incorrect /etc/passwd creation (which is IMO the actual
> fault
>>>you are seeing) can you send me the output of "mkpasswd -l"?
>>Hey: interesting. Look at this:
>>~> mkpasswd -l
>>            Fergus::500:544::Fergus:/bin/bash
>>~> cat /etc/passwd
>>            Fergus::500:544::/home/Fergus:/bin/bash
>>(This is _after_ I've edited the file /etc/passwd. In "failed setup"
> mode
>>the file /etc/passwd contains exactly the output from mkpasswd -l
> above.)
>>OK. Now I'll see whether I can be more ghelpful in describing what the
>>prototype new setup.exe gives me.

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]