Fixed install of zip app downloads with sub-directories.

- Discovered some applications, packaged in zip file format, would
  extract to a sub-directory. This was problematic because all zip app
  installs previously assumed the app would be unzipped in the current
  directory. This fixes that situation where an app might be located in
  a sub-directory or several sub-directory deep.
- The easiest fix for this problem would have been to the `-j` option
  for *junk* paths via unzip: "The archive's directory structure is not
  recreated; all files are deposited in the extraction directory (by
  default, the current one)." ...but some zip files, when unzipped, run
  executable code that creates the sub-directory structure dynamically
  which makes the `-j` option not viable.
- The solution used to fix this problem uses `find` to determine if the
  application to install is in a sub-directory. If so, then the app is
  copied to the root folder (i.e. $MAC_OS_WORK_PATH) so the script can
  install as it has done in the past. Because the file copy is executed
  only if `find` finds something, this makes the copy optional for sub-
  directories and is a no-op for standard zip files with no sub-
  directories.

Discovered that some zip app downloads use executable scripts to
  build for the particular machine when unzipped.

http://earthlingsoft.net/UnicodeChecker/index.html
This commit is contained in:
Brooke Kuhlmann
2017-01-08 09:52:51 -07:00
parent d9440953ac
commit 8af0c44eba

View File

@@ -191,6 +191,7 @@ install_zip_app() {
printf "Preparing...\n"
cd "$MAC_OS_WORK_PATH"
unzip -q "$download_file"
find . -type d -name "$app_name" -print -exec cp -pR {} . > /dev/null 2>&1 \;
)
install_app "$MAC_OS_WORK_PATH" "$app_name"