aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2020-03-19 13:54:10 +0000
committerJon Turney <jon.turney@dronecode.org.uk>2020-03-21 17:16:53 +0000
commit6c8392d651f4bbd9f7f8603e466ce4f91ca506c5 (patch)
tree09af4185ab80b5eaf2c0c6a517c2b152c56a6f64
parent6b0c1e7cc8e4b0568f00c8444fff8da67688add3 (diff)
downloadnewlib-6c8392d651f4bbd9f7f8603e466ce4f91ca506c5.zip
newlib-6c8392d651f4bbd9f7f8603e466ce4f91ca506c5.tar.gz
newlib-6c8392d651f4bbd9f7f8603e466ce4f91ca506c5.tar.bz2
Cygwin: Use a separate Start Menu folder for WoW64 installs
This aligns the shortcuts to documentation with the setup changes in https://sourceware.org/pipermail/cygwin-apps/2020-March/039873.html v2: Create/remove the Start Menu directory as needed/possible Correctly use that directory when making shortcuts
-rwxr-xr-xwinsup/doc/etc.postinstall.cygwin-doc.sh12
-rwxr-xr-xwinsup/doc/etc.preremove.cygwin-doc.sh5
2 files changed, 10 insertions, 7 deletions
diff --git a/winsup/doc/etc.postinstall.cygwin-doc.sh b/winsup/doc/etc.postinstall.cygwin-doc.sh
index de7d9e0..97f88a1 100755
--- a/winsup/doc/etc.postinstall.cygwin-doc.sh
+++ b/winsup/doc/etc.postinstall.cygwin-doc.sh
@@ -37,10 +37,11 @@ do
done
# Cygwin Start Menu directory
-smpc_dir="$($cygp $CYGWINFORALL -P -U --)/Cygwin"
+case $(uname -s) in *-WOW*) wow64=" (32-bit)" ;; esac
+smpc_dir="$($cygp $CYGWINFORALL -P -U --)/Cygwin${wow64}"
-# check Cygwin Start Menu directory exists
-[ -d "$smpc_dir/" ] || exit 0
+# ensure Cygwin Start Menu directory exists
+/usr/bin/mkdir -p "$smpc_dir"
# check Cygwin Start Menu directory writable
if [ ! -w "$smpc_dir/" ]
@@ -52,7 +53,7 @@ fi
# create User Guide and API PDF and HTML shortcuts
while read target name desc
do
- [ -r "$target" ] && $mks $CYGWINFORALL -P -n "Cygwin/$name" -d "$desc" -- $target
+ [ -r "$target" ] && $mks $CYGWINFORALL -P -n "Cygwin${wow64}/$name" -d "$desc" -- $target
done <<EOF
$doc/cygwin-ug-net.pdf User\ Guide\ \(PDF\) Cygwin\ User\ Guide\ PDF
$html/cygwin-ug-net/index.html User\ Guide\ \(HTML\) Cygwin\ User\ Guide\ HTML
@@ -63,9 +64,8 @@ EOF
# create Home Page and FAQ URL link shortcuts
while read target name desc
do
- $mks $CYGWINFORALL -P -n "Cygwin/$name" -d "$desc" -a $target -- $launch
+ $mks $CYGWINFORALL -P -n "Cygwin${wow64}/$name" -d "$desc" -a $target -- $launch
done <<EOF
$site/index.html Home\ Page Cygwin\ Home\ Page\ Link
$site/faq.html FAQ Cygwin\ Frequently\ Asked\ Questions\ Link
EOF
-
diff --git a/winsup/doc/etc.preremove.cygwin-doc.sh b/winsup/doc/etc.preremove.cygwin-doc.sh
index 5e47eb5..b098e6d 100755
--- a/winsup/doc/etc.preremove.cygwin-doc.sh
+++ b/winsup/doc/etc.preremove.cygwin-doc.sh
@@ -26,7 +26,8 @@ do
done
# Cygwin Start Menu directory
-smpc_dir="$($cygp $CYGWINFORALL -P -U --)/Cygwin"
+case $(uname -s) in *-WOW*) wow64=" (32-bit)" ;; esac
+smpc_dir="$($cygp $CYGWINFORALL -P -U --)/Cygwin${wow64}"
# check Cygwin Start Menu directory still exists
[ -d "$smpc_dir/" ] || exit 0
@@ -52,3 +53,5 @@ $site/index.html Home\ Page Cygwin\ Home\ Page\ Link
$site/faq.html FAQ Cygwin\ Frequently\ Asked\ Questions\ Link
EOF
+# remove Cygwin Start Menu directory if empty
+/usr/bin/rmdir --ignore-fail-on-non-empty "${smpc_dir}"