Web lists-archives.com

Re: mkshortcut fails when run from setup, postinstall/cygwin-doc.sh - not otherwise




On 2017-12-20 05:59, Enrique Perez-Terron wrote:
> Lately, whenever I run setup (x86), my /var/log/setup.log.full contains:
>  2017/12/20 03:07:44 running: C:\cygwin\bin\bash.exe --norc --noprofile
> "/etc/postinstall/cygwin-doc.sh"
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/User Guide (PDF).lnk" failed; does the target directory
> exist?
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/User Guide (HTML).lnk" failed; does the target directory
> exist?
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/API (PDF).lnk" failed; does the target directory exist?
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/API (HTML).lnk" failed; does the target directory exist?
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/Home Page.lnk" failed; does the target directory exist?
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/FAQ.lnk" failed; does the target directory exist?
>  2017/12/20 03:07:45 abnormal exit: exit code=3
> Please notice the extra C:/ in front of the target link name.
> So I have added a line "set -x" at the top in  postinstall/cygwin-doc.sh, and
> the relevant section becomes
>  + read target name desc
>  + '[' -r ']'
>  + /bin/mkshortcut -A -P -n 'Cygwin/User Guide (PDF)' -d 'Cygwin User Guide PDF'
> -- /usr/share/doc/cygwin-doc/cygwin-ug-net.pdf
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/User Guide (PDF).lnk" failed; does the target directory
> exist?
>  + read target name desc
>  + '[' -r ']'
>  + /bin/mkshortcut -A -P -n 'Cygwin/User Guide (HTML)' -d 'Cygwin User Guide
> HTML' -- /usr/share/doc/cygwin-doc/html/cygwin-ug-net/index.html
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/User Guide (HTML).lnk" failed; does the target directory
> exist?
>  + read target name desc
>  + '[' -r ']'
>  + /bin/mkshortcut -A -P -n 'Cygwin/API (PDF)' -d 'Cygwin API Reference PDF' --
> /usr/share/doc/cygwin-doc/cygwin-api.pdf
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/API (PDF).lnk" failed; does the target directory exist?
>  + read target name desc
>  + '[' -r ']'
>  + /bin/mkshortcut -A -P -n 'Cygwin/API (HTML)' -d 'Cygwin API Reference HTML'
> -- /usr/share/doc/cygwin-doc/html/cygwin-api/index.html
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/API (HTML).lnk" failed; does the target directory exist?
>  + read target name desc
>  + read target name desc
>  + /bin/mkshortcut -A -P -n 'Cygwin/Home Page' -d 'Cygwin Home Page Link' -a
> https://cygwin.com/index.html -- /bin/cygstart
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/Home Page.lnk" failed; does the target directory exist?
>  + read target name desc
>  + /bin/mkshortcut -A -P -n Cygwin/FAQ -d 'Cygwin Frequently Asked Questions
> Link' -a https://cygwin.com/faq.html -- /bin/cygstart
>  mkshortcut: Saving "/cygdrive/c/ProgramData/Microsoft/Windows/Start
> Menu/Programs/C:/cygwin/FAQ.lnk" failed; does the target directory exist?
> (by the way -- this reveals another bug too: The script says "[ -r $t ] && $mks
> ..." where I am sure it should be "[ -r $target ] && $mks ...")
> (and again btw, I am not sure bash should count "[ -r ]" as a true statement)
> The script issues mkshortcut commands with sane arguments, no extra "C:/" in there.
> So I just tried to run the script from an elevated-privilege mintty shell:
>  $ CYGWINFORALL=-A /bin/bash /etc/postinstall/cygwin-doc.sh
> But then it does NOT fail, and the shortcuts do get installed -- they were not
> present before.

CYGWINFORALL=-A requires elevation or security changes to install for all users.
mkshortcut may be defaulting something incorrectly when -A -P is specified
without elevation?
Patch submitted for variable typo - thanks for catching and reporting.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple