Sponsored Content
Full Discussion: Adobe application cleanup
Operating Systems OS X (Apple) Adobe application cleanup Post 302590783 by kleinboy on Tuesday 17th of January 2012 02:05:04 PM
Old 01-17-2012
Adobe application cleanup

I am trying to come up with a universal way of cleaning up after CS5 (and 5.5) installs. The history is this: adobe has a deployment tool called AAMEE that lets you re-package items and deploy them. Unfortunately it's very messy and leaves Application folders (and pieces of the apps) that do not belong.

Here's a more specific example:
Install After effects using package built with AAMEE.

Case 1:
Install After Effects.pkg. (Should only install "/Applications/Adobe After Effects CS5/")

Unfortunately it also adds
"/Applications/Adobe Premier Pro CS5/Adobe Premier Pro CS5.app/" (and a bunch of other app folders, but we will focus on Premier)

The problem is that if Premier was not already installed, the .app bundle is broken. I want to remove the Premier folder and contents from /Applications Simple...remove the directory via a posflight script, unix command, etc. BUT, if only it were that simple.

Case 2:
Install Premier.pkg (AAMEE package)
Install After Effects.ppkg (AAMEE package)

If I fixed this the "easy way", I would have just deleted the desired Premier Pro application. Not my intended effect. This is just one folder example. There are many more (onlocation, soudbooth, etc). So, I started thinking "How do I know which directories are intentional and which ones are unintentional due to AAMEE not being all that smart?"

The only thing I can find is that EVERY that lack lacks info.plist in the app bundle (if the .app bundle even exists) in $appname.app/Contents/Info.plist is bad. If I loop though Applications looking for CS5 folders, then I should be able to figure out which CS5 folders contain working apps.

A working app always has Info.plist which exists in /Applications/"$AppName"\ CS5/"$AppName".app/Contents

It does not exist in"/Applications/Adobe Premiere Pro CS5/Adobe Premiere Pro CS5.app/Contents/" (which was a "bad" install by AAMEE)

If that is true for all unintended of the bad installs, then this should be easy to script. I just can't figure out how. I want to loop through /Applications finding every folder with CS5 in it. Then in each of those folders, check for the existence of $basepath/Contents/Info.Plist. If it's there, then the folder stays. If it's not, then delete the AppFolder from /Applications. I don't want to supply a list of every app. I'd like to find all CS5 folders, work out the path and appname, then loop though each one testing for the existence of $AppPath/Contents/Info.plist. If it doesn't exist, delete the base CS5 folder in /Applications


Some notes:
The App is always named the same as the base folder. (eg. "/Applications/Adobe Illustrator CS5" will always contain the application "Adobe Illustrator CS5.app").
Info.plist is always in $app/Contents/

Anyone interested in helping me solve this?
 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sendmail cleanup

What is the correct procedures to clean up /var/spool/mqueue? Any help appreciated. This directory gets really clogged up at times. :( :( (1 Reply)
Discussion started by: thomi39
1 Replies

2. AIX

Login ID cleanup

Hello I have many old IDs on my AIX and would like to know the simplest way of knowing the last time an ID was used. I am familiar with the "last" command. Thanks for any info :) (1 Reply)
Discussion started by: MILLERJ62
1 Replies

3. Shell Programming and Scripting

Help with cleanup

I am trying to add a unique string to a variable to prevent some name space collisions. DATAFILE=/u001/app/unica/affinium644/campaign/partitions/limited/tmp/ebf9aaah.t~# DATETIME=`date +%Y%m%d_%H%M%S` echo $DATAFILE > tmpnme.txt sed 's_/_ _g' tmpnme.txt > tmpnme2.txt DATA=$(cat tmpnme2.txt)... (2 Replies)
Discussion started by: whdr02
2 Replies

4. Shell Programming and Scripting

Cleanup script

Hi! I would like to write a script which remove some files, all beginning with the same prefix : prefix.1 doc/prefix.2 ../prefix.3 etc. So, I would create a file and chmod it executable. But I dont know how to pass a variable to a script. I would like to write something like ... (2 Replies)
Discussion started by: tipi
2 Replies

5. Solaris

/home cleanup

Hi All, I have this script for linux on cleaning up orphaned folder. But I need to use this on solaris 8/9/10 for user in $(ls | grep -v lost+found) ; do id $user >/dev/null 2>&1 if ] then ls -ld $user grep $user /etc/passwd fi done Can someone please convert this script? ... (1 Reply)
Discussion started by: itik
1 Replies

6. Programming

Application Cleanup during Linux Shutdown

I'm trying to do some cleanup (write open files) when Linux shuts down. I thought the right method would be to trap SIGTERM and do the necessary processing. Here's my sample code: #include <stdio.h> // for File I/O #include <signal.h> // for signals #include <unistd.h> // for sleep() void... (6 Replies)
Discussion started by: whatisron
6 Replies

7. Red Hat

How to Cleanup Multipathing

I have a server running redhat 5.5 and it has one SAN device presented to it as LUN9. How can I clean up the remaining entries. I cannot afford to interupt the service. Please assist. # multipath -l mpath0 (36000097000019260298953666633436) dm-11 EMC,SYMMETRIX \_ round-robin 0 \_ 2:0:0:9 ... (2 Replies)
Discussion started by: Tirmazi
2 Replies
history(n)					       Provides a history for Entry widgets						history(n)

__________________________________________________________________________________________________________________________________________________

NAME
history - Provides a history for Entry widgets SYNOPSIS
package require Tcl 8.4 package require Tk 8.4 package require history ?0.1? ::history::init pathName ?length? ::history::remove pathName ::history::add pathName text ::history::get pathName ::history::clear pathName ::history::configure pathName option ?value? bell _________________________________________________________________ DESCRIPTION
This package provides a convenient history mechanism for Entry widgets. The history may be accessed with the up and down arrow keys. ::history::init pathName ?length? Arranges to remember the history of the named Entry widget. An optional length determines the number of history entries to keep. This may be changed later with ::history::configure. History entries must be added with the ::history::add command before they can be seen. ::history::remove pathName Forgets all history entries for the Entry pathName and removes the history bindings. ::history::add pathName text This command is used to add history entries to an Entry that has previously had ::history::init called on it. This command should be called from your Entry handler with the contents of the entry (or whatever you wish to add to the history). ::history::get pathName This command returns a list containing the history entries for the Entry pathName ::history::clear pathName This command clears the history list for the named Entry. ::history::configure pathName option ?value? This command queries or sets configuration options. Currently the options recognized are length and alert. Setting the length deter- mines the number of history entries to keep for the named Entry. Alert specifies the command to run when the user reaches the end of the history, it defaults to bell entry .e bind .e <Return> [list ProcessEntry %W] ::history::init .e pack .e proc ProcessEntry {w} { set text [$w get] if {$text == ""} { return } ::history::add $w $text puts $text $w delete 0 end } KEYWORDS
entry, history history 0.1 history(n)
All times are GMT -4. The time now is 12:57 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy