On 2017-04-19 15:47, Jon Turney wrote: > On 19/04/2017 16:42, Brian Inglis wrote: >> On 2017-04-19 04:58, Corinna Vinschen wrote: >>> On Apr 16 12:22, Brian Inglis wrote: >>>> Could you please consider having setup-x86{,_64} install Windows >>>> shortcuts to at least the UG .pdf and index.html if present, in >>>> the .../Start Menu/Programs/Cygwin folder? >>>> A Windows URL shortcut to https://cygwin.com would also be helpful >>>> for some. >>> That requires to change setup or to provide a postinstall script. >>> Are you willing to provide the latter?
Darn - hoped you wouldn't ask - attached, and preremove (if not filtered). Both tested on W10 without, and with CYGWINFORALL=-A and elevated/admin rights. Comments or improvements you could suggest, or changes you need made? >> I am not aware of any arguments passed to postinstall scripts, so a >> /etc/postinstall/cygwin-doc.sh would have to check for the folders >> "$(cygpath -APU)"/Cygwin or "$(cygpath -PU)"/Cygwin, cd there, >> mkshortcut(s), then cd back, as mkshortcut does not support folders, >> as far as I can tell. >> The postinstall script would also have to run elevated as admin to >> make shortcuts in AllUsers/ProgramData, from what I have found. >> An /etc/preremove/cygwin-doc.sh script would also have to be >> provided to remove those shortcuts. >> Any problems with that approach or improvements you could suggest? > This needs documenting, but when running postinstall scripts, Cygwin > setup sets the CYGWINFORALL env var to "-A" if installing for "All > Users" [1], for exactly this purpose. > > [1] > https://sourceware.org/git/gitweb.cgi?p=cygwin-setup.git;a=commitdiff;h=c3d07c1372904c915b5895808f2cc6462975901e Thanks Jon - makes things more straightforward. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
#!/bin/bash # /etc/preremove/cygwin-doc.sh - cygwin-doc preremove script. # removes Cygwin Start Menu shortcuts for Cygwin User Guide and API PDF and # HTML, and links to Cygwin web site home page and FAQ # # CYGWINFORALL=-A if remove for All Users # remove local shortcuts for All Users or Current User in # {ProgramData,~/Appdata/Roaming}/Microsoft/Windows/Start Menu/Programs/Cygwin/ cd "$(/bin/cygpath $CYGWINFORALL -P -U)/Cygwin" || exit 2 /bin/rm -f -- "User Guide (PDF).lnk" "User Guide (HTML).lnk" \ "API (PDF).lnk" "API (HTML).lnk" "Home Page.lnk" "FAQ.lnk"
#!/bin/bash # /etc/postinstall/cygwin-doc.sh - cygwin-doc postinstall script. # installs Cygwin Start Menu shortcuts for Cygwin User Guide and API PDF and # HTML if in doc dir, and links to Cygwin web site home page and FAQ # # Assumes you are running setup.exe 2.510.2.2 or newer, executed by /bin/bash # and not /bin/[da]sh (if you are running an older setup.exe, this postinstall # script can't do anything). # # CYGWINFORALL=-A if install for All Users # installs local shortcuts for All Users or Current User in # {ProgramData,~/Appdata/Roaming}/Microsoft/Windows/Start Menu/Programs/Cygwin/ cygp=/bin/cygpath mks=/bin/mkshortcut un=/bin/uname site=https://cygwin.com # check for programs for p in $un $cygp $mks do if [ ! -x $p ] then echo "Can't find program '$p'" exit 2 fi done cygver=$($un -r) # release - numeric version (build info) cygver=${cygver%\(*\)} # strip build info doc=/usr/share/doc/cygwin-$cygver html=$doc/html smpc_dir="$($cygp $CYGWINFORALL -P -U)/Cygwin" for d in $doc $html "$smpc_dir" do if [ ! -d "$d/" ] then echo "Can't find directory '$d'" exit 2 fi done if [ ! -w "$smpc_dir/" ] then echo "Can't write to directory '$smpc_dir'" exit 1 fi # mkshortcut works only in current directory - change to Cygwin Start Menu cd "$smpc_dir" || exit 2 # quit if not found # User Guide PDF & HTML p=$doc/cygwin-ug-net.pdf n="User Guide (PDF)" d="PDF Cygwin User Guide" [ -r $p ] && $mks -n "$n" -d "$d" $p i=$html/cygwin-ug-net/index.html n="User Guide (HTML)" d="HTML Cygwin User Guide" [ -r $i ] && $mks -n "$n" -d "$d" $i # API PDF & HTML p=$doc/cygwin-api.pdf n="API (PDF)" d="PDF Cygwin API Reference" [ -r $p ] && $mks -n "$n" -d "$d" $p i=$html/cygwin-api/index.html n="API (HTML)" d="HTML Cygwin API Reference" [ -r $i ] && $mks -n "$n" -d "$d" $i # Home Page URL h=$site/index.html n="Home Page" d="Cygwin $n" $mks -n "$n" -d "$d" $h # FAQ URL h=$site/faq.html n="FAQ" d="Cygwin Frequently Asked Questions (with answers)" $mks -n "$n" -d "$d" $h
-- 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