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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user