This is the mail archive of the
mailing list for the Cygwin project.
Re: Postinstall for mintty fails when installing "just for me"
On 17 August 2010 20:12, Buchbinder, Barry (NIH/NIAID) [E] wrote:
> Corinna Vinschen sent the following at Tuesday, August 17, 2010 4:49 AM
>>On Aug 17 06:52, Andy Koppe wrote:
>>> On 17 August 2010 02:26, Buchbinder, Barry wrote:
>>> > $ bash --norc --noprofile /etc/postinstall/mintty.sh
>>> > /bin/mkdir: cannot create directory `/c/Documents and Settings/All
>>> > Users/Start Menu/Programs/Cygwin': Permission denied
>>> > mkshortcut: Saving "C:\Documents and Settings\All Users\Start Menu\Programs\Cygwin\mintty.lnk" failed; does the target directory exist?
>>> > /bin/chmod: cannot access `/c/Documents and Settings/All Users/Start
>>> > Menu/Programs/Cygwin/mintty.lnk': No such file or directory echo $?
>>> > 1
>>> Hmm, the test at the top of the script is meant to avoid that, by
>>> checking whether the 'All Users/Start Menu/Programs' folder is
>>> writable. Any idea why that's saying yes when apparently it isn't
>>I tried your script and it works fine for me. If I'm running as admin in
>>a UAC-restricted shell, the test fails as expected.
>>The problem is, we don't know anything about your environment, Barry.
>>cygcheck output as requested by http://cygwin.com/problems.html would be
> Please note:
> $ cygcheck -s -v -r > cygcheck.out
> /usr/bin/cygrunsrv: warning: OpenService failed for 'TapiSrv': Win32 error 5
> Access is denied.
>>As is getfacl/cacls output for the "/c/Documents and
>>Settings/All Users/Start Menu/Programs" directory.
> $ getfacl '/c/Documents and Settings/All Users/Start Menu/Programs'
> # file: /c/Documents and Settings/All Users/Start Menu/Programs
> # owner: BBuchbinder
> # group: Domain Users
Hmm, so you've got 'rwx' permissions on that directory yet you can't
create a directory in it. That just leaves me puzzled.
> $ cacls 'C:\Documents and Settings\All Users\Start Menu\Programs'
> C:\Documents and Settings\All Users\Start Menu\Programs BUILTIN\Administrators:(OI)(CI)F
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂCREATOR OWNER:(OI)(CI)(IO)F
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂNT AUTHORITY\SYSTEM:(OI)(CI)F
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂBUILTIN\Users:(OI)(CI)R
Not knowing enough about ACLs: does the BUILTIN\Users, which says
read-only, override the CREATOR OWNER entry, which grants full access?
>>> Is there a proper way for a postinstall script to find out whether
>>> it's an install for all users or "Just Me"?
>>Hmm, afaik no.
>>You could try to write to All Users first and if that fails, write to
>>the user's own Programs.
Sounds like the way to go (for the moment anyway), especially now that
mkshortcut correctly reports success.
>>But, maybe we should define a couple of useful, installation-specific
>>arguments for postinstall scripts and change setup accordingly?
I think that would be useful. Looking at the source in script.cc, the
Cygwin root is passed as a variable already.
> I should have started by saying that, as a practical matter, this
> is not a problem for me. ÂI have a minty shortcut and renaming
> /etc/postinstall/minty.sh to /etc/postinstall/minty.sh.done stops
> the error message from coming up.
Yep, that's the right workaround.
> And thanks for this upgrade of setup. ÂFor some time now the
> "pending" view had the same two empty packages appear each time
> I ran setup. ÂVery annoying. ÂNow, they no longer show up.
Dave Korn fixed that one. A relief indeed.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple